Rubber-stamped by Mark Rowe.
[WebKit-https.git] / WebCore / ChangeLog
1 2009-02-23  Xan Lopez  <xan@gnome.org>
2
3         Reviewed by Alexey Proskuryakov.
4
5         https://bugs.webkit.org/show_bug.cgi?id=22624
6         [SOUP][GTK] Need API to get SoupSession from WebKit.
7
8         Allow to retrieve the Soup session and modify the code to take
9         into account users changing features on it.
10
11         * platform/network/ResourceHandle.h:
12         * platform/network/soup/CookieJarSoup.cpp:
13         (WebCore::defaultCookieJar):
14         (WebCore::setDefaultCookieJar):
15         * platform/network/soup/CookieJarSoup.h:
16         * platform/network/soup/ResourceHandleSoup.cpp:
17         (WebCore::createSoupSession):
18         (WebCore::ensureSessionIsInitialized):
19         (WebCore::ResourceHandle::startHttp):
20         (WebCore::ResourceHandle::cancel):
21         (WebCore::ResourceHandle::defaultSession):
22
23 2009-02-23  Xan Lopez  <xan@gnome.org>
24
25         Reviewed by Alexey Proskuryakov.
26
27         https://bugs.webkit.org/show_bug.cgi?id=22624
28         [SOUP][GTK] Need API to get SoupSession from WebKit.
29
30         Remove CURL support.
31
32         * GNUmakefile.am:
33
34 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
35
36         Reviewed by Mark Rowe.
37
38         Test: fast/dom/empty-hash-and-search.html
39
40         https://bugs.webkit.org/show_bug.cgi?id=21147
41         hash property returns incorrect value for links w/o hash
42
43         Make hash() and search() behavior for empty and missing parts match IE and Firefox.
44
45         * platform/KURL.cpp:
46         (WebCore::KURL::query): Changed to return query without '?', as it is already done for ref().
47         (WebCore::KURL::prettyURL): Append the query with the question mark.
48
49         * page/Location.cpp:
50         (WebCore::Location::search): Return an empty string if query is empty or missing.
51         (WebCore::Location::hash): Return an empty string for empty hashes, not only missing ones.
52
53         * dom/WorkerLocation.cpp:
54         (WebCore::WorkerLocation::search):
55         (WebCore::WorkerLocation::hash):
56         Match document.location fixes above.
57
58         * html/HTMLAnchorElement.cpp:
59         (WebCore::HTMLAnchorElement::hash):
60         (WebCore::HTMLAnchorElement::search):
61         Return an empty string for empty and missing parts.
62
63 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
64
65         Reviewed by Darin Adler.
66
67         https://bugs.webkit.org/show_bug.cgi?id=20184
68         SELECT with no name generates invalid query string
69
70         Test: fast/forms/select-no-name.html
71
72         * html/HTMLSelectElement.cpp:
73         (WebCore::HTMLSelectElement::appendFormData): Added a check for empty name.
74
75 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
76
77         Apply review comments for the previous check-in (forgot to save the file, oops).
78
79         * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren):
80
81 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
82
83         Reviewed by Darin Adler.
84
85         https://bugs.webkit.org/show_bug.cgi?id=15707
86         Crash when manipulating document from within an iframe onload function
87
88         Test: fast/dom/onload-open.html
89
90         * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren): Protect the container and
91         the current node, because anything can happen when dispatching events.
92
93 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
94
95         Reviewed by Darin Adler.
96
97         https://bugs.webkit.org/show_bug.cgi?id=18970
98         Numerically named input fields cause document.forms loop problems
99
100         Test: fast/forms/numeric-input-name.html
101
102         * bindings/scripts/CodeGeneratorJS.pm: Try index getter before name getter, even if the
103         latter overrides properties.
104
105 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
106
107         Reviewed by Sam Weinig.
108
109         https://bugs.webkit.org/show_bug.cgi?id=24059
110         Tokenizer::write() return value is never used
111
112         * dom/Tokenizer.h:
113         * dom/XMLTokenizer.cpp:
114         (WebCore::XMLTokenizer::write):
115         * dom/XMLTokenizer.h:
116         * html/HTMLTokenizer.cpp:
117         (WebCore::HTMLTokenizer::write):
118         * html/HTMLTokenizer.h:
119         * loader/FTPDirectoryDocument.cpp:
120         (WebCore::FTPDirectoryTokenizer::write):
121         * loader/ImageDocument.cpp:
122         (WebCore::ImageTokenizer::write):
123         * loader/MediaDocument.cpp:
124         (WebCore::MediaTokenizer::write):
125         * loader/PluginDocument.cpp:
126         (WebCore::PluginTokenizer::write):
127         * loader/TextDocument.cpp:
128         (WebCore::TextTokenizer::write):
129         Made write() return void, not bool.
130
131 2009-02-20  Geoffrey Garen  <ggaren@apple.com>
132
133         Reviewed by Sam Weinig.
134
135         Updated for JavaScriptCore changes to timeout checking.
136
137         * bindings/js/JSCustomPositionCallback.cpp:
138         (WebCore::JSCustomPositionCallback::handleEvent):
139         * bindings/js/JSCustomPositionErrorCallback.cpp:
140         (WebCore::JSCustomPositionErrorCallback::handleEvent):
141         * bindings/js/JSCustomSQLStatementCallback.cpp:
142         (WebCore::JSCustomSQLStatementCallback::handleEvent):
143         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
144         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
145         * bindings/js/JSCustomSQLTransactionCallback.cpp:
146         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
147         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
148         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
149         * bindings/js/JSCustomVoidCallback.cpp:
150         (WebCore::JSCustomVoidCallback::handleEvent):
151         * bindings/js/JSCustomXPathNSResolver.cpp:
152         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
153         * bindings/js/JSDOMWindowBase.cpp:
154         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
155         (WebCore::JSDOMWindowBase::commonJSGlobalData):
156         * bindings/js/JSEventListener.cpp:
157         (WebCore::JSAbstractEventListener::handleEvent):
158         * bindings/js/ScheduledAction.cpp:
159         (WebCore::ScheduledAction::executeFunctionInContext):
160         * bindings/js/ScriptController.cpp:
161         (WebCore::ScriptController::evaluate):
162         * bindings/js/WorkerScriptController.cpp:
163         (WebCore::WorkerScriptController::evaluate):
164         (WebCore::WorkerScriptController::forbidExecution):
165         * bindings/objc/WebScriptObject.mm:
166         (-[WebScriptObject callWebScriptMethod:withArguments:]):
167         (-[WebScriptObject evaluateWebScript:]):
168         * bridge/NP_jsobject.cpp:
169         (_NPN_InvokeDefault):
170         (_NPN_Invoke):
171         (_NPN_Evaluate):
172         (_NPN_Construct):
173         * bridge/jni/jni_jsobject.mm:
174         (JavaJSObject::call):
175         (JavaJSObject::eval):
176
177 2009-02-21  Hironori Bono  <hbono@chromium.org>
178
179         Reviewed by Alexey Proskuryakov.
180
181         https://bugs.webkit.org/show_bug.cgi?id=23786
182         [Chromium] line-break characters in a complex text are treated as zero-width spaces
183
184         This change prevents the UniscribeHelper class from treating the line-break characters
185         as whitespaces.
186
187         Tests: fast/text/international/bidi-linebreak-001.html
188                fast/text/international/bidi-linebreak-002.html
189                fast/text/international/bidi-linebreak-003.html
190
191         * platform/graphics/chromium/UniscribeHelper.cpp:
192         (WebCore::UniscribeHelper::adjustSpaceAdvances):
193         Make the UniscribeHelper::adjustSpaceAdvances() function treat all characters in
194         the treatAsSpace() function (e.g. U+0020, U+000A, U+000D, U+00A0) as whitespaces,
195         so does when Chromium renders a simple text.
196
197 2009-02-20  Julien Chaffraix  <jchaffraix@webkit.org>
198
199         Reviewed by Alexey Proskuryakov.
200
201         Bug 23940: Use Document::createElement(const QualifiedName&, bool) when creating a known element inside WebCore
202
203         Document::createElement(const QualifiedName&, bool) does not check for the prefix as opposed the the one taking an AtomicString
204         or Document::createElementNS. This is perfectly fine internally because we know the type of element created and the check is
205         unneeded.
206
207         It also removes the use of an ExceptionCode argument which was here only to check that the prefix check was fine. Finally it
208         enables us to use some generated QualifiedName.
209
210         * bindings/js/JSOptionConstructor.cpp:
211         (WebCore::constructHTMLOptionElement):
212         * dom/Document.cpp:
213         (WebCore::Document::setTitle):
214         * dom/XMLTokenizer.cpp:
215         (WebCore::createXHTMLParserErrorHeader):
216         (WebCore::XMLTokenizer::insertErrorMessageBlock):
217         * editing/CompositeEditCommand.cpp:
218         (WebCore::createBlockPlaceholderElement):
219         * editing/htmlediting.cpp:
220         (WebCore::createTabSpanElement):
221         * html/HTMLSelectElement.cpp:
222         (WebCore::HTMLSelectElement::setLength):
223         * loader/FTPDirectoryDocument.cpp:
224         (WebCore::FTPDirectoryTokenizer::appendEntry):
225         (WebCore::FTPDirectoryTokenizer::createTDForFilename):
226         (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
227         (WebCore::FTPDirectoryTokenizer::createBasicDocument):
228         * loader/ImageDocument.cpp:
229         (WebCore::ImageDocument::createDocumentStructure):
230         * loader/MediaDocument.cpp:
231         (WebCore::MediaTokenizer::createDocumentStructure):
232         * loader/PluginDocument.cpp:
233         (WebCore::PluginTokenizer::createDocumentStructure):
234         * loader/TextDocument.cpp:
235         (WebCore::TextTokenizer::write):
236         * page/Frame.cpp:
237         (WebCore::Frame::selectionComputedStyle):
238         (WebCore::Frame::styleForSelectionStart):
239         Document::createElement(const AtomicString&, ...) to Document::createElement(const QualifiedName&, ...) switch.
240
241         * xml/XPathFunctions.cpp:
242         (WebCore::XPath::FunLang::evaluate): Re-use langAttr instead of creating a new attribute.
243         * page/DragController.cpp:
244         (WebCore::documentFragmentFromDragData): Use the HTMLAnchorElement directly to get rid of the static cast.
245
246 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
247
248         Reviewed by Eric Seidel.
249
250         https://bugs.webkit.org/show_bug.cgi?id=24060
251         Fix up to accommodate for CanvasPixelArray return.
252
253         * platform/graphics/skia/ImageBufferSkia.cpp:
254         (WebCore::ImageBuffer::getImageData): Added an extra data() to call.
255         (WebCore::ImageBuffer::putImageData): Ditto.
256
257 2009-02-20  Eric Carlson  <eric.carlson@apple.com>
258
259         Simon Fraser
260
261         https://bugs.webkit.org/show_bug.cgi?id=24042
262         Bug 24042: MediaPlayer should cache plug-in proxy
263
264         The changes in https://bugs.webkit.org/show_bug.cgi?id=23917 assume that
265         MediaPlayer will always have created the private media player object before
266         the plug-in is instantiated and calls back with the proxy object. This is not
267         true on all platforms because of threading latency, so MediaPlayer should
268         cache the plug-in proxy so it can pass it to the media engine at a later time.
269
270         * platform/graphics/MediaPlayer.cpp:
271         (WebCore::NullMediaPlayerPrivate::setPoster): Null media engine implementation of proxy methods.
272         (WebCore::NullMediaPlayerPrivate::deliverNotification): Ditto.
273         (WebCore::NullMediaPlayerPrivate::setMediaPlayerProxy): Ditto.
274         (WebCore::MediaPlayer::MediaPlayer): Initialize m_playerProxy.
275         (WebCore::MediaPlayer::load): Pass m_playerProxy to newly created engine.
276         (WebCore::MediaPlayer::setMediaPlayerProxy): Cache m_playerProxy.
277         * platform/graphics/MediaPlayer.h: Declare m_playerProxy.
278
279 2009-02-20  Eric Carlson  <eric.carlson@apple.com>
280
281         Simon Fraser.
282
283         https://bugs.webkit.org/show_bug.cgi?id=24063
284         Make it possible for a port to require a user gesture to play/pause an <audio> or <video> element
285
286         * html/HTMLMediaElement.cpp:
287         (WebCore::HTMLMediaElement::HTMLMediaElement):  Rename m_loadRestrictions to m_Restrictions.
288         Initialize m_internalCall.
289         (WebCore::HTMLMediaElement::loadTimerFired): Increment m_internalCall around call to load().
290         (WebCore::HTMLMediaElement::load): Call loadInternal if restrictions check out.
291         (WebCore::HTMLMediaElement::loadInternal): New, guts of old load()
292         (WebCore::HTMLMediaElement::setNetworkState): Fix bug introduced in r40943
293         (WebCore::HTMLMediaElement::play): Call playInternal if restrictions check out.
294         (WebCore::HTMLMediaElement::playInternal): New, guts of old play()
295         (WebCore::HTMLMediaElement::pause): Call pauseInternal if restrictions check out.
296         (WebCore::HTMLMediaElement::pauseInternal): New, guts of old pause()
297         (WebCore::HTMLMediaElement::togglePlayState): Call playInternal/pauseInternal
298         (WebCore::HTMLMediaElement::deliverNotification): Remove unnecessary white space.
299         * html/HTMLMediaElement.h: Rename m_loadRestrictions to m_Restrictions, add m_internalCall,
300         add RequireUserGestureRateChangeRestriction.
301
302 2009-02-20  Darin Fisher  <darin@chromium.org>
303
304         Fix build bustage in FileSystemWin.cpp.
305
306         Need to return CString() instead of 0 since there are now two CString
307         constructors that take a pointer type.
308
309         * platform/win/FileSystemWin.cpp:
310         (WebCore::openTemporaryFile):
311
312 2009-02-20  Dimitri Glazkov  <dglazkov@chromium.org>
313
314         Reviewed by Sam Weinig.
315
316         https://bugs.webkit.org/show_bug.cgi?id=23999
317         Change license headers to accurately reflect code history.
318
319         * platform/ContentType.cpp:
320         * platform/ContentType.h:
321
322 2009-02-18  Dimitri Glazkov  <dglazkov@chromium.org>
323
324         Reviewed by Antti Koivisto.
325
326         https://bugs.webkit.org/show_bug.cgi?id=23999
327         Split off MIME type parsing into its own class.
328
329         * GNUmakefile.am: Added ContentType sources.
330         * WebCore.pro: Ditto.
331         * WebCore.scons: Ditto.
332         * WebCore.vcproj/WebCore.vcproj: Ditto.
333         * WebCore.xcodeproj/project.pbxproj: Ditto.
334         * WebCoreSources.bkl: Ditto.
335         * html/HTMLMediaElement.cpp: Changed to use ContentType.
336         (WebCore::HTMLMediaElement::selectMediaURL):
337         * platform/ContentType.cpp: Added.
338         (WebCore::ContentType::ContentType):
339         (WebCore::ContentType::parameter):
340         (WebCore::ContentType::type):
341         * platform/ContentType.h: Added.
342         (WebCore::ContentType::raw):
343         * platform/MIMETypeRegistry.cpp:
344         * platform/MIMETypeRegistry.h:
345         * platform/graphics/MediaPlayer.cpp:
346         (WebCore::MediaPlayer::load):
347         * rendering/style/ContentData.h: Renamed ContentType to StyleContentType.
348         * rendering/style/RenderStyleConstants.h: Ditto.
349         (WebCore::):
350
351 2009-02-20  Holger Hans Peter Freyther  <zecke@selfish.org>
352
353         Unreviewed build fix.
354
355         Use CString() instead of 0.
356
357         * platform/gtk/FileSystemGtk.cpp:
358         (WebCore::openTemporaryFile):
359         * platform/qt/FileSystemQt.cpp:
360         (WebCore::openTemporaryFile):
361
362 2009-02-20  Gustavo Noronha Silva  <gns@gnome.org>
363
364         Reviewed by Holger Freyther.
365
366         When dealing with local files, use a path instead of an URI. GFile
367         has problems decoding URIs with percent signs on them.
368
369         * platform/network/soup/ResourceHandleSoup.cpp:
370         (WebCore::ResourceHandle::startGio):
371
372 2009-02-20  Gustavo Noronha Silva  <gns@gnome.org>
373
374         Reviewed by Holger Freyther.
375
376         Protect the ResourceHandle instance from being destroyed by
377         didReceiveData inside the GIO readCallback call, so that
378         cancelling caused by scripts is handled correctly.
379
380         * platform/network/soup/ResourceHandleSoup.cpp:
381         (WebCore::readCallback):
382
383 2009-02-20  David Kilzer  <ddkilzer@apple.com>
384
385         Make IconDatabaseNone.cpp compile with -Wunused and pass check-for-exit-time-destructors
386
387         Reviewed by Sam Weinig.
388
389         * loader/icon/IconDatabaseNone.cpp:
390         (WebCore::IconDatabase::defaultDatabaseFilename): Use DEFINE_STATIC_LOCAL().
391         (WebCore::IconDatabase::open): Commented out unused parameter.
392         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto.
393         (WebCore::IconDatabase::iconForPageURL): Ditto.
394         (WebCore::IconDatabase::iconURLForPageURL): Ditto.
395         (WebCore::IconDatabase::defaultIcon): Ditto.
396         (WebCore::IconDatabase::retainIconForPageURL): Ditto.
397         (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
398         (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
399         (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
400         (WebCore::IconDatabase::setEnabled): Ditto.
401         (WebCore::IconDatabase::pageURLMappingCount): Added stub.
402         (WebCore::IconDatabase::retainedPageURLCount): Ditto.
403         (WebCore::IconDatabase::iconRecordCount): Ditto.
404         (WebCore::IconDatabase::iconRecordCountWithData): Ditto.
405
406 2009-02-20  David Kilzer  <ddkilzer@apple.com>
407
408         Add comment to generated code when shadowing a built-in object
409
410         Reviewed by Sam Weinig.
411
412         * bindings/scripts/CodeGeneratorJS.pm: Added comment to
413         generated code output.
414
415 2009-02-20  Avi Drissman  <avi@chromium.org>
416
417         Reviewed by Eric Seidel.
418
419         https://bugs.webkit.org/show_bug.cgi?id=24036
420         Keyboard events need disambiguation on the Linux platform too.
421
422         * platform/chromium/PlatformKeyboardEventChromium.cpp:
423         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
424
425 2009-02-19  Darin Fisher  <darin@chromium.org>
426
427         Reviewed by Eric Seidel.
428
429         https://bugs.webkit.org/show_bug.cgi?id=24046
430
431         Several improvements to CString:
432         1- Make it possible to initialize a CString from a CStringBuffer
433         2- Make it possible to get a CStringBuffer from a CString
434         3- Change CStringBuffer::data() to return a const pointer to ward off mutation
435         4- Remove unused releaseBuffer() methods.
436         5- Make CStringBuffer::create() private to force consumers to get a CStringBuffer from a CString.
437
438         * platform/text/CString.cpp:
439         (WebCore::CString::init):
440         (WebCore::CString::mutableData):
441         (WebCore::CString::newUninitialized):
442         (WebCore::CString::copyBufferIfNeeded):
443         * platform/text/CString.h:
444         (WebCore::CStringBuffer::data):
445         (WebCore::CStringBuffer::length):
446         (WebCore::CStringBuffer::create):
447         (WebCore::CStringBuffer::mutableData):
448         (WebCore::CString::CString):
449         (WebCore::CString::buffer):
450
451 2009-02-19  Dmitry Titov  <dimich@chromium.org>
452
453         Reviewed by Alexey Proskuryakov.
454
455         https://bugs.webkit.org/show_bug.cgi?id=24017
456         Remove some usage of Document in Worker.
457
458         * dom/WorkerContext.h:
459         (WebCore::WorkerContext::userAgent):
460         * dom/Document.cpp:
461         (WebCore::Document::userAgent):
462         * dom/Document.h:
463         * dom/ScriptExecutionContext.h:
464         Added virtual ScriptExecutionContext::userAgent(const KURL&).
465         Document implementation uses FrameLoader::userAgent and
466         WorkerContext receives the string on creation and stores it in a member.
467
468         * dom/Worker.cpp:
469         (WebCore::Worker::Worker):
470         (WebCore::Worker::notifyFinished):
471         * dom/Worker.h:
472         (WebCore::Worker::create):
473         Instead of Document the Worker constructor now gets a ScriptExecutionContext.
474         Start using some methods on SEC (like completeURL() and userAgent()).
475         For others, explicitly case to Document and add a FIXME.
476         Remove Worker::document() too.
477
478 2009-02-20  Gustavo Noronha Silva  <gns@gnome.org>
479
480         Rubber-stamped by Holger Freyther.
481
482         Do not set httpStatus to SOUP_STATUS_OK when serving local files
483         to match other ports' behavior, fixing xmlhttprequest test
484         regressions.
485
486         * platform/network/soup/ResourceHandleSoup.cpp:
487         (WebCore::queryInfoCallback):
488
489 2009-02-19  Dan Bernstein  <mitz@apple.com>
490
491         Reviewed by Sam Weinig.
492
493         - WebCore part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027
494           Do not send loader callbacks during CSS styling
495
496         Undo the iChat-specific quirk added in
497         <http://trac.webkit.org/changeset/41071>. Instead, always suspend memory
498         cache client callbacks during attach() and recalcStyle().
499
500         * WebCore.base.exp: Removed
501         Settings::setNeedsIChatMemoryCacheCallsQuirk().
502         * dom/ContainerNode.cpp:
503         (WebCore::ContainerNode::suspendPostAttachCallbacks): Disable memory
504         cache client callbacks and remember to enable them afterwards if needed.
505         (WebCore::ContainerNode::resumePostAttachCallbacks): Re-enable memory
506         cache client callbacks if they were disabled in
507         suspendPostAttachCallbacks().
508         (WebCore::ContainerNode::attach): Use suspendPostAttachCallbacks() and
509         resumePostAttachCallbacks().
510         * dom/ContainerNode.h: Made suspendPostAttachCallbacks()
511         and resumePostAttachCallbacks() non-static.
512         * dom/Document.cpp:
513         (WebCore::Document::dispatchImageLoadEventsNow): Reverted iChat-specific
514         workaround.
515         * page/Settings.cpp: Removed m_needsIChatMemoryCacheCallsQuirk and
516         related code.
517         (WebCore::Settings::Settings):
518         * page/Settings.h:
519
520 2009-02-19  Holger Hans Peter Freyther  <zecke@selfish.org>
521
522         Unreviewed build fix.
523
524         Build fix after r41092. Make the memoryUsage method
525         public. It will be shadowed by cf/mac and for curl/soup/qt
526         the implementation from ResourceResponseBase will be used.
527
528         * platform/network/ResourceResponseBase.h:
529         (WebCore::ResourceResponseBase::memoryUsage):
530
531 2009-02-19  Beth Dakin  <bdakin@apple.com>
532
533         Reviewed by Dave Hyatt.
534
535         Fix for <rdar://problem/6077775> Should be able to specify
536         inactive ::selection color
537
538         This patch makes the ::selction pseudo-element work with
539         the :window-inactive pseudo type. This was, a user can specify a
540         different ::selection style when a window is inactive.
541
542         * css/CSSStyleSelector.cpp:
543         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
544         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
545         * rendering/RenderObject.cpp:
546         (WebCore::RenderObject::selectionBackgroundColor):
547         (WebCore::RenderObject::selectionForegroundColor):
548
549 2009-02-19  Sam Weinig  <sam@webkit.org>
550
551         Reviewed by Beth Dakin.
552
553         Patch for https://bugs.webkit.org/show_bug.cgi?id=24044
554         Update querySelector/querySelectorAll to match the latest spec
555
556         Update querySelector and querySelectorAll to match the latest version
557         of the Selectors API spec.  We now stringify null and undefined to "null"
558         and "undefined" respectively instead of to "".
559
560         Test: fast/dom/SelectorAPI/undefined-null-stringify.html
561
562         * dom/Document.idl:
563         * dom/DocumentFragment.idl:
564         * dom/Element.idl:
565
566 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
567
568         Reviewed by Geoffrey Garen.
569
570         https://bugs.webkit.org/show_bug.cgi?id=23732
571         Rework CachedResource overhead accounting to allow platforms to diverge
572         in numbers.
573
574         * loader/CachedResource.cpp:
575         (WebCore::CachedResource::overheadSize): Changed to ask ResourceResponse
576         for its size and to use actual URL size.
577         * platform/network/ResourceResponseBase.h:
578         (WebCore::ResourceResponseBase::size): Added default size method.
579         * platform/network/cf/ResourceResponse.h:
580         (WebCore::ResourceResponse::size): Added Win/CF size method
581         * platform/network/mac/ResourceResponse.h:
582         (WebCore::ResourceResponse::size): Added Mac size method.
583
584 2009-02-19  Anders Carlsson  <andersca@apple.com>
585
586         Reviewed by Kevin Decker.
587
588         - Fix for <rdar://problem/6604968>
589
590         On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
591         after the call to -[NSView displayRectIgnoringOpacity:inContext:].
592
593         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
594         (WebCore::MediaPlayerPrivate::paint):
595
596 2009-02-19  David Hyatt  <hyatt@apple.com>
597
598         Fix a bug where reflections didn't work properly if opacity was < 1.  Make sure that replaced elements
599         also consider reflections to be part of their visual overflow.  This had already been done for blocks
600         and lines, but it wasn't being done yet for replaced elements.
601
602         Also make sure that when the object being reflected has opacity < 1 that we don't end up popping the outer
603         transparency layer early.  Since the reflected object paints twice, we don't want to end the transparency
604         layer it pushed until we're done painting the real object (rather than the reflection).
605
606         Reviewed by Dan Bernstein
607
608         Added fast/reflections/reflection-masks-opacity.html
609
610         * rendering/RenderLayer.cpp:
611         (WebCore::RenderLayer::paintLayer):
612         * rendering/RenderPartObject.cpp:
613         (WebCore::RenderPartObject::layout):
614         * rendering/RenderReplaced.cpp:
615         (WebCore::RenderReplaced::layout):
616         (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect):
617         * rendering/RenderReplaced.h:
618
619 2009-02-19  David Levin  <levin@chromium.org>
620
621         Reviewed by Alexey Proskuryakov.
622
623         Bug 23980: WorkerRunLoop needs a way to run in a given mode similar to CFRunLoopInMode.
624         <https://bugs.webkit.org/show_bug.cgi?id=23980>
625
626         WorkerRunLoop has the ability to run in a mode which filters the tasks to be run.
627         * When WorkerRunLoop::runInMode is called, only task for that mode will run.
628         * When WorkerRunLoop::run is called (or the default mode is used), then all tasks
629           will run regardless of their posted mode.
630
631         Here's a demonstration of the api:
632
633             RefPtr<NameResolution> nameResolution = NameResolution::create(workerRunLoop);
634
635             //  Internally nameResolution will do workerRunLoop.postTaskForMode(task, "MyCoolMode")
636             //  for any tasks that need to be run during this loop.
637             nameResolution->setTaskMode("MyCoolMode");
638
639             nameResolution->start();
640             while (!nameResolution->done()) {
641                 // Only tasks which are posted for "MyCoolMode" will run.
642                 workerRunLoop.runInMode(context, "MyCoolMode");
643             }
644
645         No observable change in behavior, so no test.
646
647         * dom/WorkerRunLoop.cpp:
648         (WebCore::ModePredicate::ModePredicate):
649         (WebCore::ModePredicate::operator()):
650         (WebCore::WorkerRunLoop::WorkerRunLoop):
651         (WebCore::WorkerRunLoop::~WorkerRunLoop):
652         (WebCore::WorkerRunLoop::setSharedTimer):
653         (WebCore::WorkerRunLoop::resetSharedTimer):
654         (WebCore::WorkerRunLoop::run):
655         (WebCore::WorkerRunLoop::runInMode):
656         (WebCore::WorkerRunLoop::postTask):
657         (WebCore::WorkerRunLoop::postTaskForMode):
658         * dom/WorkerRunLoop.h:
659         (WebCore::WorkerRunLoop::Task::create):
660         (WebCore::WorkerRunLoop::Task::mode):
661         (WebCore::WorkerRunLoop::Task::performTask):
662         (WebCore::WorkerRunLoop::Task::Task):
663
664 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
665
666         Reviewed by Eric Seidel.
667
668         https://bugs.webkit.org/show_bug.cgi?id=24034
669         Fix up Selection->VisibleSelection change.
670
671         * page/chromium/EventHandlerChromium.cpp:
672         (WebCore::EventHandler::passMousePressEventToSubframe): Renamed Selection
673         to VisibleSelection.
674
675 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
676
677         Reviewed by Eric Seidel.
678
679         https://bugs.webkit.org/show_bug.cgi?id=24041
680         Correct Skia type conversion issues, fix Chromium Linux build.
681
682         * platform/graphics/chromium/FontLinux.cpp:
683         (WebCore::Font::drawGlyphs): changed parameters to RGBA32, not WebCore::Color.
684
685 2009-02-19  Jungshik Shin <jshin@chromium.org>
686
687         Reviewed by Eric Seidel.
688
689         https://bugs.webkit.org/show_bug.cgi?id=20531
690         Chromium-part follow-up to the patch landed in r40636
691         for bug 20531.
692         Remove a static member function alternateFamilyName
693         from Chromium's Win/Linux ports of FontCache. In r40636,
694         alternateFamilyName was customized using #ifdef PLATFORM(WIN_OS).
695         So, there's no more need for the static member function per
696         platform.
697
698         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
699         * platform/graphics/chromium/FontCacheLinux.cpp:
700
701 2009-02-19  Simon Fraser  <simon.fraser@apple.com>
702
703         Reviewed by Adele Peterson.
704
705         Call documentWillBecomeInactive() from Document::detach to ensure that
706         media elements are shut down, because they may be kept alive by references
707         from JS past document teardown.
708
709         documentWillBecomeInactive() calls  renderView()->willMoveOffscreen(), so no
710         need to do that in detach() as well.
711
712         We no longer need to call documentWillBecomeInactive() from ~Page() (which
713         was added for <https://bugs.webkit.org/show_bug.cgi?id=21116>), since this
714         supersedes that change.
715
716         * dom/Document.cpp:
717         (WebCore::Document::detach):
718         * page/Page.cpp:
719         (WebCore::Page::~Page):
720
721 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
722
723         Reviewed by Eric Seidel.
724
725         https://bugs.webkit.org/show_bug.cgi?id=24028
726         Fix up Skia path changes.
727
728         * platform/graphics/skia/GraphicsContextSkia.cpp:
729         (WebCore::GraphicsContext::strokePath): Removed illegal indirection.
730         * platform/graphics/skia/PathSkia.cpp:
731         (WebCore::boundingBoxForCurrentStroke): Changed call name.
732
733 2009-02-19  Gustavo Noronha Silva  <gns@gnome.org>
734
735         Reviewed by Alexey Proskuryakov.
736
737         Ignore ports on local URLs. This fixes a regression in
738         fast/loader/file-URL-with-port-number.html
739
740         * platform/network/soup/ResourceHandleSoup.cpp:
741         (WebCore::ResourceHandle::startGio):
742
743 2009-02-19  Gustavo Noronha Silva  <gns@gnome.org>
744
745         Reviewed by Alexey Proskuryakov.
746
747         Make setPort remove port if 0 is given to it, as promised by the
748         comment in KURL's header.
749
750         * platform/KURL.cpp:
751         (WebCore::KURL::setPort):
752
753 2009-02-18  Dan Bernstein  <mitz@apple.com>
754
755         Reviewed by Brady Eidson.
756
757         - WebCore part of fixing <rdar://problem/6507512> Crash in iChat at CSSStyleSelector::adjustRenderStyle
758
759         The crash results from re-entry into
760         CSSMutableStyleDeclaration::setCssText, which in turn is caused by
761         the first style change causing a cached image to load from the memory
762         cache, causing load delegate dispatch, and iChat's delegate method
763         calling back into WebKit.
764
765         The workaround is to use defer delegate callbacks for memory cache. In
766         this case, deferring callbacks during image load event dispatch was
767         found to be sufficient.
768
769         The crash is a regression. See also the discussion in
770         <https://bugs.webkit.org/show_bug.cgi?id=22521>.
771
772         * WebCore.base.exp: Added
773         Settings::setNeedsIChatMemoryCacheCallsQuirk().
774         * dom/Document.cpp:
775         (WebCore::Document::dispatchImageLoadEventsNow): If the quirk is
776         enabled, defer memory cache callbacks during image load event dispatch.
777         * page/Settings.cpp:
778         (WebCore::Settings::Settings): Initialize
779         m_needsIChatMemoryCacheCallsQuirk.
780         (WebCore::Settings::setNeedsIChatMemoryCacheCallsQuirk): Added this
781         setter.
782         * page/Settings.h:
783         (WebCore::Settings::needsIChatMemoryCacheCallsQuirk): Added this getter.
784
785 2009-02-18  Adam Roben  <aroben@apple.com>
786
787         Export WebCore::handCursor and Cursor.h
788
789         Reviewed by John Sullivan.
790
791         * WebCore.base.exp: Added WebCore::handCursor.
792         * WebCore.xcodeproj/project.pbxproj: Made Cursor.h private.
793
794 2009-02-18  Ojan Vafai  <ojan@chromium.org>
795
796         Reviewed by Alexey Proskuryakov.
797
798         https://bugs.webkit.org/show_bug.cgi?id=23992
799         REGRESSION: crash on windows loading http://www.stickam.com/liveStreams.do
800
801         Unable to reduce to a layout test.
802
803         * page/Frame.cpp:
804         (WebCore::Frame::contentRenderer):
805
806 2009-02-18  Evan Stade  <estade@chromium.org>
807
808         Reviewed by Eric Seidel.
809
810         https://bugs.webkit.org/show_bug.cgi?id=23861
811         Stroke font outlines on chromium linux
812
813         TEST=LayoutTests/svg/custom/pointer-events-text.svg
814
815         * platform/graphics/chromium/FontLinux.cpp:
816         (WebCore::Font::drawGlyphs):
817
818 2009-02-18  Evan Stade  <estade@chromium.org>
819
820         Reviewed by Eric Seidel.
821
822         https://bugs.webkit.org/show_bug.cgi?id=23860
823         Resync some graphics/skia files with their chromium counterparts
824
825         This comes from chromium patches <http://codereview.chromium.org/17633>
826         and <http://codereview.chromium.org/17454>
827
828         * platform/graphics/skia/GraphicsContextSkia.cpp:
829         (WebCore::GraphicsContext::clipPath):
830         (WebCore::GraphicsContext::fillPath):
831         * platform/graphics/skia/PlatformContextSkia.cpp:
832         (PlatformContextSkia::addPath):
833         (PlatformContextSkia::currentPath):
834         * platform/graphics/skia/PlatformContextSkia.h:
835
836 2009-02-18  Gustavo Noronha Silva  <gns@gnome.org>
837
838         Unreviewed.
839
840         Build fix after r41060.
841
842         * GNUmakefile.am:
843
844 2009-02-18  Dimitri Glazkov  <dglazkov@chromium.org>
845
846         Reviewed by Eric Seidel.
847
848         https://bugs.webkit.org/show_bug.cgi?id=24005
849         Add an include to fix Chromium build.
850
851         * page/animation/AnimationController.cpp: Add UnusedParam.h include.
852
853 2009-02-18  Gustavo Noronha Silva  <gns@gnome.org>
854
855         Reviewed by Holger Freyther.
856
857         Fix symbols.filter location, and add other missing files to the
858         autotools build, so that make dist works.
859
860         * GNUmakefile.am:
861
862 2009-02-18  Zan Dobersek  <zandobersek@gmail.com>
863
864         Rubber-stamped by Holger Hans Peter Freyther.
865
866         Allow POST method for local requests.
867
868         * platform/network/soup/ResourceHandleSoup.cpp:
869         (WebCore::ResourceHandle::startGio):
870
871 2009-02-18  Gustavo Noronha Silva  <gns@gnome.org>
872
873         Reviewed by Holger Hans Peter Freyther.
874
875         Use KURL in startGio instead of passing a string with the URL, so
876         that we can handle removing refs and queries more elegantly. This
877         is fixing more regressions that came from the curl->soup switch.
878
879         Original work by Zan Dobersek.
880
881         * platform/network/ResourceHandle.h:
882         * platform/network/soup/ResourceHandleSoup.cpp:
883         (WebCore::ResourceHandle::start):
884         (WebCore::ResourceHandle::startGio):
885
886 2009-02-18  Holger Hans Peter Freyther  <zecke@selfish.org>
887
888         Reviewed by Alexey Proskuryakov.
889
890         Implement ResourceHandle::loadResourceSynchronously in ResourceHandleSoup.cpp
891
892         The implementation is needed to have synchronous loading, e.g. for
893         JavaScript interaction. This is fixing various regressions that
894         came from the curl->soup switch.
895
896         * platform/network/soup/ResourceHandleSoup.cpp:
897         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
898         (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
899         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
900         (WebCore::WebCoreSynchronousLoader::didReceiveData):
901         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
902         (WebCore::WebCoreSynchronousLoader::didFail):
903         (WebCore::WebCoreSynchronousLoader::run):
904         (WebCore::ResourceHandle::loadResourceSynchronously):
905
906 2009-02-18  Xan Lopez  <xan@gnome.org>
907
908         Reviewed by Mark Rowe.
909
910         https://bugs.webkit.org/show_bug.cgi?id=23989
911
912         Based on a patch by Bo Yang  <techrazy.yang@gmail.com>
913
914         Make the cursor cache global, that's all we really need and
915         otherwise we can miss cursor transitions in some situations (see
916         the bug for one testcase). Also remove some now useless code.
917
918         * platform/Widget.h:
919         * platform/gtk/WidgetGtk.cpp:
920         (WebCore::Widget::Widget):
921         (WebCore::Widget::~Widget):
922         (WebCore::Widget::setCursor):
923
924 2009-02-17  Adam Roben  <aroben@apple.com>
925
926         Windows build fix
927
928         * loader/FrameLoader.cpp:
929         (WebCore::toPlugInElement): Don't rely on #if being processed before
930         ASSERT.
931
932 2009-02-17  David Levin  <levin@chromium.org>
933
934         Reviewed by Alexey Proskuryakov.
935
936         Bug 23977: Unnecessary timer related headers in files.
937         <https://bugs.webkit.org/show_bug.cgi?id=23977>
938
939         No observable change in behavior, so no test.
940
941         * dom/Document.cpp:
942         * dom/WorkerRunLoop.cpp:
943         * dom/WorkerRunLoop.h:
944
945 2009-02-17  Peter Abrahamsen  <rainhead@gmail.com>
946
947         Reviewed by Sam Weinig.
948
949         https://bugs.webkit.org/show_bug.cgi?id=23958
950         <rdar://problem/6587815>
951
952         Updated XMLHttpRequest with new header names from the latest Access
953         Control draft: http://www.w3.org/TR/access-control/
954         - Access-Control-Origin becomes Access-Control-Allow-Origin
955         - Access-Control-Credentials becomes Access-Control-Allow-Credentials
956
957         * xml/XMLHttpRequest.cpp:
958         (WebCore::XMLHttpRequest::accessControlCheck):
959
960 2009-02-17  Kevin Ollivier  <kevino@theolliviers.com>
961
962         wx build fix. Add missing constructor used for empty values.
963
964         * platform/graphics/wx/FontPlatformData.h:
965         (WebCore::FontPlatformData::FontPlatformData):
966
967 2009-02-17  Antti Koivisto  <antti@apple.com>
968
969         Reviewed by Dave Kilzer.
970
971         <rdar://problem/6592446> dynamically updating page doesn't seem to draw when updated
972
973         Need update after callback.
974
975         * bindings/js/JSCustomPositionCallback.cpp:
976         (WebCore::JSCustomPositionCallback::handleEvent):
977         * bindings/js/JSCustomPositionErrorCallback.cpp:
978         (WebCore::JSCustomPositionErrorCallback::handleEvent):
979
980 2009-02-17  Eric Carlson  <eric.carlson@apple.com>
981
982         Reviewed by Antti Koivisto.
983
984         https://bugs.webkit.org/show_bug.cgi?id=23917
985         Allow a WebKit plug-in to act as a proxy for the <audio> and <video>
986         element.
987
988         * DerivedSources.make: add media element proxy exports to .exp file when feature is defined.
989
990         * WebCore.VideoProxy.exp: New, define the informal protocol exported by a media element proxy.
991
992         * WebCore.xcodeproj/project.pbxproj: Add MediaPlayerProxy.h.
993
994         * html/HTMLMediaElement.cpp:
995         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_needWidgetUpdate.
996         (WebCore::HTMLMediaElement::attributeChanged): Don't detach+attach when PLUGIN_PROXY_FOR_VIDEO, the
997         proxy plug-in handles the poster frame.
998         (WebCore::HTMLMediaElement::rendererIsNeeded): New logic for PLUGIN_PROXY_FOR_VIDEO.
999         (WebCore::HTMLMediaElement::createRenderer): Create RenderPartObject when PLUGIN_PROXY_FOR_VIDEO.
1000         (WebCore::HTMLMediaElement::attach): Set m_needWidgetUpdate when PLUGIN_PROXY_FOR_VIDEO
1001         (WebCore::HTMLMediaElement::load): Don't reallocate MediaPlayer when PLUGIN_PROXY_FOR_VIDEO, we keep the
1002         same plug-in for the life of the element.
1003         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): update m_networkState when media player
1004         network state changes to EMPTY, otherwise we can get out of sync with engine.
1005         (WebCore::HTMLMediaElement::defaultEventHandler): pass event to widget when PLUGIN_PROXY_FOR_VIDEO
1006         (WebCore::HTMLMediaElement::deliverNotification): New, deliver notification from proxy plug-in to
1007         media player.
1008         (WebCore::HTMLMediaElement::setMediaPlayerProxy): New, pass proxy object to media player.
1009         (WebCore::HTMLMediaElement::initialURL): New, return the url from the "src" attr or the appropriate
1010         <source> element to be used as the initial url for the proxy.
1011         (WebCore::HTMLMediaElement::finishParsingChildren): New, allocate MediaPlayer and update widget.
1012         * html/HTMLMediaElement.h: Declare new methods for proxy, add m_needWidgetUpdate.
1013         (WebCore::HTMLMediaElement::setNeedWidgetUpdate):
1014
1015         * html/HTMLVideoElement.cpp:
1016         (WebCore::HTMLVideoElement::attach): Poster image is handled by proxy when PLUGIN_PROXY_FOR_VIDEO.
1017         (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
1018         * html/HTMLVideoElement.h:
1019
1020         * loader/FrameLoader.cpp:
1021         (WebCore::toPlugInElement): Allow cast if element is <video> or <audio>
1022
1023         * platform/graphics/MediaPlayer.cpp:
1024         (WebCore::MediaPlayer::MediaPlayer): Remove white space.
1025         (WebCore::MediaPlayer::setPoster): New, forward call to private player.
1026         (WebCore::MediaPlayer::deliverNotification): Ditto.
1027         (WebCore::MediaPlayer::setMediaPlayerProxy): Ditto.
1028         * platform/graphics/MediaPlayer.h:
1029         (WebCore::MediaPlayer::mediaPlayerClient):
1030
1031         * platform/graphics/mac/MediaPlayerProxy.h: New, defines media player proxy interface.
1032
1033         * rendering/RenderPart.cpp:
1034         (WebCore::RenderPart::RenderPart): Change constructor to take Element* instead of Node* as a
1035         non-element node doesn't need a renderer
1036         * rendering/RenderPart.h: Ditto.
1037
1038         * rendering/RenderPartObject.cpp:
1039         (WebCore::RenderPartObject::RenderPartObject): Ditto.
1040         (WebCore::RenderPartObject::updateWidget): Package params for proxy plug-in when element is
1041         <video> or <audio>.
1042         * rendering/RenderPartObject.h:
1043
1044 2009-02-17  David Hyatt  <hyatt@apple.com>
1045
1046         Reviewed by Eric Seidel
1047
1048         Fix for https://bugs.webkit.org/show_bug.cgi?id=23985
1049
1050         Don't allow legends to be anything but display:block.
1051
1052         Added fast/forms/inline-ignored-on-legend.html
1053
1054         * GNUmakefile.am:
1055         * WebCore.pro:
1056         * WebCore.vcproj/WebCore.vcproj:
1057         * WebCore.xcodeproj/project.pbxproj:
1058         * WebCoreSources.bkl:
1059         * css/html4.css:
1060         * html/HTMLLegendElement.cpp:
1061         * html/HTMLLegendElement.h:
1062         * rendering/RenderLegend.cpp: Removed.
1063         * rendering/RenderLegend.h: Removed.
1064         * wml/WMLInsertedLegendElement.cpp:
1065         * wml/WMLInsertedLegendElement.h:
1066
1067 2009-02-13  Brett Wilson  <brettw@dhcp-172-22-71-167.mtv.corp.google.com>
1068
1069         Reviewed by Simon Fraser.
1070
1071         https://bugs.webkit.org/attachment.cgi?id=27666
1072         Fix Chromium build build: forgotten include in RenderObject, sync
1073         RenderTheme to the recent changes in RenderObject.
1074
1075         * rendering/RenderObject.cpp:
1076         * rendering/RenderThemeChromiumMac.mm:
1077         (WebCore::RenderThemeChromiumMac::updatePressedState):
1078
1079 2009-02-17  Gustavo Noronha Silva  <gns@gnome.org>
1080
1081         Reviewed by Darin Adler.
1082
1083         https://bugs.webkit.org/show_bug.cgi?id=22966
1084         crash when destroying a webview that opened a page containing <script>
1085         tags
1086
1087         Fix m_group being set to 0 instead of to m_singlePageGroup when
1088         GroupName is set to empty
1089
1090         * page/Page.cpp:
1091         (WebCore::Page::setGroupName):
1092
1093 2009-02-16  Beth Dakin  <bdakin@apple.com>
1094
1095         Reviewed by Sam Weinig.
1096
1097         Fix for <rdar://problem/6386623>
1098
1099         I made m_numParsedProperties and m_maxParsedProperties unsigned
1100         instead of int, and then added an early return from addPropery() if
1101         m_maxParsedProperties exceeds the max value.
1102
1103         * css/CSSParser.cpp:
1104         (WebCore::CSSParser::addProperty):
1105         (WebCore::CSSParser::rollbackLastProperties):
1106         (WebCore::CSSParser::clearProperties):
1107         (WebCore::CSSParser::createFontFaceRule):
1108         (WebCore::CSSParser::deleteFontFaceOnlyValues):
1109         * css/CSSParser.h:
1110
1111 2009-02-16  Justin Garcia  <justin.garcia@apple.com>
1112
1113         Reviewed by Mark Rowe.
1114
1115         https://bugs.webkit.org/show_bug.cgi?id=16309
1116         HTML5: The third execCommand argument for insert{un}orderedlist should be ignored
1117
1118         When we originally implemented this command, MSDN documentation said that IE set the
1119         id attribute of inserted lists to the third argument to execCommand, but IE doesn't
1120         do this nor do any other browsers.
1121
1122         * editing/EditorCommand.cpp:
1123         (WebCore::executeInsertOrderedList):
1124         (WebCore::executeInsertUnorderedList):
1125         * editing/IndentOutdentCommand.cpp:
1126         (WebCore::IndentOutdentCommand::outdentParagraph):
1127         * editing/InsertListCommand.cpp:
1128         (WebCore::InsertListCommand::insertList):
1129         (WebCore::InsertListCommand::InsertListCommand):
1130         (WebCore::InsertListCommand::doApply):
1131         * editing/InsertListCommand.h:
1132         (WebCore::InsertListCommand::create):
1133
1134 2009-02-16  Dan Bernstein  <mitz@apple.com>
1135
1136         Reviewed by Geoffrey Garen.
1137
1138         - fix <rdar://problem/6561077> REGRESSION (r39634): Unable to select an item in stocks widget with the mouse
1139
1140         Test: platform/mac/fast/events/pointer-events-dashboard.html
1141
1142         * css/CSSStyleSelector.cpp:
1143         (WebCore::CSSStyleSelector::applyProperty): Do not apply the
1144         pointer-events property in Dashboard backwards compatibility mode,
1145         in order to work around misuse of that property by the Stocks widget.
1146
1147 2009-02-16  Justin Garcia  <justin.garcia@apple.com>
1148
1149         Reviewed by Eric Seidel.
1150
1151         https://bugs.webkit.org/show_bug.cgi?id=15381
1152         execCommand justify modifies the contentEditable node
1153
1154         * editing/CompositeEditCommand.cpp:
1155         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Avoid modifying not just
1156         the body element, but any root editable element.
1157
1158 2009-02-16  Chris Fleizach  <cfleizach@apple.com>
1159
1160         Reviewed by Adele Peterson.
1161
1162         Bug 23979: AX: alt tag not returned for <input type="image">
1163         https://bugs.webkit.org/show_bug.cgi?id=23979
1164
1165         Test: accessibility/input-image-alt.html
1166
1167         * page/AccessibilityRenderObject.cpp:
1168         (WebCore::AccessibilityRenderObject::accessibilityDescription):
1169
1170 2009-02-16  Kevin Watters  <kevinwatters@gmail.com>
1171
1172         Reviewed by Kevin Ollivier.
1173
1174         The ref data is not properly set unless we use the CreateMatrix function.
1175
1176         https://bugs.webkit.org/show_bug.cgi?id=23978
1177
1178         * platform/graphics/wx/TransformationMatrixWx.cpp:
1179         (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
1180
1181 2009-02-16  Dan Bernstein  <mitz@apple.com>
1182
1183         Reviewed by John Sullivan.
1184
1185         - fix <rdar://problem/6516829> FontPlatformData constructor passes NULL to CTFontCopyGraphicsFont and CTFontGetPlatformFont
1186
1187         * platform/graphics/FontCache.cpp:
1188         (WebCore::FontDataCacheKeyTraits::emptyValue): Changed to use the
1189         FontPlatformData(float, bool, bool) constructor.
1190         * platform/graphics/mac/FontCacheMac.mm:
1191         (WebCore::FontCache::createFontPlatformData): Changed to pass a valid
1192         NSFont to the FontPlatformData constructor, instead of implicitly
1193         passing 0 and then calling setFont().
1194         * platform/graphics/mac/FontPlatformData.h: Made the NSFont parameter
1195         of the constructor mandatory.
1196
1197 2009-02-15  David Kilzer  <ddkilzer@apple.com>
1198
1199         Move duplicate caretWidth constants to RenderObject.h
1200
1201         Reviewed by Dan Bernstein.
1202
1203         No test since no change in behavior.
1204
1205         * rendering/RenderBlock.cpp:
1206         (WebCore::RenderBlock::localCaretRect): Removed caretWidth.
1207         * rendering/RenderBox.cpp:
1208         (WebCore::RenderBox::localCaretRect): Ditto.
1209         * rendering/RenderObject.h: Added caretWidth definition.
1210         * rendering/RenderText.cpp:
1211         (WebCore::RenderText::localCaretRect): Removed caretWidth.
1212
1213 2009-02-13  Dimitri Glazkov  <dglazkov@chromium.org>
1214
1215         Reviewed by Eric Seidel.
1216
1217         https://bugs.webkit.org/show_bug.cgi?id=23955
1218         V8HTMLPlugInCustom returns undefined, which fools interceptors.
1219
1220         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
1221         (WebCore::NAMED_PROPERTY_GETTER): Use deferToInterceptor() return value.
1222         (WebCore::NAMED_PROPERTY_SETTER): Ditto.
1223         (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
1224         (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
1225
1226 2009-02-13  Dimitri Glazkov  <dglazkov@chromium.org>
1227
1228         Reviewed by Eric Seidel.
1229
1230         https://bugs.webkit.org/show_bug.cgi?id=23954
1231         Add V8 custom bindings for CanvasRenderingContext2D.
1232
1233         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Added.
1234         (WebCore::toV8):
1235         (WebCore::toCanvasStyle):
1236         (WebCore::ACCESSOR_GETTER):
1237         (WebCore::ACCESSOR_SETTER):
1238
1239 2009-02-13  Anders Carlsson  <andersca@apple.com>
1240
1241         Reviewed by Darin Adler and Dan Bernstein.
1242
1243         <rdar://problem/6583187>
1244
1245         * page/NavigatorBase.cpp:
1246         Handle PPC64 and X86_64 as well.
1247
1248 2009-02-13  Darin Adler  <darin@apple.com>
1249
1250         Reviewed by Mark Rowe.
1251
1252         Fix broken tokenizer regression test that reflected a lifetime bug
1253         in the document.write optimization. The test failure was trivial to
1254         reproduce in COLLECT_ON_EVERY_ALLOCATION mode.
1255
1256         * bindings/js/JSHTMLDocumentCustom.cpp:
1257         (WebCore::documentWrite): Convert strings to String rather than passing
1258         the pointer and length to SegmentedString. The optimization is thus
1259         mostly gone. However, there are two ways to bring it back: 1) Apply
1260         the patch that makes UString and String share the same buffers.
1261         2) Add a UString feature to SegmentedString; simple to do but might
1262         risk slowing down normal document parsing.
1263
1264 2009-02-13  Adam Treat  <adam.treat@torchmobile.com>
1265
1266         Caught by Darin Adler.
1267
1268         No reason to check m_tokenizer twice for 0 in a row.
1269
1270         * dom/Document.cpp:
1271         (WebCore::Document::write):
1272
1273 2009-02-13  Lyon Chen  <lyon.chen@torchmobile.com>
1274
1275         Reviewed by Dave Hyatt.
1276
1277         Take into account y() + height() when calculating getLowerRightCorner.
1278
1279         * dom/ContainerNode.cpp:
1280         (WebCore::ContainerNode::getLowerRightCorner):
1281
1282 2009-02-13  Antti Koivisto  <antti@apple.com>
1283
1284         Reviewed by Dave Hyatt.
1285
1286         Most of this code was in RenderBox, restore the copyright lines.
1287
1288         * rendering/RenderBoxModelObject.cpp:
1289         * rendering/RenderBoxModelObject.h:
1290
1291 2009-02-13  David Hyatt  <hyatt@apple.com>
1292
1293         Get rid of printBoxDecorations, since it is dead code.
1294
1295         Reviewed by Dan Bernstein
1296
1297         * rendering/RenderObject.h:
1298
1299 2009-02-13  Adam Treat  <adam.treat@torchmobile.com>
1300
1301         Reviewed by Darin Adler.
1302
1303         https://bugs.webkit.org/show_bug.cgi?id=23952
1304         Add Document::write overload which takes a SegmentedString since this
1305         is what the tokenizer expects anyway.  Modified JSHTMLDocument so it once
1306         again calls Document::write instead of injecting the string directly into
1307         the tokenizer.  This ensures that all document.write's are funneled through
1308         one method again, but should still be just as fast for JSHTMLDocumentCustom.
1309
1310         * bindings/js/JSHTMLDocumentCustom.cpp:
1311         (WebCore::documentWrite):
1312         * dom/Document.cpp:
1313         (WebCore::Document::write):
1314         * dom/Document.h:
1315
1316 2009-02-13  David Hyatt  <hyatt@apple.com>
1317
1318         Reviewed by Simon Fraser
1319
1320         Remove updateWidgetPosition on RenderObject.  Change RenderView's set of widgets
1321         to have a tighter type: RenderWidget instead of RenderObject.  Devirtualize
1322         updateWidgetPosition, since all RenderWidgets (except for applets) are now
1323         RenderParts also.
1324
1325         * rendering/RenderObject.cpp:
1326         * rendering/RenderObject.h:
1327         * rendering/RenderPart.cpp:
1328         * rendering/RenderPart.h:
1329         * rendering/RenderView.cpp:
1330         (WebCore::RenderView::updateWidgetPositions):
1331         (WebCore::RenderView::addWidget):
1332         (WebCore::RenderView::removeWidget):
1333         * rendering/RenderView.h:
1334         * rendering/RenderWidget.cpp:
1335         (WebCore::RenderWidget::updateWidgetPosition):
1336         * rendering/RenderWidget.h:
1337
1338 2009-02-13  David Hyatt  <hyatt@apple.com>
1339
1340         Reviewed by Eric Seidel
1341
1342         Remove isEditable() on RenderObject.  It is dead code.
1343
1344         * rendering/RenderObject.cpp:
1345         * rendering/RenderObject.h:
1346
1347 2009-02-13  David Hyatt  <hyatt@apple.com>
1348
1349         Reviewed by Eric Seidel
1350
1351         Add isTextControl() to RenderObject.  Patch call sites thats asked isTextField() || isTextArea() to just use
1352         isTextControl() instead.
1353
1354         Add a toRenderTextControl converter for doing checked casting to RenderTextControls.
1355
1356         * dom/Document.cpp:
1357         (WebCore::Document::setFocusedNode):
1358         * dom/InputElement.cpp:
1359         (WebCore::InputElement::updateSelectionRange):
1360         * editing/ReplaceSelectionCommand.cpp:
1361         (WebCore::ReplacementFragment::ReplacementFragment):
1362         * editing/TextIterator.cpp:
1363         (WebCore::TextIterator::handleReplacedElement):
1364         * html/HTMLInputElement.cpp:
1365         (WebCore::HTMLInputElement::selectionStart):
1366         (WebCore::HTMLInputElement::selectionEnd):
1367         (WebCore::HTMLInputElement::setSelectionStart):
1368         (WebCore::HTMLInputElement::setSelectionEnd):
1369         (WebCore::HTMLInputElement::select):
1370         (WebCore::HTMLInputElement::defaultEventHandler):
1371         (WebCore::HTMLInputElement::selection):
1372         * html/HTMLTextAreaElement.cpp:
1373         (WebCore::HTMLTextAreaElement::selectionStart):
1374         (WebCore::HTMLTextAreaElement::selectionEnd):
1375         (WebCore::HTMLTextAreaElement::setSelectionStart):
1376         (WebCore::HTMLTextAreaElement::setSelectionEnd):
1377         (WebCore::HTMLTextAreaElement::select):
1378         (WebCore::HTMLTextAreaElement::setSelectionRange):
1379         (WebCore::HTMLTextAreaElement::appendFormData):
1380         (WebCore::HTMLTextAreaElement::updateValue):
1381         (WebCore::HTMLTextAreaElement::selection):
1382         * page/AccessibilityRenderObject.cpp:
1383         (WebCore::AccessibilityRenderObject::isNativeTextControl):
1384         (WebCore::AccessibilityRenderObject::text):
1385         (WebCore::AccessibilityRenderObject::selectedText):
1386         (WebCore::AccessibilityRenderObject::selectedTextRange):
1387         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
1388         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
1389         (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
1390         (WebCore::AccessibilityRenderObject::observableObject):
1391         * page/Frame.cpp:
1392         (WebCore::Frame::notifyRendererOfSelectionChange):
1393         * rendering/RenderObject.h:
1394         (WebCore::RenderObject::isTextControl):
1395         (WebCore::objectIsRelayoutBoundary):
1396         * rendering/RenderTextControl.h:
1397         (WebCore::RenderTextControl::isTextControl):
1398         (WebCore::toRenderTextControl):
1399         * rendering/TextControlInnerElements.cpp:
1400         (WebCore::TextControlInnerTextElement::defaultEventHandler):
1401         * wml/WMLInputElement.cpp:
1402         (WebCore::WMLInputElement::select):
1403         (WebCore::WMLInputElement::defaultEventHandler):
1404         (WebCore::WMLInputElement::isConformedToInputMask):
1405
1406 2009-02-13  David Hyatt  <hyatt@apple.com>
1407
1408         Get rid of isEdited/setEdited on RenderObject.  Devirtualize isEdited/setEdited on RenderTextControl.
1409         Callers were already asking if the renderer was a text field (or a text area), so it was especially
1410         pointless to waste a second virtual function call after making one just to determine the object type.
1411
1412         Reviewed by Simon Fraser
1413
1414         * dom/Document.cpp:
1415         (WebCore::Document::setFocusedNode):
1416         * html/HTMLInputElement.cpp:
1417         (WebCore::HTMLInputElement::defaultEventHandler):
1418         * rendering/RenderObject.h:
1419         * rendering/RenderTextControl.h:
1420         (WebCore::RenderTextControl::isEdited):
1421         (WebCore::RenderTextControl::setEdited):
1422
1423 2009-02-13  Scott Violet  <sky@google.com>
1424
1425         Reviewed by Eric Seidel.
1426
1427         https://bugs.webkit.org/show_bug.cgi?id=23934
1428         Skia platform doesn't render text decoration shadows.
1429
1430         Makes Skia render text decoration shadows correctly. We weren't
1431         preparing the SkPaint correctly and didn't have a couple of checks
1432         CG has. Additionally makes the fillColor/strokeColor methods
1433         consistent.
1434
1435         This behavior is covered by existing layout tests (see bug for list).
1436
1437         * platform/graphics/chromium/FontChromiumWin.cpp:
1438         (WebCore::Font::drawGlyphs):
1439         (WebCore::Font::drawComplexText):
1440         * platform/graphics/skia/GraphicsContextSkia.cpp:
1441         (WebCore::GraphicsContext::drawLineForText):
1442         * platform/graphics/skia/PlatformContextSkia.cpp:
1443         (PlatformContextSkia::effectiveFillColor):
1444         (PlatformContextSkia::effectiveStrokeColor):
1445         * platform/graphics/skia/PlatformContextSkia.h:
1446
1447 2009-02-12  Darin Fisher  <darin@chromium.org>
1448
1449         Reviewed by Eric Seidel.
1450
1451         https://bugs.webkit.org/show_bug.cgi?id=23944
1452         KURLGoogle's pre-parsed canonicalSpec constructor should take a CString
1453
1454         * platform/KURL.h:
1455         * platform/KURLGoogle.cpp:
1456         (WebCore::KURLGooglePrivate::setUtf8):
1457         (WebCore::KURLGooglePrivate::setAscii):
1458         (WebCore::KURLGooglePrivate::init):
1459         (WebCore::KURLGooglePrivate::replaceComponents):
1460         (WebCore::KURL::KURL):
1461         * platform/KURLGooglePrivate.h:
1462
1463 2009-02-13  David Hyatt  <hyatt@apple.com>
1464
1465         Remove leftmost/rightmost/lowestPosition from RenderObject.  They only need to be called on boxes.
1466
1467         Reviewed by Dan Bernstein
1468
1469         * rendering/RenderBlock.cpp:
1470         (WebCore::RenderBlock::lowestPosition):
1471         (WebCore::RenderBlock::rightmostPosition):
1472         (WebCore::RenderBlock::leftmostPosition):
1473         * rendering/RenderLayer.cpp:
1474         (WebCore::RenderLayer::computeScrollDimensions):
1475         * rendering/RenderMedia.cpp:
1476         (WebCore::RenderMedia::lowestPosition):
1477         (WebCore::RenderMedia::rightmostPosition):
1478         (WebCore::RenderMedia::leftmostPosition):
1479         * rendering/RenderObject.h:
1480         * rendering/RenderTableSection.cpp:
1481         (WebCore::RenderTableSection::lowestPosition):
1482         (WebCore::RenderTableSection::rightmostPosition):
1483         (WebCore::RenderTableSection::leftmostPosition):
1484
1485 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
1486
1487         Fix build with ACCELERATED_COMPOSITING turned on.
1488
1489         toRenderBox()->x() asserts for a layer on an inline; use
1490         m_owningLayer->renderBoxX() instead.
1491
1492         * rendering/RenderLayerBacking.cpp:
1493         (WebCore::RenderLayerBacking::paintIntoLayer):
1494
1495 2009-02-12  Darin Adler  <darin@apple.com>
1496
1497         Reviewed by Oliver Hunt.
1498
1499         Speed up document.write a bit.
1500
1501         * bindings/js/JSHTMLDocumentCustom.cpp:
1502         (WebCore::documentWrite): Added. Uses SegmentedString to avoid conversion from
1503         UString to String and to avoid appending strings. Also added code to handle
1504         newlines efficiently.
1505         (WebCore::JSHTMLDocument::write): Changed to use documentWrite.
1506         (WebCore::JSHTMLDocument::writeln): Ditto.
1507
1508         * dom/Document.cpp:
1509         (WebCore::Document::prepareToWrite): Added. Refactored the initialization part
1510         of write into a separate function for use in the JavaScript binding.
1511         (WebCore::Document::write): Changed to call prepareToWrite.
1512
1513         * dom/Document.h: Added declaration for prepareToWrite.
1514
1515 2009-02-13  Prasanth Ullattil  <pullatti@trolltech.com>
1516
1517         Reviewed by Simon Hausmann.
1518
1519         Fixes crash in the Qt port on Windows with comboboxes
1520
1521         The focusWidget in the input context is not reset properly.
1522         The QApplication::setFocusWidget() wont reset the IC if the reason is
1523         PopupFocusReason, this is not ideal. For the time being we are going
1524         to do this from webkit itself.
1525
1526         * platform/qt/QWebPopup.cpp:
1527         (WebCore::QWebPopup::hidePopup):
1528
1529 2009-02-12  Kevin Ollivier  <kevino@theolliviers.com>
1530
1531         wx build fix, typo while tweaking last patch for commit.
1532
1533         * platform/wx/wxcode/gtk/fontprops.cpp:
1534         (GetTextExtent):
1535
1536 2009-02-12  miggilin  <mr.diggilin@gmail.com>
1537
1538         Reviewed by Kevin Ollivier.
1539
1540         Use Cairo/PANGO to fix text measurements and implement proper
1541         non-kerned text drawing on wxGTK.
1542
1543         https://bugs.webkit.org/show_bug.cgi?id=17727
1544
1545         * platform/graphics/GlyphBuffer.h:
1546         * platform/graphics/wx/FontPlatformDataWx.cpp:
1547         (WebCore::fontWeightToWxFontWeight):
1548         * platform/graphics/wx/SimpleFontDataWx.cpp:
1549         (WebCore::SimpleFontData::platformWidthForGlyph):
1550         * platform/wx/wxcode/fontprops.h:
1551         * platform/wx/wxcode/gtk/fontprops.cpp:
1552         (wxFontProperties::wxFontProperties):
1553         (GetTextExtent):
1554         * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
1555         (WebCore::pangoFontMap):
1556         (WebCore::createPangoFontForFont):
1557         (WebCore::createScaledFontForFont):
1558         (WebCore::pango_font_get_glyph):
1559         (WebCore::drawTextWithSpacing):
1560         * platform/wx/wxcode/non-kerned-drawing.h:
1561
1562 2009-02-12  Chris Marrin  <cmarrin@apple.com>
1563
1564         Reviewed by Simon Fraser
1565
1566         https://bugs.webkit.org/show_bug.cgi?id=23942
1567
1568         Hook up 3D CSS transforms to the accelerated compositor backend.
1569         Not enabled by default.
1570
1571         * page/animation/AnimationBase.cpp:
1572         (WebCore::blendFunc):
1573         (WebCore::ensurePropertyMap):
1574         * page/animation/CompositeAnimation.cpp:
1575         (WebCore::CompositeAnimationPrivate::updateTransitions):
1576         * page/animation/ImplicitAnimation.cpp:
1577         (WebCore::ImplicitAnimation::willNeedService):
1578         * page/animation/KeyframeAnimation.cpp:
1579         (WebCore::KeyframeAnimation::willNeedService):
1580         * platform/graphics/GraphicsLayer.cpp:
1581         (WebCore::GraphicsLayer::TransformValueList::makeFunctionList):
1582         (WebCore::GraphicsLayer::dumpProperties):
1583         * platform/graphics/mac/GraphicsLayerCA.mm:
1584         (WebCore::copyTransform):
1585         (WebCore::getValueFunctionNameForTransformOperation):
1586         (WebCore::GraphicsLayerCA::animateTransform):
1587         * rendering/RenderBox.cpp:
1588         (WebCore::RenderBox::updateBoxModelInfoFromStyle):
1589         * rendering/RenderLayer.cpp:
1590         (WebCore::RenderLayer::updateTransform):
1591         (WebCore::RenderLayer::hasTransformStyle3D):
1592         (WebCore::RenderLayer::hasPerspective):
1593         (WebCore::RenderLayer::perspectiveTransform):
1594         * rendering/RenderLayer.h:
1595         * rendering/RenderLayerBacking.cpp:
1596         (WebCore::RenderLayerBacking::updateGraphicsLayers):
1597         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1598         (WebCore::RenderLayerBacking::computeTransformOrigin):
1599         (WebCore::RenderLayerBacking::computePerspectiveOrigin):
1600         * rendering/RenderLayerBacking.h:
1601         * rendering/RenderLayerCompositor.cpp:
1602         (WebCore::RenderLayerCompositor::has3DContent):
1603         (WebCore::requiresCompositingLayerForTransform):
1604         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
1605         (WebCore::RenderLayerCompositor::layerHas3DContent):
1606         * rendering/RenderLayerCompositor.h:
1607
1608 2009-02-12  David Hyatt  <hyatt@apple.com>
1609
1610         Reviewed by Eric Seidel
1611
1612         Get rid of containingBlockHeight(), since it had only one implementation (despite being virtual) and just returned
1613         containingBlock()->availableHeight().  The latter reads better anyway.  Rename containingBlockWidth() to
1614         containingBlockWidthForContent() and move it to RenderBoxModelObject.
1615
1616         * rendering/RenderBlock.cpp:
1617         (WebCore::RenderBlock::localCaretRect):
1618         * rendering/RenderBox.cpp:
1619         (WebCore::RenderBox::containingBlockWidthForContent):
1620         (WebCore::RenderBox::calcWidth):
1621         (WebCore::RenderBox::calcReplacedWidthUsing):
1622         * rendering/RenderBox.h:
1623         * rendering/RenderBoxModelObject.cpp:
1624         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
1625         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
1626         (WebCore::RenderBoxModelObject::containingBlockWidthForContent):
1627         * rendering/RenderBoxModelObject.h:
1628         * rendering/RenderInline.cpp:
1629         (WebCore::RenderInline::marginLeft):
1630         (WebCore::RenderInline::marginRight):
1631         * rendering/RenderObject.cpp:
1632         * rendering/RenderObject.h:
1633         * rendering/RenderSVGContainer.cpp:
1634         (WebCore::RenderSVGContainer::calcReplacedWidth):
1635
1636 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
1637
1638         Fix non-Mac builds by adding Matrix3DTransformOperation.* and
1639         PerspectiveTransformOperation.*. Cleaned out some cruft in
1640         the WebCore.vcproj fle.
1641
1642         * GNUmakefile.am:
1643         * WebCore.pro:
1644         * WebCore.scons:
1645         * WebCore.vcproj/WebCore.vcproj:
1646
1647 2009-02-12  David Smith  <catfish.man@gmail.com>
1648
1649         Reviewed by Dave Hyatt.
1650
1651         Fix https://bugs.webkit.org/show_bug.cgi?id=23935
1652         Nested :not() and non-simple selectors in :not() should be invalid
1653
1654         * css/CSSGrammar.y: Reject nested :not()
1655         * css/CSSStyleSelector.cpp:
1656         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ASSERT() rather than checking, since the parser enforces it now
1657
1658 2009-02-12  Kevin Ollivier  <kevino@theolliviers.com>
1659
1660         wx build fixes.
1661
1662         * WebCoreSources.bkl:
1663
1664 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
1665
1666         Fix build with ACCELERATED_COMPOSITING turned on.
1667
1668         Need to cast toRenderBox() in order to call overflowClipRect().
1669
1670         * rendering/RenderLayerBacking.cpp:
1671         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1672
1673 2009-02-12  Oliver Hunt  <oliver@apple.com>
1674
1675         Reviewed by NOBODY (Build fix).
1676
1677         Fix windows build.
1678
1679         * css/CSSParser.h:
1680
1681 2009-02-12  David Hyatt  <hyatt@apple.com>
1682
1683         Rename getOverflowClipRect and getClipRect to overflowClipRect and clipRect.  Move them to RenderBox, since these methods
1684         only apply to boxes.  Devirtualize clipRect, since it was not subclassed.  Move controlClip stuff to RenderBox also.
1685
1686         Reviewed by Simon Fraser
1687
1688         * editing/Editor.cpp:
1689         (WebCore::Editor::insideVisibleArea):
1690         * rendering/RenderBox.cpp:
1691         (WebCore::RenderBox::overflowClipRect):
1692         (WebCore::RenderBox::clipRect):
1693         * rendering/RenderBox.h:
1694         (WebCore::RenderBox::hasControlClip):
1695         (WebCore::RenderBox::controlClipRect):
1696         * rendering/RenderForeignObject.cpp:
1697         (WebCore::RenderForeignObject::paint):
1698         * rendering/RenderLayer.cpp:
1699         (WebCore::RenderLayer::calculateClipRects):
1700         (WebCore::RenderLayer::calculateRects):
1701         * rendering/RenderLayerBacking.cpp:
1702         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1703         * rendering/RenderObject.h:
1704         (WebCore::RenderObject::hasClip):
1705         (WebCore::RenderObject::hasOverflowClip):
1706         * rendering/RenderTable.cpp:
1707         (WebCore::RenderTable::overflowClipRect):
1708         * rendering/RenderTable.h:
1709
1710 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
1711
1712         Fix build with ACCELERATED_COMPOSITING turned on (simple copy/paste error)
1713
1714         * platform/graphics/mac/GraphicsLayerCA.mm:
1715         (WebCore::GraphicsLayerCA::setBasicAnimation):
1716
1717 2009-02-12  Julien Chaffraix  <jchaffraix@webkit.org>
1718
1719         Not reviewed.
1720
1721         Release build fix when VIDEO is disabled (it should also
1722         help the builds with WORKERS or XSLT disabled).
1723
1724         * bindings/js/JSDOMWindowBase.cpp:
1725         (jsDOMWindowBaseAudio): Added an UNUSED_PARAM for exec and slot when
1726         VIDEO is disabled.
1727         (jsDOMWindowBaseWorker): Ditto for WORKERS.
1728         (jsDOMWindowBaseXSLTProcessor): Ditto for XSLT.
1729
1730 2009-02-12  Eric Carlson  <eric.carlson@apple.com>
1731
1732         Reviewed by Simon Fraser.
1733
1734         https://bugs.webkit.org/show_bug.cgi?id=23923
1735         Implement mediaPlayerVolumeChanged so a media engine can report autonomous volume changes.
1736         Supporting this requires that we know when we are processing a media engine callback so
1737         we don't turn around and tell the media player to change the volume when it is reporting
1738         a volume change.
1739
1740         * html/HTMLMediaElement.cpp:
1741         (WebCore::HTMLMediaElement::HTMLMediaElement): initialize m_processingMediaPlayerCallback
1742         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): call begin/endProcessingMediaPlayerCallback
1743         (WebCore::HTMLMediaElement::setNetworkState): logic split out of mediaPlayerNetworkStateChanged
1744         to make it easier to maintain m_processingMediaPlayerCallback.
1745         (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): call begin/endProcessingMediaPlayerCallback
1746         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto.
1747         (WebCore::HTMLMediaElement::mediaPlayerRepaint): Ditto.
1748         (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): New
1749         (WebCore::HTMLMediaElement::updateVolume): Don't change media engine volume if we are processing
1750         a callback from the engine.
1751         * html/HTMLMediaElement.h:
1752         (WebCore::HTMLMediaElement::processingMediaPlayerCallback): New, return true if (m_processingMediaPlayerCallback>0)
1753         (WebCore::HTMLMediaElement::beginProcessingMediaPlayerCallback): New, increment m_processingMediaPlayerCallback
1754         (WebCore::HTMLMediaElement::endProcessingMediaPlayerCallback): New, decrement m_processingMediaPlayerCallback
1755
1756 2009-02-12  Eric Carlson  <eric.carlson@apple.com>
1757
1758         Reviewed by Simon Fraser.
1759
1760         Support MPEG content on Mac and Windows.
1761         <rdar://problem/5917509>
1762         https://bugs.webkit.org/show_bug.cgi?id=23495
1763
1764         Test: media/audio-mpeg-supported.html
1765
1766         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1767         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
1768
1769         * platform/graphics/win/QTMovieWin.cpp:
1770         (QTMovieWin::disableUnsupportedTracks):
1771
1772         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: fix typo added in r40925
1773
1774 2009-02-12  David Hyatt  <hyatt@apple.com>
1775
1776         Reviewed by Sam Weinig
1777
1778         Move containsFloats, hasOverhangingFloats, shrinkToAvoidFloats and avoidsFloats down to
1779         RenderBox, since these methods only apply to boxes.
1780
1781         * rendering/RenderBlock.cpp:
1782         (WebCore::RenderBlock::collapseMargins):
1783         (WebCore::RenderBlock::clearFloatsIfNeeded):
1784         (WebCore::RenderBlock::layoutBlockChildren):
1785         (WebCore::RenderBlock::clearFloats):
1786         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
1787         (WebCore::RenderBlock::calcBlockPrefWidths):
1788         * rendering/RenderBlock.h:
1789         (WebCore::RenderBlock::containsFloats):
1790         (WebCore::RenderBlock::hasOverhangingFloats):
1791         * rendering/RenderBox.cpp:
1792         (WebCore::RenderBox::shrinkToAvoidFloats):
1793         (WebCore::RenderBox::avoidsFloats):
1794         * rendering/RenderBox.h:
1795         * rendering/RenderObject.cpp:
1796         * rendering/RenderObject.h:
1797         (WebCore::RenderObject::isFloatingOrPositioned):
1798         * rendering/RenderView.h:
1799
1800 2009-02-12  Chris Marrin  <cmarrin@apple.com>
1801
1802         Reviewed by Dave Hyatt
1803
1804         https://bugs.webkit.org/show_bug.cgi?id=23908
1805
1806         Added parsing of 3d transform functions and properties
1807         (perspective, perspective-origin, transform-style-3d,
1808         and backface-visibility).
1809
1810         Test: transforms/3d/cssmatrix-3d-interface.xhtml
1811
1812         * css/CSSComputedStyleDeclaration.cpp:
1813         (WebCore::):
1814         (WebCore::computedTransform):
1815         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1816         * css/CSSMutableStyleDeclaration.cpp:
1817         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
1818         * css/CSSParser.cpp:
1819         (WebCore::CSSParser::parseValue):
1820         (WebCore::CSSParser::parseFillProperty):
1821         (WebCore::CSSParser::parseTransformOriginShorthand):
1822         (WebCore::TransformOperationInfo::TransformOperationInfo):
1823         (WebCore::CSSParser::parseTransform):
1824         (WebCore::CSSParser::parseTransformOrigin):
1825         (WebCore::CSSParser::parsePerspectiveOrigin):
1826         * css/CSSParser.h:
1827         * css/CSSPrimitiveValue.h:
1828         (WebCore::CSSPrimitiveValue::isUnitTypeLength):
1829         * css/CSSPropertyNames.in:
1830         * css/CSSStyleSelector.cpp:
1831         (WebCore::CSSStyleSelector::adjustRenderStyle):
1832         (WebCore::convertToLength):
1833         (WebCore::CSSStyleSelector::applyProperty):
1834         (WebCore::CSSStyleSelector::mapFillSize):
1835         (WebCore::CSSStyleSelector::mapFillXPosition):
1836         (WebCore::CSSStyleSelector::mapFillYPosition):
1837         (WebCore::getTransformOperationType):
1838         (WebCore::CSSStyleSelector::createTransformOperations):
1839         * css/CSSValueKeywords.in:
1840         * css/WebKitCSSTransformValue.cpp:
1841         (WebCore::WebKitCSSTransformValue::cssText):
1842         * css/WebKitCSSTransformValue.h:
1843         (WebCore::WebKitCSSTransformValue::):
1844         * css/WebKitCSSTransformValue.idl:
1845         * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
1846         * platform/graphics/transforms/Matrix3DTransformOperation.h:
1847         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
1848         * platform/graphics/transforms/PerspectiveTransformOperation.h:
1849         * platform/graphics/transforms/RotateTransformOperation.cpp:
1850         (WebCore::RotateTransformOperation::blend):
1851         * platform/graphics/transforms/RotateTransformOperation.h:
1852         (WebCore::RotateTransformOperation::RotateTransformOperation):
1853         * platform/graphics/transforms/ScaleTransformOperation.h:
1854         (WebCore::ScaleTransformOperation::ScaleTransformOperation):
1855         * platform/graphics/transforms/TransformOperation.h:
1856         (WebCore::TransformOperation::is3DOperation):
1857         * platform/graphics/transforms/TransformOperations.h:
1858         (WebCore::TransformOperations::has3DOperation):
1859         * platform/graphics/transforms/TranslateTransformOperation.h:
1860         (WebCore::TranslateTransformOperation::TranslateTransformOperation):
1861
1862 2009-02-12  Kevin Ollivier  <kevino@theolliviers.com>
1863
1864         wx build fix.
1865
1866         * webcore-base.bkl:
1867
1868 2009-02-12  Brady Eidson  <beidson@apple.com>
1869
1870         Reviewed by Darin Adler
1871
1872         Fix potential ref-count or null-deref problems with C++ objects as Obj-C members.
1873
1874         * platform/mac/SharedBufferMac.mm: Change to use RefPtr<> instead of ref()/deref().
1875         (-[WebCoreSharedBufferData dealloc]):
1876         (-[WebCoreSharedBufferData finalize]):
1877         (-[WebCoreSharedBufferData initWithSharedBuffer:]):
1878
1879 2009-02-12  David Hyatt  <hyatt@apple.com>
1880
1881         Remove calcWidth from RenderObject.  Nobody ever called it on RenderObjects.
1882
1883         Reviewed by Sam Weinig
1884
1885         * rendering/RenderObject.h:
1886
1887 2009-02-12  David Hyatt  <hyatt@apple.com>
1888
1889         Reviewed by Mark Rowe
1890
1891         Fix for regression where form controls would paint yellow highlights.  The containsComposition check needs to
1892         null check node() now.
1893
1894         * rendering/InlineTextBox.cpp:
1895         (WebCore::InlineTextBox::paint):
1896
1897 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
1898
1899         Build fix
1900
1901         Change Animation::setDirection() to take the new enum value, and fix
1902         the single caller.
1903
1904         Fix build error in MediaPlayerPrivateQTKit.h.
1905
1906         * css/CSSStyleSelector.cpp:
1907         (WebCore::CSSStyleSelector::mapAnimationDirection):
1908         * platform/animation/Animation.h:
1909         (WebCore::Animation::setDirection):
1910         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1911
1912 2009-02-12  David Hyatt  <hyatt@apple.com>
1913
1914         Reviewed by Simon Fraser
1915
1916         Remove the overrideSize methods from RenderObject.  Devirtualize all of the accessors on RenderBox.
1917
1918         * rendering/RenderBox.h:
1919         * rendering/RenderObject.h:
1920
1921 2009-02-12  Eric Carlson  <eric.carlson@apple.com>
1922
1923         Darin Adler, Antti Koivisto, Holger Hans Peter Freyther
1924
1925         Bug 23797: A platform should be able to use more than one media engine for <video> and <audio>
1926         https://bugs.webkit.org/show_bug.cgi?id=23797
1927
1928         * WebCore.xcodeproj/project.pbxproj: add MediaPlayerPrivate.h
1929
1930         * html/HTMLMediaElement.cpp:
1931         (WebCore::HTMLMediaElement::load): selectMediaURL now also returns a MIME type, pass it to
1932         MediaPlayer::load so it can choose the right media engine
1933         (WebCore::HTMLMediaElement::selectMediaURL): renamed from pickMedia. use MIMETypeRegistry
1934         functions to strip params from the url and extract the codecs parameter. call
1935         MediaPlayer::supportsType to see if we can open the file since only a media engine can
1936         answer questions about supported type+codecs.
1937         * html/HTMLMediaElement.h:
1938
1939         * platform/MIMETypeRegistry.cpp:
1940         (WebCore::MIMETypeRegistry::getParameterFromMIMEType): New, find and return a MIME type parameter
1941         (WebCore::MIMETypeRegistry::stripParametersFromMIMEType): New, strip all parameters from a MIME type
1942         * platform/MIMETypeRegistry.h:
1943
1944         * platform/graphics/MediaPlayer.cpp:
1945         (WebCore::NullMediaPlayerPrivate::NullMediaPlayerPrivate):
1946         (WebCore::NullMediaPlayerPrivate::load):
1947         (WebCore::NullMediaPlayerPrivate::cancelLoad):
1948         (WebCore::NullMediaPlayerPrivate::play):
1949         (WebCore::NullMediaPlayerPrivate::pause):
1950         (WebCore::NullMediaPlayerPrivate::naturalSize):
1951         (WebCore::NullMediaPlayerPrivate::hasVideo):
1952         (WebCore::NullMediaPlayerPrivate::setVisible):
1953         (WebCore::NullMediaPlayerPrivate::duration):
1954         (WebCore::NullMediaPlayerPrivate::currentTime):
1955         (WebCore::NullMediaPlayerPrivate::seek):
1956         (WebCore::NullMediaPlayerPrivate::seeking):
1957         (WebCore::NullMediaPlayerPrivate::setEndTime):
1958         (WebCore::NullMediaPlayerPrivate::setRate):
1959         (WebCore::NullMediaPlayerPrivate::paused):
1960         (WebCore::NullMediaPlayerPrivate::setVolume):
1961         (WebCore::NullMediaPlayerPrivate::networkState):
1962         (WebCore::NullMediaPlayerPrivate::readyState):
1963         (WebCore::NullMediaPlayerPrivate::maxTimeSeekable):
1964         (WebCore::NullMediaPlayerPrivate::maxTimeBuffered):
1965         (WebCore::NullMediaPlayerPrivate::dataRate):
1966         (WebCore::NullMediaPlayerPrivate::totalBytesKnown):
1967         (WebCore::NullMediaPlayerPrivate::totalBytes):
1968         (WebCore::NullMediaPlayerPrivate::bytesLoaded):
1969         (WebCore::NullMediaPlayerPrivate::setRect):
1970         (WebCore::NullMediaPlayerPrivate::paint):
1971         (WebCore::createNullMediaPlayer):
1972         Do nothing media player so MediaPlayer doesn't have to NULL check before calling current engine.
1973
1974         (WebCore::MediaPlayerFactory::MediaPlayerFactory): New, factory constructor.
1975         (WebCore::installedMediaEngines): New, returns vector of all installed engines.
1976         (WebCore::addMediaEngine): New, add a media engine to the cache.
1977         (WebCore::chooseBestEngineForTypeAndCodecs): New, return an engine that might support a MIME type.
1978         (WebCore::MediaPlayer::MediaPlayer): create NULL media player so we have a default. Initialize m_currentMediaEngine.
1979         (WebCore::MediaPlayer::~MediaPlayer): don't need to delete m_private, it is now an OwnPtr.
1980         (WebCore::MediaPlayer::load): Take MIME type as well as url, since we need it to find the right
1981           media engine. If no MIME type is provided, try to devine one from the url. Choose a media engine
1982           based on the MIME type and codecs parameter.
1983         (WebCore::MediaPlayer::currentTime): Remove excess white space.
1984         (WebCore::MediaPlayer::supportsType): Take codecs param as well as MIME type. Return enum so we can
1985         indicate "maybe" condition.
1986         (WebCore::MediaPlayer::getSupportedTypes): Build up list of MIME types by consulting all engines.
1987         (WebCore::MediaPlayer::isAvailable): return true if any media engine is installed.
1988
1989         * platform/graphics/MediaPlayer.h:
1990         (WebCore::MediaPlayer::):
1991         (WebCore::MediaPlayer::frameView): accessor function.
1992
1993         * platform/graphics/MediaPlayerPrivate.h: New, declares abstract interface for media engines.
1994         (WebCore::MediaPlayerPrivateInterface::~MediaPlayerPrivateInterface):
1995         (WebCore::MediaPlayerPrivateInterface::totalBytesKnown):
1996
1997         * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Add support for engine factory
1998
1999         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2000         (WebCore::MediaPlayerPrivate::create): New, media engine factory function
2001         (WebCore::MediaPlayerPrivate::registerMediaEngine): Register engine with MediaPlayer factory
2002         (WebCore::MediaPlayerPrivate::load): URL is a const String.
2003         (WebCore::MediaPlayerPrivate::duration): Declare const.
2004         (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
2005         (WebCore::MediaPlayerPrivate::hasVideo): Ditto.
2006         (WebCore::MediaPlayerPrivate::networkState): Ditto.
2007         (WebCore::MediaPlayerPrivate::readyState): Ditto.
2008         (WebCore::MediaPlayerPrivate::maxTimeBuffered): Ditto.
2009         (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto.
2010         (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
2011         (WebCore::MediaPlayerPrivate::bytesLoaded): Ditto.
2012         (WebCore::MediaPlayerPrivate::totalBytesKnown): Ditto.
2013         (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
2014         (WebCore::MediaPlayerPrivate::supportsType): Return MediaPlayer::SupportsType enum instead of bool.
2015         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
2016         (WebCore::MediaPlayerPrivate::isAvailable):
2017
2018         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2019         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2020         (WebCore::MediaPlayerPrivateQTKit::create): New, media engine factory function
2021         (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Register engine with MediaPlayer factory
2022         (WebCore::MediaPlayerPrivate::createQTMovieView): don't access MediaPlayer->m_frameView directly,
2023         use accessor function.
2024         (WebCore::MediaPlayerPrivate::setUpVideoRendering): Ditto.
2025         (WebCore::MediaPlayerPrivate::paint): Ditto.
2026         (WebCore::mimeTypeCache): New.
2027         (WebCore::MediaPlayerPrivate::getSupportedTypes): New, media engine factory function.
2028         (WebCore::MediaPlayerPrivate::supportsType): return MediaPlayer::SupportsType enum instead of bool
2029         (-[WebCoreMovieObserver initWithCallback:]): fix formatting
2030
2031         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2032         (WebCore::MediaPlayerPrivate::create):
2033         (WebCore::MediaPlayerPrivate::registerMediaEngine):
2034         (WebCore::MediaPlayerPrivate::supportsType):
2035         (WebCore::MediaPlayerPrivate::load): URL is a const String.
2036         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
2037         (WebCore::MediaPlayerPrivate::isAvailable):
2038
2039         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2040         (WebCore::MediaPlayerPrivate::create): New, media engine factory function
2041         (WebCore::MediaPlayerPrivate::registerMediaEngine): New, register engine with MediaPlayer factory
2042         (WebCore::MediaPlayerPrivate::load): URL is a const String.
2043         (WebCore::MediaPlayerPrivate::paint): don't access MediaPlayer->m_frameView directly,
2044         use accessor function.
2045         (WebCore::mimeTypeCache): New.
2046         (WebCore::MediaPlayerPrivateQTWin::getSupportedTypes): New, media engine factory function.
2047         (WebCore::MediaPlayerPrivateQTWin::supportsType): return MediaPlayer::SupportsType enum instead of bool
2048         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
2049
2050 2009-02-12  Julien Chaffraix  <jchaffraix@webkit.org>
2051
2052         Reviewed by Darin Adler.
2053
2054         Test: fast/dom/prefixed-image-tag.xhtml
2055
2056         Bug 23915: Remove setPrefix work-around in Document::createElement(QualifiedName, bool)
2057
2058         Instead we now directly propage the QualifiedName inside the generated Factory.
2059
2060         Test: fast/dom/prefixed-image-tag.xhtml
2061
2062         * dom/Document.cpp:
2063         (WebCore::Document::createElement): Removed the setPrefix work-around
2064         and replaced it with an ASSERT to catch mistakes inside the Factory code.
2065         Remove the unneeded ExceptionCode argument.
2066
2067         (WebCore::Document::createElementNS): Removed ExceptionCode argument.
2068         * dom/Document.h: Updated the signature.
2069         * dom/XMLTokenizerLibxml2.cpp:
2070         (WebCore::XMLTokenizer::startElementNs): Removed ExceptionCode argument.
2071         * dom/XMLTokenizerQt.cpp: Ditto.
2072         (WebCore::XMLTokenizer::parseStartElement): Ditto.
2073
2074         * dom/make_names.pl: Implemented the QualifiedName propogation logic
2075         in the Factory.
2076
2077 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
2078
2079         Reviewed by Dave Hyatt
2080
2081         https://bugs.webkit.org/show_bug.cgi?id=23188
2082
2083         Define enum values for Animation::direction(), and one for
2084         IterationCountInfinite to make the code more self-documenting.
2085
2086         Order the member vars of Animation to optimize packing.
2087
2088         * css/CSSComputedStyleDeclaration.cpp:
2089         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2090         * platform/animation/Animation.cpp:
2091         (WebCore::Animation::Animation):
2092         (WebCore::Animation::operator=):
2093         (WebCore::Animation::animationsMatch):
2094         * platform/animation/Animation.h:
2095         (WebCore::Animation::):
2096         (WebCore::Animation::direction):
2097         (WebCore::Animation::initialAnimationDirection):
2098         * platform/graphics/mac/GraphicsLayerCA.mm:
2099         (WebCore::GraphicsLayerCA::setBasicAnimation):
2100         (WebCore::GraphicsLayerCA::setKeyframeAnimation):
2101
2102 2009-02-12  Christian Dywan  <christian@twotoasts.de>
2103
2104         Reviewed by Holger Freyther.
2105
2106         * platform/network/soup/ResourceHandleSoup.cpp:
2107         (WebCore::ResourceHandle::startHttp): Don't use O_CLOEXEC for now.
2108
2109 2009-02-12  Julien Chaffraix  <jchaffraix@webkit.org>
2110
2111         Reviewed by Darin Adler.
2112
2113         Bug 23826: Potential bug with before/after rule while moving element from one document to another
2114
2115         Moved the document before/after toggle from the constructor to insertedIntoDocument.
2116
2117         Test: fast/css-generated-content/beforeAfter-interdocument.html
2118
2119         * html/HTMLQuoteElement.cpp:
2120         (WebCore::HTMLQuoteElement::HTMLQuoteElement):
2121         (WebCore::HTMLQuoteElement::insertedIntoDocument):
2122         * html/HTMLQuoteElement.h:
2123
2124 2009-02-12  David Hyatt  <hyatt@apple.com>
2125
2126         Reviewed by Simon Fraser
2127
2128         Fix for https://bugs.webkit.org/show_bug.cgi?id=23912
2129
2130         I have no idea why this broke.  As far as I can tell the old code never should have worked in
2131         the first place.  Add code to handleWheelEvent that will find an enclosing renderer for a node
2132         in order to attempt a wheel scroll.
2133
2134         * page/EventHandler.cpp:
2135         (WebCore::EventHandler::handleWheelEvent):
2136
2137 2009-02-12  David Hyatt  <hyatt@apple.com>
2138
2139         Move the functions that paint borders, box shadows and border images into RenderBoxModelObject.  drawBorder and drawBorderArc, because they are used
2140         for outlines as well as borders, need to stay in RenderObject.  Rename them to drawLineForBoxSide and drawArcForBoxSide in order to reflect their
2141         more generic use.  Rename the BorderSide struct to BoxSide, since the concept of "side" is just a rectangle concept and not a border concept.
2142
2143         Reviewed by Simon Fraser
2144
2145         * rendering/InlineFlowBox.cpp:
2146         (WebCore::InlineFlowBox::paintFillLayer):
2147         (WebCore::InlineFlowBox::paintBoxShadow):
2148         (WebCore::InlineFlowBox::paintBoxDecorations):
2149         (WebCore::InlineFlowBox::paintMask):
2150         * rendering/RenderBlock.cpp:
2151         (WebCore::RenderBlock::paintColumns):
2152         * rendering/RenderBoxModelObject.cpp:
2153         (WebCore::RenderBoxModelObject::paintNinePieceImage):
2154         (WebCore::RenderBoxModelObject::paintBorder):
2155         (WebCore::RenderBoxModelObject::paintBoxShadow):
2156         * rendering/RenderBoxModelObject.h:
2157         * rendering/RenderFieldset.cpp:
2158         (WebCore::RenderFieldset::paintBorderMinusLegend):
2159         * rendering/RenderInline.cpp:
2160         (WebCore::RenderInline::paintOutlineForLine):
2161         * rendering/RenderObject.cpp:
2162         (WebCore::RenderObject::drawLineForBoxSide):
2163         (WebCore::RenderObject::drawArcForBoxSide):
2164         (WebCore::RenderObject::paintOutline):
2165         * rendering/RenderObject.h:
2166         (WebCore::):
2167         (WebCore::RenderObject::hasBoxDecorations):
2168         * rendering/RenderTableCell.cpp:
2169         (WebCore::CollapsedBorders::addBorder):
2170         (WebCore::RenderTableCell::paintCollapsedBorder):
2171
2172 2009-02-12  Eric Carlson  <eric.carlson@apple.com>
2173
2174         Reviewed by Simon Fraser
2175
2176         Bug 18322: video element should have ui when scripting is disabled
2177         https://bugs.webkit.org/show_bug.cgi?id=18322
2178
2179         * html/HTMLMediaElement.cpp:
2180         (WebCore::HTMLMediaElement::controls): always return 'true' when JavaScript is disabled.
2181         * manual-tests/media-controls-when-javascript-disabled.html: Added.
2182
2183 2009-02-12  Dimitri Glazkov  <dglazkov@chromium.org>
2184
2185         Reviewed by Eric Seidel.
2186
2187         https://bugs.webkit.org/show_bug.cgi?id=23906
2188         Add custom V8 bindings for HTMLPlugInElement.
2189
2190         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: Added.
2191         (WebCore::NAMED_PROPERTY_GETTER):
2192         (WebCore::NAMED_PROPERTY_SETTER):
2193         (WebCore::CALLBACK_FUNC_DECL):
2194         (WebCore::INDEXED_PROPERTY_GETTER):
2195         (WebCore::INDEXED_PROPERTY_SETTER):
2196
2197 2009-02-12  Gustavo Noronha Silva  <gns@gnome.org>
2198
2199         Reviewed by Mark Rowe.
2200
2201         [GTK] Soup backend must handle upload of multiple files
2202         https://bugs.webkit.org/show_bug.cgi?id=18343
2203
2204         * platform/network/soup/ResourceHandleSoup.cpp:
2205         (WebCore::):
2206         (WebCore::freeFileMapping):
2207         (WebCore::ResourceHandle::startHttp): Support multipart request bodies
2208         mmap'ing files to be uploaded.
2209
2210 2009-02-12  Adam Treat  <adam.treat@torchmobile.com>
2211
2212         Fix the Qt build following r40871 which changed RenderObject::element()
2213         into RenderObject::node().
2214
2215         * platform/qt/RenderThemeQt.cpp:
2216         (WebCore::RenderThemeQt::getMediaElementFromRenderObject):
2217         (WebCore::RenderThemeQt::getMediaControlForegroundColor):
2218
2219 2009-02-12  Alexey Proskuryakov  <ap@webkit.org>
2220
2221         Build fix.
2222
2223         * platform/graphics/transforms/RotateTransformOperation.cpp: Include <algorithm>.
2224
2225 2009-02-12  Jian Li  <jianli@chromium.org>
2226
2227         Reviewed by Alexey Proskuryakov.
2228
2229         Change worker code to use different proxy class pointers.
2230         https://bugs.webkit.org/show_bug.cgi?id=23859
2231
2232         This is a step towards using separate proxies in multi-process implementation.
2233
2234         * bindings/js/WorkerScriptController.cpp:
2235         (WebCore::WorkerScriptController::evaluate):
2236         * dom/Worker.cpp:
2237         (WebCore::Worker::Worker):
2238         (WebCore::Worker::~Worker):
2239         (WebCore::Worker::postMessage):
2240         (WebCore::Worker::terminate):
2241         (WebCore::Worker::hasPendingActivity):
2242         (WebCore::Worker::notifyFinished):
2243         (WebCore::Worker::dispatchMessage):
2244         * dom/Worker.h:
2245         * dom/WorkerContext.cpp:
2246         (WebCore::WorkerContext::~WorkerContext):
2247         (WebCore::WorkerContext::reportException):
2248         (WebCore::WorkerContext::addMessage):
2249         (WebCore::WorkerContext::postMessage):
2250         (WebCore::WorkerContext::dispatchMessage):
2251         * dom/WorkerContext.h:
2252         * dom/WorkerContextProxy.h:
2253         * dom/WorkerMessagingProxy.cpp:
2254         (WebCore::MessageWorkerContextTask::performTask):
2255         (WebCore::MessageWorkerTask::performTask):
2256         (WebCore::WorkerContextProxy::create):
2257         (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
2258         (WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):
2259         (WebCore::WorkerMessagingProxy::startWorkerContext):
2260         (WebCore::postConsoleMessageTask):
2261         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
2262         (WebCore::WorkerMessagingProxy::workerThreadCreated):
2263         * dom/WorkerMessagingProxy.h:
2264         * dom/WorkerObjectProxy.h:
2265         * dom/WorkerThread.cpp:
2266         (WebCore::WorkerThread::create):
2267         (WebCore::WorkerThread::WorkerThread):
2268         (WebCore::WorkerThread::workerThread):
2269         * dom/WorkerThread.h:
2270         (WebCore::WorkerThread::workerObjectProxy):
2271         * loader/WorkerThreadableLoader.cpp:
2272         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2273
2274 2009-02-12  David Levin  <levin@chromium.org>
2275
2276         Reviewed by Alexey Proskuryakov.
2277
2278         Bug 23688: ThreadableLoader needs a sync implementation for Workers.
2279         <https://bugs.webkit.org/show_bug.cgi?id=23688>
2280
2281         Add ResourceError to ThreadableLoaderClient.
2282
2283         No observable change in behavior, so no test.
2284
2285         * loader/DocumentThreadableLoader.cpp:
2286         (WebCore::DocumentThreadableLoader::create):
2287         (WebCore::DocumentThreadableLoader::willSendRequest):
2288         (WebCore::DocumentThreadableLoader::didFail):
2289         * loader/ThreadableLoaderClient.h:
2290         (WebCore::ThreadableLoaderClient::didFail):
2291         (WebCore::ThreadableLoaderClient::didFailWillSendRequestCheck):
2292         * loader/ThreadableLoaderClientWrapper.h:
2293         (WebCore::ThreadableLoaderClientWrapper::didFail):
2294         * loader/WorkerThreadableLoader.cpp:
2295         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
2296         (WebCore::workerContextDidFail):
2297         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
2298         * loader/WorkerThreadableLoader.h:
2299         * xml/XMLHttpRequest.cpp:
2300         (WebCore::XMLHttpRequest::didFail):
2301         (WebCore::XMLHttpRequest::didFailWillSendRequestCheck):
2302         * xml/XMLHttpRequest.h:
2303
2304 2009-02-11  Simon Fraser  <simon.fraser@apple.com>
2305
2306         Reviewed by Dave Hyatt
2307
2308         Fix the build on Leopard with ACCELERATED_COMPOSITING turned on.
2309
2310         * WebCore.xcodeproj/project.pbxproj:
2311         FloatPoint3D needs to be a private header, since it's included by GraphicsLayer.h
2312         * platform/graphics/mac/GraphicsLayerCA.mm:
2313         (WebCore::getTransformFunctionValue):
2314         (WebCore::caValueFunctionSupported):
2315         (WebCore::GraphicsLayerCA::setAnchorPoint):
2316         (WebCore::GraphicsLayerCA::setPreserves3D):
2317         (WebCore::GraphicsLayerCA::setContentsToImage):
2318         (WebCore::GraphicsLayerCA::setBasicAnimation):
2319         (WebCore::GraphicsLayerCA::setKeyframeAnimation):
2320         * rendering/RenderLayer.h:
2321         (WebCore::RenderLayer::isRootLayer):
2322         Fix isRootLayer to return true for the renderView's layer, not the root
2323         renderer's layer.
2324
2325 2009-02-11  Adele Peterson  <adele@apple.com>
2326
2327         Reviewed by Oliver Hunt.
2328
2329         Fix for https://bugs.webkit.org/show_bug.cgi?id=23910
2330         <rdar://problem/6160546> REGRESSION: In Full page mode, movie controller hides when I drag the knob if movie is playing
2331
2332         * rendering/RenderMedia.cpp: (WebCore::RenderMedia::forwardEvent):
2333         When we get a mouseOut event, consider the mouse as still within the RenderMedia if the relatedTarget is a descendant.
2334
2335 2009-02-11  David Hyatt  <hyatt@apple.com>
2336
2337         Remove all of the inline box wrapper functions from RenderObject, since they only apply to RenderBox.  Devirtualize the functions.
2338         Patch all of the call sites to convert to a RenderBox.
2339
2340         Reviewed by Simon Fraser
2341
2342         * dom/Position.cpp:
2343         (WebCore::nextRenderedEditable):
2344         (WebCore::previousRenderedEditable):
2345         (WebCore::Position::getInlineBoxAndOffset):
2346         * rendering/InlineBox.cpp:
2347         (WebCore::InlineBox::deleteLine):
2348         (WebCore::InlineBox::extractLine):
2349         (WebCore::InlineBox::attachLine):
2350         * rendering/RenderLineBoxList.cpp:
2351         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
2352         * rendering/RenderObject.cpp:
2353         * rendering/RenderObject.h:
2354         * rendering/RenderObjectChildList.cpp:
2355         (WebCore::RenderObjectChildList::removeChildNode):
2356         * rendering/RenderTextControl.cpp:
2357         (WebCore::RenderTextControl::textWithHardLineBreaks):
2358
2359 2009-02-11  David Hyatt  <hyatt@apple.com>
2360
2361         Eliminate createInlineBox and dirtyLineBoxes from RenderObject.  These functions have been devirtualized.
2362         The single call site now calls a helper function that just bit checks and casts before calling the correct
2363         type.  RenderBlock's dirtyLineBoxes function was dead code (caused by the RenderFlow deletion), so it has
2364         just been removed.
2365
2366         Reviewed by Eric Seidel
2367
2368         * rendering/RenderBR.cpp:
2369         * rendering/RenderBR.h:
2370         * rendering/RenderBlock.cpp:
2371         (WebCore::RenderBlock::createRootInlineBox):
2372         * rendering/RenderBlock.h:
2373         * rendering/RenderBox.cpp:
2374         (WebCore::RenderBox::createInlineBox):
2375         * rendering/RenderBox.h:
2376         * rendering/RenderCounter.cpp:
2377         * rendering/RenderCounter.h:
2378         * rendering/RenderInline.cpp:
2379         (WebCore::RenderInline::createInlineFlowBox):
2380         * rendering/RenderInline.h:
2381         * rendering/RenderObject.cpp:
2382         * rendering/RenderObject.h:
2383         * rendering/RenderSVGInlineText.cpp:
2384         (WebCore::RenderSVGInlineText::createTextBox):
2385         * rendering/RenderSVGInlineText.h:
2386         (WebCore::RenderSVGInlineText::isSVGText):
2387         * rendering/RenderText.cpp:
2388         (WebCore::RenderText::createTextBox):
2389         (WebCore::RenderText::createInlineTextBox):
2390         * rendering/RenderText.h:
2391         * rendering/bidi.cpp:
2392         (WebCore::createInlineBoxForRenderer):
2393         (WebCore::RenderBlock::createLineBoxes):
2394         (WebCore::RenderBlock::constructLine):
2395         (WebCore::RenderBlock::layoutInlineChildren):
2396
2397 2009-02-11  Chris Marrin  <cmarrin@apple.com>
2398
2399         Reviewed by Dave Hyatt.
2400
2401         https://bugs.webkit.org/show_bug.cgi?id=23905
2402
2403         Adds support for 3D CSS properties (transform-style-3d, perspective,
2404         perspective-origin, and backface-visibility) to RenderStyle and friends
2405
2406         * platform/graphics/transforms/TransformOperation.h
2407         * rendering/style/RenderStyle.cpp:
2408         (WebCore::RenderStyle::diff):
2409         (WebCore::RenderStyle::applyTransform):
2410         * rendering/style/RenderStyle.h:
2411         (WebCore::InheritedFlags::transformOriginZ):
2412         (WebCore::InheritedFlags::hasTransformRelatedProperty):
2413         (WebCore::InheritedFlags::transformStyle3D):
2414         (WebCore::InheritedFlags::backfaceVisibility):
2415         (WebCore::InheritedFlags::perspective):
2416         (WebCore::InheritedFlags::perspectiveOriginX):
2417         (WebCore::InheritedFlags::perspectiveOriginY):
2418         (WebCore::InheritedFlags::setTransformOriginZ):
2419         (WebCore::InheritedFlags::setTransformStyle3D):
2420         (WebCore::InheritedFlags::setBackfaceVisibility):
2421         (WebCore::InheritedFlags::setPerspective):
2422         (WebCore::InheritedFlags::setPerspectiveOriginX):
2423         (WebCore::InheritedFlags::setPerspectiveOriginY):
2424         (WebCore::InheritedFlags::initialTransformOriginZ):
2425         (WebCore::InheritedFlags::initialTransformStyle3D):
2426         (WebCore::InheritedFlags::initialBackfaceVisibility):
2427         (WebCore::InheritedFlags::initialPerspective):
2428         (WebCore::InheritedFlags::initialPerspectiveOriginX):
2429         (WebCore::InheritedFlags::initialPerspectiveOriginY):
2430         * rendering/style/RenderStyleConstants.h:
2431         (WebCore::):
2432         * rendering/style/StyleRareNonInheritedData.cpp:
2433         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2434         (WebCore::StyleRareNonInheritedData::operator==):
2435         * rendering/style/StyleRareNonInheritedData.h:
2436         * rendering/style/StyleTransformData.cpp:
2437         (WebCore::StyleTransformData::StyleTransformData):
2438         (WebCore::StyleTransformData::operator==):
2439         * rendering/style/StyleTransformData.h:
2440
2441 2009-02-11  Simon Fraser  <simon.fraser@apple.com>
2442
2443         No review.
2444
2445         Fix ACCELERATED_COMPOSITING build.
2446
2447         * rendering/RenderLayerBacking.cpp:
2448         (WebCore::RenderLayerBacking::createGraphicsLayer):
2449         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2450         * rendering/RenderLayerCompositor.cpp:
2451         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
2452
2453 2009-02-11  Simon Fraser  <simon.fraser@apple.com>
2454
2455         Reviewed by Dave Hyatt
2456
2457         https://bugs.webkit.org/show_bug.cgi?id=23862
2458
2459         Add a bit on RenderStyle that gets set when running accelerated
2460         transitions of transform or opacity. These ensure that styles
2461         compare as different during the transition, so that interruption
2462         can be detected reliably.
2463
2464         * page/animation/ImplicitAnimation.cpp:
2465         (WebCore::ImplicitAnimation::animate):
2466         * rendering/style/RenderStyle.h:
2467         (WebCore::InheritedFlags::isRunningAcceleratedAnimation):
2468         (WebCore::InheritedFlags::setIsRunningAcceleratedAnimation):
2469         * rendering/style/StyleRareNonInheritedData.cpp:
2470         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2471         (WebCore::StyleRareNonInheritedData::operator==):
2472         * rendering/style/StyleRareNonInheritedData.h:
2473
2474 2009-02-11  David Hyatt  <hyatt@apple.com>
2475
2476         Eliminate the virtual position() function from RenderObject.  Rename the position() overrides
2477         in RenderText and RenderBox to positionLineBox and devirtualize them.
2478
2479         Patch the one call site to just check for isText() and isBox() and call the methods directly.
2480
2481         Remove some unnecessary overrides of position() on table sections and rows.
2482
2483         Reviewed by Simon Fraser
2484
2485         * rendering/RenderBox.cpp:
2486         (WebCore::RenderBox::positionLineBox):
2487         * rendering/RenderBox.h:
2488         * rendering/RenderObject.h:
2489         * rendering/RenderSVGRoot.cpp:
2490         * rendering/RenderSVGRoot.h:
2491         * rendering/RenderTableRow.h:
2492         (WebCore::RenderTableRow::lineHeight):
2493         * rendering/RenderTableSection.h:
2494         (WebCore::RenderTableSection::lineHeight):
2495         * rendering/RenderText.cpp:
2496         (WebCore::RenderText::positionLineBox):
2497         * rendering/RenderText.h:
2498         * rendering/bidi.cpp:
2499         (WebCore::RenderBlock::computeVerticalPositionsForLine):
2500
2501 2009-02-11  Dimitri Glazkov  <dglazkov@chromium.org>
2502
2503         Reviewed by Eric Seidel.
2504
2505         https://bugs.webkit.org/show_bug.cgi?id=23901
2506         Add HTML options/collections V8 custom bindings.
2507
2508         * bindings/v8/custom/V8HTMLCollectionCustom.cpp: Added.
2509         (WebCore::getNamedItems):
2510         (WebCore::getItem):
2511         (WebCore::NAMED_PROPERTY_GETTER):
2512         (WebCore::CALLBACK_FUNC_DECL):
2513         * bindings/v8/custom/V8HTMLFormElementCustom.cpp: Added.
2514         (WebCore::NAMED_PROPERTY_GETTER):
2515         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
2516         (WebCore::ACCESSOR_GETTER):
2517         (WebCore::ACCESSOR_SETTER):
2518         (WebCore::CALLBACK_FUNC_DECL):
2519         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2520         (WebCore::CALLBACK_FUNC_DECL):
2521         (WebCore::ACCESSOR_SETTER):
2522         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: Added.
2523         (WebCore::CALLBACK_FUNC_DECL):
2524         (WebCore::removeElement):
2525         * bindings/v8/custom/V8HTMLSelectElementCustom.h: Added.
2526         * bindings/v8/custom/V8NamedNodesCollection.cpp: Added.
2527         (WebCore::V8NamedNodesCollection::item):
2528         (WebCore::V8NamedNodesCollection::itemWithName):
2529         * bindings/v8/custom/V8NamedNodesCollection.h: Added.
2530         (WebCore::V8NamedNodesCollection::V8NamedNodesCollection):
2531         (WebCore::V8NamedNodesCollection::length):
2532
2533 2009-02-11  Dimitri Dupuis-latour  <dupuislatour@apple.com>
2534
2535         Added a preference to disable some Inspector's panels (rdar://6419624, rdar://6419645).
2536         This is controlled via the 'WebKitInspectorHiddenPanels' key; if nothing is specified, all panels are shown.
2537
2538         Reviewed by Timothy Hatcher.
2539
2540         * inspector/InspectorClient.h:
2541         * inspector/InspectorController.cpp:
2542         (WebCore::hiddenPanels):
2543         (WebCore::InspectorController::hiddenPanels):
2544         (WebCore::InspectorController::windowScriptObjectAvailable):
2545         * inspector/InspectorController.h:
2546         * inspector/front-end/inspector.js:
2547         (WebInspector.loaded):
2548         * loader/EmptyClients.h:
2549         (WebCore::EmptyInspectorClient::hiddenPanels):
2550
2551 2009-02-11  David Hyatt  <hyatt@apple.com>
2552
2553         Combine RenderObject::element() and RenderObject::node() into a single function.
2554         node() now has the "anonymous bit" checking behavior of element() and will
2555         return 0 for anonymous content.  This patch switches all callers of element()
2556         to node() and patches old callers of node() to deal with situations where they
2557         did not expect node() to be 0.  A bunch of node() calls were calling stuff on
2558         Document that they clearly didn't intend, so overall this is a nice improvement.
2559
2560         Reviewed by Sam Weinig
2561
2562         * dom/ContainerNode.cpp:
2563         (WebCore::ContainerNode::getUpperLeftCorner):
2564         * dom/Element.cpp:
2565         (WebCore::Element::offsetParent):
2566         * dom/Position.cpp:
2567         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
2568         * editing/ModifySelectionListLevel.cpp:
2569         (WebCore::getStartEndListChildren):
2570         (WebCore::IncreaseSelectionListLevelCommand::doApply):
2571         (WebCore::DecreaseSelectionListLevelCommand::doApply):
2572         * editing/TextIterator.cpp:
2573         (WebCore::TextIterator::advance):
2574         * editing/VisiblePosition.cpp:
2575         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
2576         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
2577         * editing/visible_units.cpp:
2578         (WebCore::startPositionForLine):
2579         (WebCore::endPositionForLine):
2580         * page/AXObjectCache.cpp:
2581         (WebCore::AXObjectCache::get):
2582         * page/AccessibilityList.cpp:
2583         (WebCore::AccessibilityList::isUnorderedList):
2584         (WebCore::AccessibilityList::isOrderedList):
2585         (WebCore::AccessibilityList::isDefinitionList):
2586         * page/AccessibilityListBox.cpp:
2587         (WebCore::AccessibilityListBox::doAccessibilityHitTest):
2588         * page/AccessibilityRenderObject.cpp:
2589         (WebCore::AccessibilityRenderObject::isPasswordField):
2590         (WebCore::AccessibilityRenderObject::isFileUploadButton):
2591         (WebCore::AccessibilityRenderObject::isInputImage):
2592         (WebCore::AccessibilityRenderObject::isMultiSelect):
2593         (WebCore::AccessibilityRenderObject::isControl):
2594         (WebCore::AccessibilityRenderObject::getAttribute):
2595         (WebCore::AccessibilityRenderObject::anchorElement):
2596         (WebCore::AccessibilityRenderObject::actionElement):
2597         (WebCore::AccessibilityRenderObject::mouseButtonListener):
2598         (WebCore::AccessibilityRenderObject::helpText):
2599         (WebCore::AccessibilityRenderObject::textUnderElement):
2600         (WebCore::AccessibilityRenderObject::hasIntValue):
2601         (WebCore::AccessibilityRenderObject::intValue):
2602         (WebCore::AccessibilityRenderObject::labelElementContainer):
2603         (WebCore::AccessibilityRenderObject::title):
2604         (WebCore::AccessibilityRenderObject::accessibilityDescription):
2605         (WebCore::AccessibilityRenderObject::boundingBoxRect):
2606         (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
2607         (WebCore::AccessibilityRenderObject::titleUIElement):
2608         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2609         (WebCore::AccessibilityRenderObject::text):
2610         (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange):
2611         (WebCore::AccessibilityRenderObject::accessKey):
2612         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
2613         (WebCore::AccessibilityRenderObject::url):
2614         (WebCore::AccessibilityRenderObject::isFocused):
2615         (WebCore::AccessibilityRenderObject::setFocused):
2616         (WebCore::AccessibilityRenderObject::setValue):
2617         (WebCore::AccessibilityRenderObject::isEnabled):
2618         (WebCore::AccessibilityRenderObject::visiblePositionRange):
2619         (WebCore::AccessibilityRenderObject::index):
2620         (WebCore::AccessibilityRenderObject::activeDescendant):
2621         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
2622         (WebCore::AccessibilityRenderObject::observableObject):
2623         (WebCore::AccessibilityRenderObject::roleValue):
2624         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
2625         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
2626         * page/AccessibilityTable.cpp:
2627         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2628         (WebCore::AccessibilityTable::title):
2629         * page/AccessibilityTableCell.cpp:
2630         (WebCore::AccessibilityTableCell::titleUIElement):
2631         * page/AccessibilityTableColumn.cpp:
2632         (WebCore::AccessibilityTableColumn::headerObjectForSection):
2633         * page/AccessibilityTableRow.cpp:
2634         (WebCore::AccessibilityTableRow::headerObject):
2635         * page/EventHandler.cpp:
2636         (WebCore::EventHandler::dispatchMouseEvent):
2637         (WebCore::EventHandler::canMouseDownStartSelect):
2638         (WebCore::EventHandler::canMouseDragExtendSelect):
2639         (WebCore::EventHandler::shouldDragAutoNode):
2640         * page/Frame.cpp:
2641         (WebCore::Frame::searchForLabelsAboveCell):
2642         (WebCore::Frame::setFocusedNodeIfNeeded):
2643         * page/FrameView.cpp:
2644         (WebCore::FrameView::updateOverflowStatus):
2645         * page/animation/AnimationBase.cpp:
2646         (WebCore::AnimationBase::updateStateMachine):
2647         * page/animation/AnimationController.cpp:
2648         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
2649         (WebCore::AnimationController::cancelAnimations):
2650         (WebCore::AnimationController::updateAnimations):
2651         * page/animation/KeyframeAnimation.cpp:
2652         (WebCore::KeyframeAnimation::KeyframeAnimation):
2653         (WebCore::KeyframeAnimation::endAnimation):
2654         * page/mac/AccessibilityObjectWrapper.mm:
2655         (blockquoteLevel):
2656         (AXAttributeStringSetHeadingLevel):
2657         * page/mac/FrameMac.mm:
2658         (WebCore::Frame::searchForNSLabelsAboveCell):
2659         * rendering/InlineFlowBox.cpp:
2660         (WebCore::InlineFlowBox::verticallyAlignBoxes):
2661         (WebCore::InlineFlowBox::paint):
2662         (WebCore::shouldDrawTextDecoration):
2663         * rendering/InlineTextBox.cpp:
2664         (WebCore::InlineTextBox::paintDocumentMarkers):
2665         * rendering/RenderBR.cpp:
2666         (WebCore::RenderBR::positionForCoordinates):
2667         * rendering/RenderBlock.cpp:
2668         (WebCore::RenderBlock::layoutBlock):
2669         (WebCore::RenderBlock::handleRunInChild):
2670         (WebCore::RenderBlock::paintObject):
2671         (WebCore::RenderBlock::isSelectionRoot):
2672         (WebCore::RenderBlock::rightmostPosition):
2673         (WebCore::RenderBlock::positionForBox):
2674         (WebCore::RenderBlock::positionForRenderer):
2675         (WebCore::RenderBlock::positionForCoordinates):
2676         (WebCore::RenderBlock::hasLineIfEmpty):
2677         (WebCore::RenderBlock::updateFirstLetter):
2678         (WebCore::RenderBlock::updateHitTestResult):
2679         (WebCore::RenderBlock::addFocusRingRects):
2680         * rendering/RenderBox.cpp:
2681         (WebCore::RenderBox::styleWillChange):
2682         (WebCore::RenderBox::updateBoxModelInfoFromStyle):
2683         (WebCore::RenderBox::paintRootBoxDecorations):
2684         (WebCore::RenderBox::positionForCoordinates):
2685         * rendering/RenderButton.cpp:
2686         (WebCore::RenderButton::updateFromElement):
2687         (WebCore::RenderButton::canHaveChildren):
2688         * rendering/RenderCounter.cpp:
2689         (WebCore::planCounter):
2690         * rendering/RenderFieldset.cpp:
2691         (WebCore::RenderFieldset::findLegend):
2692         * rendering/RenderFlexibleBox.cpp:
2693         (WebCore::RenderFlexibleBox::layoutVerticalBox):
2694         * rendering/RenderForeignObject.cpp:
2695         (WebCore::RenderForeignObject::translationForAttributes):
2696         (WebCore::RenderForeignObject::calculateLocalTransform):
2697         * rendering/RenderFrame.h:
2698         (WebCore::RenderFrame::element):
2699         * rendering/RenderImage.cpp:
2700         (WebCore::RenderImage::paintReplaced):
2701         (WebCore::RenderImage::imageMap):
2702         (WebCore::RenderImage::nodeAtPoint):
2703         (WebCore::RenderImage::updateAltText):
2704         * rendering/RenderInline.cpp:
2705         (WebCore::RenderInline::cloneInline):
2706         (WebCore::RenderInline::updateHitTestResult):
2707         * rendering/RenderLayer.cpp:
2708         (WebCore::RenderLayer::isTransparent):
2709         (WebCore::RenderLayer::scrollToOffset):
2710         (WebCore::RenderLayer::resize):
2711         (WebCore::RenderLayer::createScrollbar):
2712         (WebCore::RenderLayer::updateOverflowStatus):
2713         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2714         (WebCore::RenderLayer::enclosingElement):
2715         (WebCore::RenderLayer::updateHoverActiveState):
2716         (WebCore::RenderLayer::updateScrollCornerStyle):
2717         (WebCore::RenderLayer::updateResizerStyle):
2718         * rendering/RenderLayer.h:
2719         (WebCore::RenderLayer::isRootLayer):
2720         * rendering/RenderListItem.cpp:
2721         (WebCore::getParentOfFirstLineBox):
2722         * rendering/RenderMarquee.cpp:
2723         (WebCore::RenderMarquee::marqueeSpeed):
2724         * rendering/RenderObject.cpp:
2725         (WebCore::RenderObject::RenderObject):
2726         (WebCore::RenderObject::isBody):
2727         (WebCore::RenderObject::isHR):
2728         (WebCore::RenderObject::isHTMLMarquee):
2729         (WebCore::RenderObject::isEditable):
2730         (WebCore::RenderObject::addPDFURLRect):
2731         (WebCore::RenderObject::showTreeForThis):
2732         (WebCore::RenderObject::draggableNode):
2733         (WebCore::RenderObject::hasOutlineAnnotation):
2734         (WebCore::RenderObject::positionForCoordinates):
2735         (WebCore::RenderObject::updateDragState):
2736         (WebCore::RenderObject::updateHitTestResult):
2737         (WebCore::RenderObject::getUncachedPseudoStyle):
2738         (WebCore::RenderObject::getTextDecorationColors):
2739         (WebCore::RenderObject::caretMaxOffset):
2740         (WebCore::RenderObject::offsetParent):
2741         * rendering/RenderObject.h:
2742         (WebCore::RenderObject::isRoot):
2743         (WebCore::RenderObject::isInlineContinuation):
2744         (WebCore::RenderObject::node):
2745         (WebCore::RenderObject::setNode):
2746         * rendering/RenderObjectChildList.cpp:
2747         (WebCore::RenderObjectChildList::destroyLeftoverChildren):
2748         * rendering/RenderPart.cpp:
2749         (WebCore::RenderPart::updateWidgetPosition):
2750         * rendering/RenderPartObject.cpp:
2751         (WebCore::RenderPartObject::updateWidget):
2752         (WebCore::RenderPartObject::viewCleared):
2753         * rendering/RenderPath.cpp:
2754         (WebCore::RenderPath::calculateLocalTransform):
2755         (WebCore::RenderPath::layout):
2756         (WebCore::RenderPath::paint):
2757         (WebCore::RenderPath::drawMarkersIfNeeded):
2758         * rendering/RenderReplaced.cpp:
2759         (WebCore::RenderReplaced::positionForCoordinates):
2760         (WebCore::RenderReplaced::isSelected):
2761         * rendering/RenderSVGGradientStop.cpp:
2762         (WebCore::RenderSVGGradientStop::gradientElement):
2763         * rendering/RenderSVGImage.cpp:
2764         (WebCore::RenderSVGImage::calculateLocalTransform):
2765         * rendering/RenderSVGInlineText.cpp:
2766         (WebCore::RenderSVGInlineText::positionForCoordinates):
2767         * rendering/RenderSVGRoot.cpp:
2768         (WebCore::RenderSVGRoot::layout):
2769         (WebCore::RenderSVGRoot::applyContentTransforms):
2770         (WebCore::RenderSVGRoot::paint):
2771         (WebCore::RenderSVGRoot::calcViewport):
2772         (WebCore::RenderSVGRoot::absoluteTransform):
2773         * rendering/RenderSVGText.cpp:
2774         (WebCore::RenderSVGText::calculateLocalTransform):
2775         (WebCore::RenderSVGText::layout):
2776         * rendering/RenderSVGTextPath.cpp:
2777         (WebCore::RenderSVGTextPath::layoutPath):
2778         (WebCore::RenderSVGTextPath::startOffset):
2779         (WebCore::RenderSVGTextPath::exactAlignment):
2780         (WebCore::RenderSVGTextPath::stretchMethod):
2781         * rendering/RenderSVGTransformableContainer.cpp:
2782         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
2783         * rendering/RenderSVGViewportContainer.cpp:
2784         (WebCore::RenderSVGViewportContainer::calcViewport):
2785         (WebCore::RenderSVGViewportContainer::viewportTransform):
2786         (WebCore::RenderSVGViewportContainer::nodeAtPoint):
2787         * rendering/RenderTable.cpp:
2788         (WebCore::RenderTable::addChild):
2789         * rendering/RenderTableCell.cpp:
2790         (WebCore::RenderTableCell::updateFromElement):
2791         (WebCore::RenderTableCell::calcPrefWidths):
2792         * rendering/RenderTableCol.cpp:
2793         (WebCore::RenderTableCol::updateFromElement):
2794         * rendering/RenderTableRow.cpp:
2795         (WebCore::RenderTableRow::addChild):
2796         * rendering/RenderTableSection.cpp:
2797         (WebCore::RenderTableSection::addChild):
2798         * rendering/RenderText.cpp:
2799         (WebCore::RenderText::originalText):
2800         (WebCore::RenderText::positionForCoordinates):
2801         * rendering/RenderTextControlMultiLine.cpp:
2802         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
2803         * rendering/RenderTextControlSingleLine.cpp:
2804         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
2805         * rendering/RenderTextFragment.cpp:
2806         (WebCore::RenderTextFragment::originalText):
2807         (WebCore::RenderTextFragment::previousCharacter):
2808         * rendering/RenderTheme.cpp:
2809         (WebCore::RenderTheme::isActive):
2810         (WebCore::RenderTheme::isChecked):
2811         (WebCore::RenderTheme::isIndeterminate):
2812         (WebCore::RenderTheme::isEnabled):
2813         (WebCore::RenderTheme::isFocused):
2814         (WebCore::RenderTheme::isPressed):
2815         (WebCore::RenderTheme::isReadOnlyControl):
2816         (WebCore::RenderTheme::isHovered):
2817         * rendering/RenderThemeMac.mm:
2818         (WebCore::RenderThemeMac::updatePressedState):
2819         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
2820         (WebCore::RenderThemeMac::paintMediaMuteButton):
2821         (WebCore::RenderThemeMac::paintMediaPlayButton):
2822         (WebCore::RenderThemeMac::paintMediaSeekBackButton):
2823         (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
2824         (WebCore::RenderThemeMac::paintMediaSliderTrack):
2825         (WebCore::RenderThemeMac::paintMediaSliderThumb):
2826         (WebCore::RenderThemeMac::paintMediaTimelineContainer):
2827         (WebCore::RenderThemeMac::paintMediaCurrentTime):
2828         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
2829         * rendering/RenderThemeSafari.cpp:
2830         (WebCore::RenderThemeSafari::paintMediaMuteButton):
2831         (WebCore::RenderThemeSafari::paintMediaPlayButton):
2832         (WebCore::RenderThemeSafari::paintMediaSliderTrack):
2833         * rendering/RenderTreeAsText.cpp:
2834         (WebCore::operator<<):
2835         (WebCore::writeSelection):
2836         * rendering/RenderWidget.cpp:
2837         (WebCore::RenderWidget::setWidgetGeometry):
2838         (WebCore::RenderWidget::updateWidgetPosition):
2839         (WebCore::RenderWidget::nodeAtPoint):
2840         * rendering/RootInlineBox.cpp:
2841         (WebCore::isEditableLeaf):
2842         * rendering/SVGRenderSupport.cpp:
2843         (WebCore::prepareToRenderSVGContent):
2844         * rendering/SVGRenderTreeAsText.cpp:
2845         (WebCore::write):
2846         * rendering/SVGRootInlineBox.cpp:
2847         (WebCore::SVGRootInlineBox::buildLayoutInformation):
2848         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
2849         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2850         (WebCore::SVGRootInlineBox::buildTextChunks):
2851         * rendering/style/SVGRenderStyle.cpp:
2852         (WebCore::SVGRenderStyle::cssPrimitiveToLength):
2853         * svg/SVGFont.cpp:
2854         (WebCore::SVGTextRunWalker::walk):
2855         (WebCore::floatWidthOfSubStringUsingSVGFont):
2856         (WebCore::Font::drawTextUsingSVGFont):
2857         * svg/SVGTextContentElement.cpp:
2858         (WebCore::findInlineTextBoxInTextChunks):
2859         * svg/graphics/SVGPaintServer.cpp:
2860         (WebCore::SVGPaintServer::fillPaintServer):
2861         (WebCore::SVGPaintServer::strokePaintServer):
2862
2863 2009-02-11  Brady Eidson  <beidson@apple.com>
2864
2865         Reviewed by Darin Adler
2866
2867         <rdar://problem/3541409> - Further FrameLoader and page cache cleanup
2868
2869         * history/CachedFrame.cpp:
2870         (WebCore::CachedFrame::restore): Moved updatePlatformScriptObjects() here.
2871
2872         * loader/FrameLoader.cpp:
2873         (WebCore::FrameLoader::commitProvisionalLoad): Rolled opened() into this method.  This method was
2874           the only caller and - in the future - will benefit from doing parts of opened()'s work differently.
2875         (WebCore::FrameLoader::open): Split off per-frame logic into open(CachedFrame&) method.
2876         (WebCore::FrameLoader::closeAndRemoveChild): Added.  Do the non-tree related cleanup that
2877           FrameTree::removeChild() used to do.
2878         (WebCore::FrameLoader::detachFromParent): Call ::closeAndRemoveChild() instead.
2879         (WebCore::FrameLoader::cachePageForHistoryItem): Perform the "can cache page" check here.
2880         * loader/FrameLoader.h:
2881
2882         * page/FrameTree.cpp:
2883         (WebCore::FrameTree::removeChild): Just remove the Frame from the tree.  Closing it and other
2884           cleanup is the responsibility of the FrameLoader.
2885         * page/FrameTree.h:
2886         (WebCore::FrameTree::detachFromParent): Added to just clear a Frame's parent pointer
2887
2888 2009-02-11  Scott Violet  <sky@google.com>
2889
2890         Reviewed by Eric Seidel.
2891
2892         https://bugs.webkit.org/show_bug.cgi?id=23882
2893         GraphicsContextSkia draws round rects as solid rects
2894
2895         Fixes two bugs in Skia's GraphicsContext::fillRoundedRect:
2896         . fillRoundedRect had an extra call to fillRect, resulting in always
2897           drawing a solid rectangle.
2898         . if the total radius along a given axis is greater than the size of
2899           the axis to draw, a solid rect should be drawn.
2900
2901         The layout tests LayoutTests/fast/css/shadow-multiple.html and
2902         LayoutTests/fast/box-shadow/basic-shadows.html cover this.
2903
2904         * platform/graphics/skia/GraphicsContextSkia.cpp:
2905         (WebCore::GraphicsContext::fillRoundedRect):
2906
2907 2009-02-11  Julien Chaffraix  <jchaffraix@webkit.org>
2908
2909         Reviewed by Eric Seidel.
2910
2911         Bug 23536: Auto-generate HTMLElementFactory
2912
2913         Remove the HTMLElementFactory files. Farewell.
2914
2915         * html/HTMLElementFactory.cpp: Removed.
2916         * html/HTMLElementFactory.h: Removed.
2917
2918 2009-02-11  Julien Chaffraix  <jchaffraix@webkit.org>
2919
2920         Reviewed by Eric Seidel.
2921
2922         Bug 23536: Auto-generate HTMLElementFactory
2923
2924         Make the platform auto-generate the HTMLElementFactory.
2925
2926         * DerivedSources.make:
2927         * GNUmakefile.am:
2928         * WebCore.pro:
2929         * WebCore.scons:
2930         * WebCore.vcproj/WebCore.vcproj:
2931         * WebCore.xcodeproj/project.pbxproj:
2932         * WebCoreSources.bkl:
2933         * webcore-base.bkl:
2934
2935 2009-02-11  Sam Weinig  <sam@webkit.org>
2936
2937         Reviewed by David Hyatt.
2938
2939         Remove unneeded ASSERTS.
2940
2941         * rendering/RenderBox.h:
2942         (WebCore::RenderBox::width):
2943         (WebCore::RenderBox::height):
2944         (WebCore::RenderBox::size):
2945         (WebCore::RenderBox::frameRect):
2946
2947 2009-02-11  Simon Fraser  <simon.fraser@apple.com>
2948
2949         Reviewed by Dave Hyatt
2950
2951         Add function to RenderStyle to ask whether a background image has been specified.
2952
2953         * rendering/style/RenderStyle.h:
2954         (WebCore::InheritedFlags::hasBackgroundImage):
2955
2956 2009-02-11  Simon Fraser  <simon.fraser@apple.com>
2957
2958         Reviewed by Dave Hyatt
2959
2960         https://bugs.webkit.org/show_bug.cgi?id=23548
2961
2962         When opacity or transform change on an object which has a compositing layer,
2963         avoid repainting the layer.
2964
2965         Added a new StyleDifference value, StyleDifferenceRecompositeLayer, which indicates
2966         that the only thing styleChanged() has to do is to update composited properties of
2967         the layer. RenderStyle::diff() now has an out param for a bitmask of "context sensitive"
2968         properties, currently for opacity and transform. When one of these changes, we need
2969         to see if we have a compositing layer before we decide whether to layout/repaint,
2970         or just update the composited layer, via adjustStyleDifference().
2971
2972         * rendering/RenderObject.cpp:
2973         (WebCore::RenderObject::adjustStyleDifference):
2974         (WebCore::RenderObject::setStyle):
2975         (WebCore::RenderObject::styleDidChange):
2976         * rendering/RenderObject.h:
2977         * rendering/style/RenderStyle.cpp:
2978         (WebCore::RenderStyle::diff):
2979         * rendering/style/RenderStyle.h:
2980         * rendering/style/RenderStyleConstants.h:
2981         (WebCore::):
2982
2983 2009-02-11  Alexey Proskuryakov  <ap@webkit.org>
2984
2985         Reviewed by Darin Adler.
2986
2987         <rdar://problem/6562920> Pasted text should be normalized to NFC
2988
2989         Testing requires putting non-HTML content in pasteboard, so it cannot be done with WebKit alone.
2990
2991         * platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::plainText): Route the text through
2992         -[NSString precomposedStringWithCanonicalMapping].
2993
2994 2009-02-10  Chris Marrin  <cmarrin@apple.com>
2995
2996         Reviewed by Simon Fraser.
2997
2998         https://bugs.webkit.org/show_bug.cgi?id=23883
2999
3000         Added new TransformOperation subclasses and methods to existing ones
3001         to support 3D.
3002
3003         * WebCore.xcodeproj/project.pbxproj:
3004         * platform/graphics/transforms/IdentityTransformOperation.h:
3005         (WebCore::IdentityTransformOperation::isAffine):
3006         * platform/graphics/transforms/Matrix3DTransformOperation.cpp: Added.
3007         (WebCore::Matrix3DTransformOperation::blend):
3008         * platform/graphics/transforms/Matrix3DTransformOperation.h: Added.
3009         (WebCore::Matrix3DTransformOperation::create):
3010         (WebCore::Matrix3DTransformOperation::isIdentity):
3011         (WebCore::Matrix3DTransformOperation::isAffine):
3012         (WebCore::Matrix3DTransformOperation::getOperationType):
3013         (WebCore::Matrix3DTransformOperation::isSameType):
3014         (WebCore::Matrix3DTransformOperation::operator==):
3015         (WebCore::Matrix3DTransformOperation::apply):
3016         (WebCore::Matrix3DTransformOperation::Matrix3DTransformOperation):
3017         * platform/graphics/transforms/MatrixTransformOperation.h:
3018         (WebCore::MatrixTransformOperation::isAffine):
3019         (WebCore::MatrixTransformOperation::apply):
3020         * platform/graphics/transforms/PerspectiveTransformOperation.cpp: Added.
3021         (WebCore::PerspectiveTransformOperation::blend):
3022         * platform/graphics/transforms/PerspectiveTransformOperation.h: Added.
3023         (WebCore::PerspectiveTransformOperation::create):
3024         (WebCore::PerspectiveTransformOperation::isIdentity):
3025         (WebCore::PerspectiveTransformOperation::isAffine):
3026         (WebCore::PerspectiveTransformOperation::getOperationType):
3027         (WebCore::PerspectiveTransformOperation::isSameType):
3028         (WebCore::PerspectiveTransformOperation::operator==):
3029         (WebCore::PerspectiveTransformOperation::apply):
3030         (WebCore::PerspectiveTransformOperation::PerspectiveTransformOperation):
3031         * platform/graphics/transforms/RotateTransformOperation.cpp:
3032         (WebCore::RotateTransformOperation::blend):
3033         * platform/graphics/transforms/RotateTransformOperation.h:
3034         (WebCore::RotateTransformOperation::create):
3035         (WebCore::RotateTransformOperation::angle):
3036         (WebCore::RotateTransformOperation::isAffine):
3037         (WebCore::RotateTransformOperation::operator==):
3038         (WebCore::RotateTransformOperation::apply):
3039         (WebCore::RotateTransformOperation::RotateTransformOperation):
3040         * platform/graphics/transforms/ScaleTransformOperation.cpp:
3041         (WebCore::ScaleTransformOperation::blend):
3042         * platform/graphics/transforms/ScaleTransformOperation.h:
3043         (WebCore::ScaleTransformOperation::create):
3044         (WebCore::ScaleTransformOperation::z):
3045         (WebCore::ScaleTransformOperation::isIdentity):
3046         (WebCore::ScaleTransformOperation::isAffine):
3047         (WebCore::ScaleTransformOperation::operator==):
3048         (WebCore::ScaleTransformOperation::apply):
3049         (WebCore::ScaleTransformOperation::ScaleTransformOperation):
3050         * platform/graphics/transforms/SkewTransformOperation.h:
3051         (WebCore::SkewTransformOperation::isAffine):
3052         * platform/graphics/transforms/TransformOperation.h:
3053         (WebCore::TransformOperation::):
3054         (WebCore::TransformOperation::is3DOperation):
3055         * platform/graphics/transforms/TransformOperations.h:
3056         (WebCore::TransformOperations::isAffine):
3057         (WebCore::TransformOperations::has3DOperation):
3058         * platform/graphics/transforms/TranslateTransformOperation.cpp:
3059         (WebCore::TranslateTransformOperation::blend):
3060         * platform/graphics/transforms/TranslateTransformOperation.h:
3061         (WebCore::TranslateTransformOperation::create):
3062         (WebCore::TranslateTransformOperation::z):
3063         (WebCore::TranslateTransformOperation::isIdentity):
3064         (WebCore::TranslateTransformOperation::isAffine):
3065         (WebCore::TranslateTransformOperation::operator==):
3066         (WebCore::TranslateTransformOperation::apply):
3067         (WebCore::TranslateTransformOperation::TranslateTransformOperation):
3068
3069 2009-02-11  David Hyatt  <hyatt@apple.com>
3070
3071         Move createAnonymousBlock() to RenderBlock.  Since anonymous blocks are always parented to some other block,
3072         we can move this function to RenderBlock.  Fix a couple of call sites as a result of this restriction.
3073
3074         Reviewed by Simon Fraser
3075
3076         * rendering/RenderBlock.cpp:
3077         (WebCore::RenderBlock::createAnonymousBlock):
3078         * rendering/RenderBlock.h:
3079         * rendering/RenderInline.cpp:
3080         (WebCore::RenderInline::childBecameNonInline):
3081         * rendering/RenderObject.cpp:
3082         (WebCore::RenderObject::handleDynamicFloatPositionChange):
3083         * rendering/RenderObject.h:
3084
3085 2009-02-11  David Hyatt  <hyatt@apple.com>
3086
3087         https://bugs.webkit.org/show_bug.cgi?id=23895
3088
3089         Remove two complete nonsense lines that I accidentally added from a cut and paste error.  This
3090         restores the original logic.
3091
3092         Reviewed by Simon Fraser
3093
3094         * rendering/RenderBox.cpp:
3095         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
3096
3097 2009-02-11  David Hyatt  <hyatt@apple.com>
3098
3099         Rename getBaselineOfFirstLineBox to firstLineBoxBaseline.  Rename getBaselineOfLastLineBox to
3100         lastLineBoxBaseline.  Remove the functions from RenderObject and add them to RenderBox instead.
3101
3102         Reviewed by Eric Seidel
3103
3104         * rendering/RenderBlock.cpp:
3105         (WebCore::RenderBlock::baselinePosition):
3106         (WebCore::RenderBlock::firstLineBoxBaseline):
3107         (WebCore::RenderBlock::lastLineBoxBaseline):
3108         * rendering/RenderBlock.h:
3109         * rendering/RenderBox.h:
3110         (WebCore::RenderBox::firstLineBoxBaseline):
3111         (WebCore::RenderBox::lastLineBoxBaseline):
3112         * rendering/RenderFlexibleBox.cpp:
3113         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
3114         * rendering/RenderObject.h:
3115         * rendering/RenderTable.cpp:
3116         (WebCore::RenderTable::firstLineBoxBaseline):
3117         * rendering/RenderTable.h:
3118         * rendering/RenderTableCell.cpp:
3119         (WebCore::RenderTableCell::baselinePosition):
3120         * rendering/RenderTableSection.cpp:
3121         (WebCore::RenderTableSection::firstLineBoxBaseline):
3122         * rendering/RenderTableSection.h:
3123
3124 2009-02-11  Eric Carlson  <eric.carlson@apple.com>
3125
3126         Reviewed by Simon Fraser
3127
3128         https://bugs.webkit.org/show_bug.cgi?id=23877
3129         Allow port to disable progress events from <video> and <audio> elements
3130
3131         * html/HTMLMediaElement.cpp: Initialize m_sendProgressEvents.
3132         (WebCore::HTMLMediaElement::HTMLMediaElement): Don't post progress events if m_sendProgressEvents is false.
3133         (WebCore::HTMLMediaElement::initAndDispatchProgressEvent): Ditto.
3134         (WebCore::HTMLMediaElement::load): Ditto.
3135         * html/HTMLMediaElement.h: Add m_sendProgressEvents
3136
3137 2009-02-11  Adam Roben  <aroben@apple.com>
3138
3139         Windows build fix
3140
3141         * DerivedSources.cpp: Removed SVGElementFactory.cpp, since including
3142         it leads to ambiguities for symbols like "aTag", which exist in both
3143         the HTMLNames and SVGNames namespaces.
3144
3145         * WebCore.vcproj/WebCore.vcproj: Added SVGElementFactory.cpp to the
3146         project directly. VS also decided to reformat this file a little bit.
3147
3148 2009-02-10  Julien Chaffraix  <jchaffraix@webkit.org>
3149
3150         Reviewed by Eric Seidel.
3151
3152         Bug 23536: Auto-generate HTMLElementFactory
3153
3154         Those are the last auto-generation bits needed to have a working generated HTMLElementFactory:
3155
3156         - Added a new option mapToTagName that enables a tag to use another's options and tagName (<image>
3157           uses imgTag for example) and wired the code generation to be consistent with the current factory.
3158
3159         - Disabled dashboard compatibility check for HTMLElementFactory as it would make at least one test case fail.
3160
3161         - Pass the QualifiedName down to the Element constructor for shared constructors to make the generated code as
3162           close as possible to the current one. We will pass the QualifiedName for all Element in a forthcoming patch.
3163
3164         * dom/make_names.pl: Did all the above points and tweaked the code generation to match the current HTMLElementFactory
3165           as closely as possible.
3166
3167         * html/HTMLElementFactory.cpp:
3168         (WebCore::quoteConstructor):
3169         * html/HTMLQuoteElement.cpp:
3170         (WebCore::HTMLQuoteElement::HTMLQuoteElement): Moved setUsesBeforeAfterRules to HTMLQuoteElement' constructor because some
3171         part of the code creates elements without using the HTMLElementFactory. Also added a FIXME as it is not the right place.
3172
3173         * html/HTMLTagNames.in: Corrected <image> parameters.
3174
3175 2009-02-10  David Hyatt  <hyatt@apple.com>
3176
3177         Fix for pixel test regression in fast/text.  Make sure not to add in
3178         the borderTop and paddingTop of the block to the baseline when painting
3179         strict mode text decorations.
3180
3181         Reviewed by Mark Rowe
3182
3183         * rendering/InlineFlowBox.cpp:
3184         (WebCore::InlineFlowBox::paintTextDecorations):
3185         * rendering/InlineFlowBox.h:
3186
3187 2009-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
3188
3189         Windows build fix after r40837.
3190
3191         Not reviewed.
3192
3193         * DerivedSources.cpp:
3194
3195 2009-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
3196
3197         <rdar://6349412> REGRESSION(r37204): Page is not repainted during and
3198         after pan scrolling
3199
3200         Reviewed by Steve Falkenburg.
3201
3202         * platform/ScrollView.cpp:
3203         (WebCore::ScrollView::scrollContents): Don't repaint the pan scroll
3204         icon rect immediately; we will paint after the view has been scrolled.
3205
3206 2009-02-10  Oliver Hunt  <oliver@apple.com>
3207
3208         Reviewed by Adele Peterson.
3209
3210         <rdar://problem/6156755> onMouseOver events do not fire properly for cross frame drag and drop
3211
3212         This problem was caused by incorrectly ignoring whether or not the
3213         default behaviour of the mousedown event was suppressed.  If a
3214         mousedown handler in a frame prevents default handling then the
3215         subsequent mousemove events fired for the drag should not be
3216         captured by that frame, should the mouse move out of its bounds.
3217
3218         Test: fast/events/mouse-drag-from-frame.html
3219
3220         * page/EventHandler.cpp:
3221         (WebCore::EventHandler::EventHandler):
3222         (WebCore::EventHandler::clear):
3223         (WebCore::EventHandler::handleMouseReleaseEvent):
3224             Reset new m_capturesDragging flag
3225
3226         (WebCore::EventHandler::handleMousePressEvent):
3227             Respect the m_capturesDragging flag when we propagate
3228             a mousedown event to a subframe.
3229
3230         * page/EventHandler.h:
3231         (WebCore::EventHandler::capturesDragging):
3232
3233 2009-02-10  Kevin Ollivier  <kevino@theolliviers.com>
3234
3235         wx build fixes for recent changes to TransformationMatrix and DOMElement.
3236
3237         * WebCoreSources.bkl:
3238         * dom/Element.cpp:
3239         * platform/graphics/transforms/TransformationMatrix.h:
3240         * platform/graphics/wx/TransformationMatrixWx.cpp:
3241         (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
3242
3243 2009-02-10  David Hyatt  <hyatt@apple.com>
3244
3245         Some renames on line boxes.  xPos()/yPos() -> x()/y().  setXPos()/setYPos() -> setX()/setY().  m_object/object() -> m_renderer/renderer().  textObject() -> textRenderer().
3246
3247         Reviewed by Sam Weinig
3248
3249         * dom/Position.cpp:
3250         (WebCore::Position::upstream):
3251         (WebCore::Position::downstream):
3252         * editing/VisiblePosition.cpp:
3253         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
3254         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
3255         (WebCore::VisiblePosition::localCaretRect):
3256         * editing/visible_units.cpp:
3257         (WebCore::startPositionForLine):
3258         (WebCore::endPositionForLine):
3259         (WebCore::previousLinePosition):
3260         (WebCore::nextLinePosition):
3261         * rendering/EllipsisBox.cpp:
3262         (WebCore::EllipsisBox::paint):
3263         (WebCore::EllipsisBox::nodeAtPoint):
3264         * rendering/InlineBox.cpp:
3265         (WebCore::InlineBox::showTreeForThis):
3266         (WebCore::InlineBox::height):
3267         (WebCore::InlineBox::caretMinOffset):
3268         (WebCore::InlineBox::caretMaxOffset):
3269         (WebCore::InlineBox::deleteLine):
3270         (WebCore::InlineBox::extractLine):
3271         (WebCore::InlineBox::attachLine):
3272         (WebCore::InlineBox::adjustPosition):
3273         (WebCore::InlineBox::paint):
3274         (WebCore::InlineBox::nodeAtPoint):
3275         (WebCore::InlineBox::selectionState):
3276         (WebCore::InlineBox::canAccommodateEllipsis):
3277         * rendering/InlineBox.h:
3278         (WebCore::InlineBox::InlineBox):
3279         (WebCore::InlineBox::renderer):
3280         (WebCore::InlineBox::setX):
3281         (WebCore::InlineBox::x):
3282         (WebCore::InlineBox::setY):
3283         (WebCore::InlineBox::y):
3284         (WebCore::InlineBox::topOverflow):
3285         (WebCore::InlineBox::bottomOverflow):
3286         (WebCore::InlineBox::leftOverflow):
3287         (WebCore::InlineBox::rightOverflow):
3288         (WebCore::InlineBox::visibleToHitTesting):
3289         (WebCore::InlineBox::boxModelObject):
3290         * rendering/InlineFlowBox.cpp:
3291         (WebCore::InlineFlowBox::height):
3292         (WebCore::InlineFlowBox::addToLine):
3293         (WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
3294         (WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
3295         (WebCore::InlineFlowBox::attachLineBoxToRenderObject):
3296         (WebCore::InlineFlowBox::rendererLineBoxes):
3297         (WebCore::InlineFlowBox::onEndChain):
3298         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
3299         (WebCore::InlineFlowBox::placeBoxesHorizontally):
3300         (WebCore::InlineFlowBox::verticallyAlignBoxes):
3301         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
3302         (WebCore::verticalPositionForBox):
3303         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3304         (WebCore::InlineFlowBox::placeBoxesVertically):
3305         (WebCore::InlineFlowBox::nodeAtPoint):
3306         (WebCore::InlineFlowBox::paint):
3307         (WebCore::InlineFlowBox::paintFillLayer):
3308         (WebCore::InlineFlowBox::paintBoxShadow):
3309         (WebCore::InlineFlowBox::paintBoxDecorations):
3310         (WebCore::InlineFlowBox::paintMask):
3311         (WebCore::InlineFlowBox::paintTextDecorations):
3312         * rendering/InlineFlowBox.h:
3313         (WebCore::InlineFlowBox::borderLeft):
3314         (WebCore::InlineFlowBox::borderRight):
3315         (WebCore::InlineFlowBox::borderTop):
3316         (WebCore::InlineFlowBox::borderBottom):
3317         (WebCore::InlineFlowBox::baseline):
3318         * rendering/InlineTextBox.cpp:
3319         (WebCore::InlineTextBox::height):
3320         (WebCore::InlineTextBox::selectionState):
3321         (WebCore::InlineTextBox::selectionRect):
3322         (WebCore::InlineTextBox::deleteLine):
3323         (WebCore::InlineTextBox::extractLine):
3324         (WebCore::InlineTextBox::attachLine):
3325         (WebCore::InlineTextBox::placeEllipsisBox):
3326         (WebCore::InlineTextBox::isLineBreak):
3327         (WebCore::InlineTextBox::nodeAtPoint):
3328         (WebCore::InlineTextBox::paint):
3329         (WebCore::InlineTextBox::selectionStartEnd):
3330         (WebCore::InlineTextBox::paintSelection):
3331         (WebCore::InlineTextBox::paintCompositionBackground):
3332         (WebCore::InlineTextBox::paintCustomHighlight):
3333         (WebCore::InlineTextBox::paintDecoration):
3334         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
3335         (WebCore::InlineTextBox::paintTextMatchMarker):
3336         (WebCore::InlineTextBox::paintDocumentMarkers):
3337         (WebCore::InlineTextBox::paintCompositionUnderline):
3338         (WebCore::InlineTextBox::textPos):
3339         (WebCore::InlineTextBox::offsetForPosition):
3340         (WebCore::InlineTextBox::positionForOffset):
3341         * rendering/InlineTextBox.h:
3342         (WebCore::InlineTextBox::textRenderer):
3343         * rendering/ListMarkerBox.cpp:
3344         (WebCore::ListMarkerBox::isText):
3345         * rendering/RenderBlock.cpp:
3346         (WebCore::RenderBlock::paintEllipsisBoxes):
3347         (WebCore::RenderBlock::lowestPosition):
3348         (WebCore::RenderBlock::rightmostPosition):
3349         (WebCore::RenderBlock::leftmostPosition):
3350         (WebCore::RenderBlock::positionForBox):
3351         (WebCore::RenderBlock::positionForCoordinates):
3352         (WebCore::RenderBlock::getBaselineOfFirstLineBox):
3353         (WebCore::RenderBlock::getBaselineOfLastLineBox):
3354         (WebCore::RenderBlock::adjustForBorderFit):
3355         (WebCore::RenderBlock::addFocusRingRects):
3356         * rendering/RenderBox.cpp:
3357         (WebCore::RenderBox::paintCustomHighlight):
3358         (WebCore::RenderBox::position):
3359         (WebCore::RenderBox::containingBlockWidthForPositioned):
3360         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
3361         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
3362         * rendering/RenderBoxModelObject.cpp:
3363         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3364         * rendering/RenderFlexibleBox.cpp:
3365         (WebCore::RenderFlexibleBox::layoutVerticalBox):
3366         * rendering/RenderInline.cpp:
3367         (WebCore::RenderInline::absoluteRects):
3368         (WebCore::RenderInline::absoluteQuads):
3369         (WebCore::RenderInline::offsetLeft):
3370         (WebCore::RenderInline::offsetTop):
3371         (WebCore::RenderInline::linesBoundingBox):
3372         (WebCore::RenderInline::relativePositionedInlineOffset):
3373         (WebCore::RenderInline::addFocusRingRects):
3374         (WebCore::RenderInline::paintOutline):
3375         * rendering/RenderLayer.cpp:
3376         (WebCore::RenderLayer::localBoundingBox):
3377         * rendering/RenderSVGTSpan.cpp:
3378         (WebCore::RenderSVGTSpan::absoluteRects):
3379         (WebCore::RenderSVGTSpan::absoluteQuads):
3380         * rendering/RenderSVGText.cpp:
3381         (WebCore::RenderSVGText::absoluteRects):
3382         (WebCore::RenderSVGText::absoluteQuads):
3383         (WebCore::RenderSVGText::relativeBBox):
3384         * rendering/RenderSVGTextPath.cpp:
3385         (WebCore::RenderSVGTextPath::absoluteRects):
3386         (WebCore::RenderSVGTextPath::absoluteQuads):
3387         * rendering/RenderText.cpp:
3388         (WebCore::RenderText::absoluteRects):
3389         (WebCore::RenderText::absoluteRectsForRange):
3390         (WebCore::RenderText::absoluteQuads):
3391         (WebCore::RenderText::absoluteQuadsForRange):
3392         (WebCore::RenderText::localCaretRect):
3393         (WebCore::RenderText::linesBoundingBox):
3394         * rendering/RootInlineBox.cpp:
3395         (WebCore::RootInlineBox::height):
3396         (WebCore::RootInlineBox::clearTruncation):
3397         (WebCore::RootInlineBox::placeEllipsis):
3398         (WebCore::RootInlineBox::paintEllipsisBox):
3399         (WebCore::RootInlineBox::addHighlightOverflow):
3400         (WebCore::RootInlineBox::paintCustomHighlight):
3401         (WebCore::RootInlineBox::paint):
3402         (WebCore::RootInlineBox::nodeAtPoint):
3403         (WebCore::RootInlineBox::childRemoved):
3404         (WebCore::RootInlineBox::fillLineSelectionGap):
3405         (WebCore::RootInlineBox::block):
3406         (WebCore::isEditableLeaf):
3407         (WebCore::RootInlineBox::closestLeafChildForXPos):
3408         (WebCore::RootInlineBox::setVerticalOverflowPositions):
3409         * rendering/RootInlineBox.h:
3410         (WebCore::RootInlineBox::bottomOverflow):
3411         (WebCore::RootInlineBox::floats):
3412         (WebCore::RootInlineBox::setHorizontalOverflowPositions):
3413         (WebCore::RootInlineBox::setVerticalSelectionPositions):
3414         * rendering/SVGCharacterLayoutInfo.cpp:
3415         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
3416         * rendering/SVGInlineTextBox.cpp:
3417         (WebCore::SVGInlineTextBox::calculateGlyphWidth):
3418         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
3419         (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
3420         (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
3421         (WebCore::SVGInlineTextBox::nodeAtPoint):
3422         (WebCore::SVGInlineTextBox::paintCharacters):
3423         (WebCore::SVGInlineTextBox::paintSelection):
3424         (WebCore::SVGInlineTextBox::paintDecoration):
3425         * rendering/SVGRenderTreeAsText.cpp:
3426         (WebCore::writeSVGInlineTextBox):
3427         * rendering/SVGRootInlineBox.cpp:
3428         (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
3429         (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
3430         (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback):
3431         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback):
3432         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback):
3433         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
3434         (WebCore::SVGRootInlineBox::paint):
3435         (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
3436         (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
3437         (WebCore::svgTextRunForInlineTextBox):
3438         (WebCore::cummulatedWidthOrHeightOfTextChunk):
3439         (WebCore::applyTextAnchorToTextChunk):
3440         (WebCore::SVGRootInlineBox::buildLayoutInformation):
3441         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
3442         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
3443         (WebCore::SVGRootInlineBox::buildTextChunks):
3444         * rendering/bidi.cpp:
3445         (WebCore::RenderBlock::constructLine):
3446         (WebCore::RenderBlock::computeVerticalPositionsForLine):
3447         (WebCore::RenderBlock::layoutInlineChildren):
3448         (WebCore::RenderBlock::checkLinesForTextOverflow):
3449         * svg/SVGTextContentElement.cpp:
3450         (WebCore::cumulativeCharacterRangeLength):
3451         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
3452         (WebCore::findInlineTextBoxInTextChunks):
3453
3454 2009-02-10  Simon Fraser  <simon.fraser@apple.com>
3455
3456         Reviewed by Dave Hyatt
3457
3458         Clean up "fallbackAnimating" logic in AnimationBase. This flag indicates
3459         that animation of an accelerated property must run in software for some reason.
3460
3461         Also remove use of private headers in GraphicsLayerCA related to a case
3462         where we may have to fall back on software animation of transform.
3463
3464         * page/animation/AnimationBase.cpp:
3465         (WebCore::AnimationBase::blendProperties):
3466         * page/animation/AnimationBase.h:
3467         * page/animation/ImplicitAnimation.cpp:
3468         (WebCore::ImplicitAnimation::animate):
3469         * page/animation/KeyframeAnimation.cpp:
3470         (WebCore::KeyframeAnimation::animate):
3471         * platform/graphics/mac/GraphicsLayerCA.h:
3472         * platform/graphics/mac/GraphicsLayerCA.mm:
3473         (WebCore::getValueFunctionNameForTransformOperation):
3474         (WebCore::caValueFunctionSupported):
3475         (WebCore::GraphicsLayerCA::setBackgroundColor):
3476         (WebCore::GraphicsLayerCA::setOpacity):
3477         (WebCore::GraphicsLayerCA::animateTransform):
3478         (WebCore::GraphicsLayerCA::animateFloat):
3479         (WebCore::GraphicsLayerCA::setBasicAnimation):
3480         (WebCore::GraphicsLayerCA::setKeyframeAnimation):
3481
3482 2009-02-10  Simon Fraser  <simon.fraser@apple.com>
3483
3484         Reviewed by Dave Hyatt
3485
3486         Move enclosingCompositingLayer() from RenderObject to RenderLayer, since it
3487         relates to the RenderLayer z-order/overflow structure, rather than the render tree
3488         parent chain. Add a convenience method, ancestorCompositingLayer(), which finds
3489         the enclosing layer excluding self.
3490
3491         Fix enclosingCompositingLayer() to correctly look at stacking context and overflow
3492         lists.
3493
3494         Check for documentBeingDestroyed() in a few places to avoid work on document
3495         teardown.
3496
3497         * rendering/RenderLayer.cpp:
3498         (WebCore::RenderLayer::enclosingCompositingLayer):
3499         (WebCore::RenderLayer::setParent):
3500         (WebCore::RenderLayer::dirtyZOrderLists):
3501         (WebCore::RenderLayer::dirtyOverflowList):
3502         * rendering/RenderLayer.h:
3503         (WebCore::RenderLayer::ancestorCompositingLayer):
3504         * rendering/RenderLayerBacking.cpp:
3505         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3506         * rendering/RenderLayerCompositor.cpp:
3507         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
3508         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
3509         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
3510         (WebCore::RenderLayerCompositor::clippedByAncestor):
3511         * rendering/RenderLayerCompositor.h:
3512         * rendering/RenderObject.cpp:
3513         (WebCore::RenderObject::containerForRepaint):
3514         * rendering/RenderObject.h:
3515
3516 2009-02-10  David Hyatt  <hyatt@apple.com>
3517
3518         Rename xPos() and yPos() on RenderLayer to x() and y() to match RenderBox.  Rename setPos to setLocation.
3519
3520         Reviewed by Simon Fraser
3521
3522         * dom/MouseRelatedEvent.cpp:
3523         (WebCore::MouseRelatedEvent::receivedTarget):
3524         * rendering/RenderLayer.cpp:
3525         (WebCore::RenderLayer::updateLayerPosition):
3526         (WebCore::RenderLayer::convertToLayerCoords):
3527         * rendering/RenderLayer.h:
3528         (WebCore::RenderLayer::x):
3529         (WebCore::RenderLayer::y):
3530         (WebCore::RenderLayer::setLocation):
3531         * rendering/RenderTreeAsText.cpp:
3532         (WebCore::write):
3533         (WebCore::externalRepresentation):
3534
3535 2009-02-10  Darin Fisher  <darin@chromium.org>
3536
3537         Reviewed by Eric Seidel.
3538
3539         https://bugs.webkit.org/show_bug.cgi?id=23879
3540         Add missing PLATFORM(SKIA) changes to TransformationMatrix.h
3541
3542         * platform/graphics/transforms/TransformationMatrix.h:
3543
3544 2009-02-10  Sam Weinig  <sam@webkit.org>
3545
3546         Reviewed by David Hyatt.
3547
3548         Fix for https://bugs.webkit.org/show_bug.cgi?id=15897
3549         Please implement getBoundingClientRect and getClientRects
3550         <rdar://problem/6139669>
3551
3552         Cursory implementation of Element.getBoundingClientRect and
3553         Element.getClientRects. Adds necessary infrastructure classes
3554         ClientRect and ClientRectList.
3555
3556         Tests: fast/dom/getBoundingClientRect.html
3557                fast/dom/getClientRects.html
3558
3559         * DerivedSources.make:
3560         * GNUmakefile.am:
3561         * WebCore.pro:
3562         * WebCore.vcproj/WebCore.vcproj:
3563         * WebCore.xcodeproj/project.pbxproj:
3564         * WebCoreSources.bkl:
3565         * dom/ClientRect.cpp: Added.
3566         (WebCore::ClientRect::ClientRect):
3567         * dom/ClientRect.h: Added.
3568         (WebCore::ClientRect::create):
3569         (WebCore::ClientRect::top):
3570         (WebCore::ClientRect::right):
3571         (WebCore::ClientRect::bottom):
3572         (WebCore::ClientRect::left):
3573         (WebCore::ClientRect::width):
3574         (WebCore::ClientRect::height):
3575         * dom/ClientRect.idl: Added.
3576         * dom/ClientRectList.cpp: Added.
3577         (WebCore::ClientRectList::ClientRectList):
3578         (WebCore::ClientRectList::~ClientRectList):
3579         (WebCore::ClientRectList::length):
3580         (WebCore::ClientRectList::item):
3581         * dom/ClientRectList.h: Added.
3582         (WebCore::ClientRectList::create):
3583         * dom/ClientRectList.idl: Added.
3584         * dom/Element.cpp:
3585         (WebCore::Element::getClientRects):
3586         (WebCore::Element::getBoundingClientRect):
3587         * dom/Element.h:
3588         * dom/Element.idl:
3589         * page/DOMWindow.idl:
3590         * rendering/RenderInline.cpp:
3591         (WebCore::RenderInline::absoluteRects):
3592         (WebCore::RenderInline::absoluteQuads):
3593
3594 2009-02-10  David Hyatt  <hyatt@apple.com>
3595
3596         Get rid of capsLockStateMayHaveChanged on RenderObject.&