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