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