1 2009-02-23 David Levin <levin@chromium.org>
3 Reviewed by Alexey Proskuryakov.
5 Bug 24047: Need to simplify nested if's in WorkerRunLoop::runInMode
6 <https://bugs.webkit.org/show_bug.cgi?id=24047>
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.
12 No observable change in behavior, so no test.
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:
20 2009-02-23 David Hyatt <hyatt@apple.com>
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.
26 Reviewed by Cameron Zwarich
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):
49 2009-02-23 David Hyatt <hyatt@apple.com>
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).
55 Reviewed by Eric Seidel
57 Added fast/multicol/column-rules-stacking.html
59 * rendering/RenderBlock.cpp:
60 (WebCore::RenderBlock::paintColumnRules):
61 (WebCore::RenderBlock::paintColumnContents):
62 (WebCore::RenderBlock::paintObject):
63 * rendering/RenderBlock.h:
65 2009-02-23 Adam Treat <adam.treat@torchmobile.com>
67 Reviewed by David Hyatt.
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.
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.
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.
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
88 * rendering/InlineFlowBox.cpp:
89 (WebCore::InlineFlowBox::paintTextDecorations):
90 * rendering/InlineTextBox.cpp:
91 (WebCore::InlineTextBox::paintDecoration):
93 2009-02-23 Scott Violet <sky@google.com>
95 Reviewed by Eric Seidel.
97 https://bugs.webkit.org/show_bug.cgi?id=24098
98 Bugs in ClipboardChromium
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.
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):
117 2009-02-23 Thiago Macieira <thiago.macieira@nokia.com>
119 Reviewed by Simon Hausmann.
121 Fix the Copyright notices in a few files
123 * platform/qt/RenderThemeQt.h:
125 2009-02-23 Xan Lopez <xan@gnome.org>
127 Reviewed by Alexey Proskuryakov.
129 https://bugs.webkit.org/show_bug.cgi?id=22624
130 [SOUP][GTK] Need API to get SoupSession from WebKit.
132 Allow to retrieve the Soup session and modify the code to take
133 into account users changing features on it.
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):
147 2009-02-23 Xan Lopez <xan@gnome.org>
149 Reviewed by Alexey Proskuryakov.
151 https://bugs.webkit.org/show_bug.cgi?id=22624
152 [SOUP][GTK] Need API to get SoupSession from WebKit.
158 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
160 Reviewed by Mark Rowe.
162 Test: fast/dom/empty-hash-and-search.html
164 https://bugs.webkit.org/show_bug.cgi?id=21147
165 hash property returns incorrect value for links w/o hash
167 Make hash() and search() behavior for empty and missing parts match IE and Firefox.
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.
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.
177 * dom/WorkerLocation.cpp:
178 (WebCore::WorkerLocation::search):
179 (WebCore::WorkerLocation::hash):
180 Match document.location fixes above.
182 * html/HTMLAnchorElement.cpp:
183 (WebCore::HTMLAnchorElement::hash):
184 (WebCore::HTMLAnchorElement::search):
185 Return an empty string for empty and missing parts.
187 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
189 Reviewed by Darin Adler.
191 https://bugs.webkit.org/show_bug.cgi?id=20184
192 SELECT with no name generates invalid query string
194 Test: fast/forms/select-no-name.html
196 * html/HTMLSelectElement.cpp:
197 (WebCore::HTMLSelectElement::appendFormData): Added a check for empty name.
199 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
201 Apply review comments for the previous check-in (forgot to save the file, oops).
203 * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren):
205 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
207 Reviewed by Darin Adler.
209 https://bugs.webkit.org/show_bug.cgi?id=15707
210 Crash when manipulating document from within an iframe onload function
212 Test: fast/dom/onload-open.html
214 * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren): Protect the container and
215 the current node, because anything can happen when dispatching events.
217 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
219 Reviewed by Darin Adler.
221 https://bugs.webkit.org/show_bug.cgi?id=18970
222 Numerically named input fields cause document.forms loop problems
224 Test: fast/forms/numeric-input-name.html
226 * bindings/scripts/CodeGeneratorJS.pm: Try index getter before name getter, even if the
227 latter overrides properties.
229 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
231 Reviewed by Sam Weinig.
233 https://bugs.webkit.org/show_bug.cgi?id=24059
234 Tokenizer::write() return value is never used
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.
255 2009-02-20 Geoffrey Garen <ggaren@apple.com>
257 Reviewed by Sam Weinig.
259 Updated for JavaScriptCore changes to timeout checking.
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):
297 * bridge/jni/jni_jsobject.mm:
298 (JavaJSObject::call):
299 (JavaJSObject::eval):
301 2009-02-21 Hironori Bono <hbono@chromium.org>
303 Reviewed by Alexey Proskuryakov.
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
308 This change prevents the UniscribeHelper class from treating the line-break characters
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
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.
321 2009-02-20 Julien Chaffraix <jchaffraix@webkit.org>
323 Reviewed by Alexey Proskuryakov.
325 Bug 23940: Use Document::createElement(const QualifiedName&, bool) when creating a known element inside WebCore
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
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.
334 * bindings/js/JSOptionConstructor.cpp:
335 (WebCore::constructHTMLOptionElement):
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):
361 (WebCore::Frame::selectionComputedStyle):
362 (WebCore::Frame::styleForSelectionStart):
363 Document::createElement(const AtomicString&, ...) to Document::createElement(const QualifiedName&, ...) switch.
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.
370 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
372 Reviewed by Eric Seidel.
374 https://bugs.webkit.org/show_bug.cgi?id=24060
375 Fix up to accommodate for CanvasPixelArray return.
377 * platform/graphics/skia/ImageBufferSkia.cpp:
378 (WebCore::ImageBuffer::getImageData): Added an extra data() to call.
379 (WebCore::ImageBuffer::putImageData): Ditto.
381 2009-02-20 Eric Carlson <eric.carlson@apple.com>
385 https://bugs.webkit.org/show_bug.cgi?id=24042
386 Bug 24042: MediaPlayer should cache plug-in proxy
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.
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.
403 2009-02-20 Eric Carlson <eric.carlson@apple.com>
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
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.
426 2009-02-20 Darin Fisher <darin@chromium.org>
428 Fix build bustage in FileSystemWin.cpp.
430 Need to return CString() instead of 0 since there are now two CString
431 constructors that take a pointer type.
433 * platform/win/FileSystemWin.cpp:
434 (WebCore::openTemporaryFile):
436 2009-02-20 Dimitri Glazkov <dglazkov@chromium.org>
438 Reviewed by Sam Weinig.
440 https://bugs.webkit.org/show_bug.cgi?id=23999
441 Change license headers to accurately reflect code history.
443 * platform/ContentType.cpp:
444 * platform/ContentType.h:
446 2009-02-18 Dimitri Glazkov <dglazkov@chromium.org>
448 Reviewed by Antti Koivisto.
450 https://bugs.webkit.org/show_bug.cgi?id=23999
451 Split off MIME type parsing into its own class.
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.
475 2009-02-20 Holger Hans Peter Freyther <zecke@selfish.org>
477 Unreviewed build fix.
479 Use CString() instead of 0.
481 * platform/gtk/FileSystemGtk.cpp:
482 (WebCore::openTemporaryFile):
483 * platform/qt/FileSystemQt.cpp:
484 (WebCore::openTemporaryFile):
486 2009-02-20 Gustavo Noronha Silva <gns@gnome.org>
488 Reviewed by Holger Freyther.
490 When dealing with local files, use a path instead of an URI. GFile
491 has problems decoding URIs with percent signs on them.
493 * platform/network/soup/ResourceHandleSoup.cpp:
494 (WebCore::ResourceHandle::startGio):
496 2009-02-20 Gustavo Noronha Silva <gns@gnome.org>
498 Reviewed by Holger Freyther.
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.
504 * platform/network/soup/ResourceHandleSoup.cpp:
505 (WebCore::readCallback):
507 2009-02-20 David Kilzer <ddkilzer@apple.com>
509 Make IconDatabaseNone.cpp compile with -Wunused and pass check-for-exit-time-destructors
511 Reviewed by Sam Weinig.
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.
530 2009-02-20 David Kilzer <ddkilzer@apple.com>
532 Add comment to generated code when shadowing a built-in object
534 Reviewed by Sam Weinig.
536 * bindings/scripts/CodeGeneratorJS.pm: Added comment to
537 generated code output.
539 2009-02-20 Avi Drissman <avi@chromium.org>
541 Reviewed by Eric Seidel.
543 https://bugs.webkit.org/show_bug.cgi?id=24036
544 Keyboard events need disambiguation on the Linux platform too.
546 * platform/chromium/PlatformKeyboardEventChromium.cpp:
547 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
549 2009-02-19 Darin Fisher <darin@chromium.org>
551 Reviewed by Eric Seidel.
553 https://bugs.webkit.org/show_bug.cgi?id=24046
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.
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):
575 2009-02-19 Dmitry Titov <dimich@chromium.org>
577 Reviewed by Alexey Proskuryakov.
579 https://bugs.webkit.org/show_bug.cgi?id=24017
580 Remove some usage of Document in Worker.
582 * dom/WorkerContext.h:
583 (WebCore::WorkerContext::userAgent):
585 (WebCore::Document::userAgent):
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.
593 (WebCore::Worker::Worker):
594 (WebCore::Worker::notifyFinished):
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.
602 2009-02-20 Gustavo Noronha Silva <gns@gnome.org>
604 Rubber-stamped by Holger Freyther.
606 Do not set httpStatus to SOUP_STATUS_OK when serving local files
607 to match other ports' behavior, fixing xmlhttprequest test
610 * platform/network/soup/ResourceHandleSoup.cpp:
611 (WebCore::queryInfoCallback):
613 2009-02-19 Dan Bernstein <mitz@apple.com>
615 Reviewed by Sam Weinig.
617 - WebCore part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027
618 Do not send loader callbacks during CSS styling
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().
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.
637 (WebCore::Document::dispatchImageLoadEventsNow): Reverted iChat-specific
639 * page/Settings.cpp: Removed m_needsIChatMemoryCacheCallsQuirk and
641 (WebCore::Settings::Settings):
644 2009-02-19 Holger Hans Peter Freyther <zecke@selfish.org>
646 Unreviewed build fix.
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.
652 * platform/network/ResourceResponseBase.h:
653 (WebCore::ResourceResponseBase::memoryUsage):
655 2009-02-19 Beth Dakin <bdakin@apple.com>
657 Reviewed by Dave Hyatt.
659 Fix for <rdar://problem/6077775> Should be able to specify
660 inactive ::selection color
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.
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):
673 2009-02-19 Sam Weinig <sam@webkit.org>
675 Reviewed by Beth Dakin.
677 Patch for https://bugs.webkit.org/show_bug.cgi?id=24044
678 Update querySelector/querySelectorAll to match the latest spec
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 "".
684 Test: fast/dom/SelectorAPI/undefined-null-stringify.html
687 * dom/DocumentFragment.idl:
690 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
692 Reviewed by Geoffrey Garen.
694 https://bugs.webkit.org/show_bug.cgi?id=23732
695 Rework CachedResource overhead accounting to allow platforms to diverge
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.
708 2009-02-19 Anders Carlsson <andersca@apple.com>
710 Reviewed by Kevin Decker.
712 - Fix for <rdar://problem/6604968>
714 On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
715 after the call to -[NSView displayRectIgnoringOpacity:inContext:].
717 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
718 (WebCore::MediaPlayerPrivate::paint):
720 2009-02-19 David Hyatt <hyatt@apple.com>
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.
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).
730 Reviewed by Dan Bernstein
732 Added fast/reflections/reflection-masks-opacity.html
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:
743 2009-02-19 David Levin <levin@chromium.org>
745 Reviewed by Alexey Proskuryakov.
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>
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.
755 Here's a demonstration of the api:
757 RefPtr<NameResolution> nameResolution = NameResolution::create(workerRunLoop);
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");
763 nameResolution->start();
764 while (!nameResolution->done()) {
765 // Only tasks which are posted for "MyCoolMode" will run.
766 workerRunLoop.runInMode(context, "MyCoolMode");
769 No observable change in behavior, so no test.
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):
788 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
790 Reviewed by Eric Seidel.
792 https://bugs.webkit.org/show_bug.cgi?id=24034
793 Fix up Selection->VisibleSelection change.
795 * page/chromium/EventHandlerChromium.cpp:
796 (WebCore::EventHandler::passMousePressEventToSubframe): Renamed Selection
799 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
801 Reviewed by Eric Seidel.
803 https://bugs.webkit.org/show_bug.cgi?id=24041
804 Correct Skia type conversion issues, fix Chromium Linux build.
806 * platform/graphics/chromium/FontLinux.cpp:
807 (WebCore::Font::drawGlyphs): changed parameters to RGBA32, not WebCore::Color.
809 2009-02-19 Jungshik Shin <jshin@chromium.org>
811 Reviewed by Eric Seidel.
813 https://bugs.webkit.org/show_bug.cgi?id=20531
814 Chromium-part follow-up to the patch landed in r40636
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
822 * platform/graphics/chromium/FontCacheChromiumWin.cpp:
823 * platform/graphics/chromium/FontCacheLinux.cpp:
825 2009-02-19 Simon Fraser <simon.fraser@apple.com>
827 Reviewed by Adele Peterson.
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.
833 documentWillBecomeInactive() calls renderView()->willMoveOffscreen(), so no
834 need to do that in detach() as well.
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.
841 (WebCore::Document::detach):
843 (WebCore::Page::~Page):
845 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
847 Reviewed by Eric Seidel.
849 https://bugs.webkit.org/show_bug.cgi?id=24028
850 Fix up Skia path changes.
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.
857 2009-02-19 Gustavo Noronha Silva <gns@gnome.org>
859 Reviewed by Alexey Proskuryakov.
861 Ignore ports on local URLs. This fixes a regression in
862 fast/loader/file-URL-with-port-number.html
864 * platform/network/soup/ResourceHandleSoup.cpp:
865 (WebCore::ResourceHandle::startGio):
867 2009-02-19 Gustavo Noronha Silva <gns@gnome.org>
869 Reviewed by Alexey Proskuryakov.
871 https://bugs.webkit.org/show_bug.cgi?id=24011
872 KURL's setPort doesn't unset port if 0 is given
874 Make setPort remove port if 0 is given to it, as promised by the
875 comment in KURL's header.
878 (WebCore::KURL::setPort):
880 2009-02-18 Dan Bernstein <mitz@apple.com>
882 Reviewed by Brady Eidson.
884 - WebCore part of fixing <rdar://problem/6507512> Crash in iChat at CSSStyleSelector::adjustRenderStyle
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.
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.
896 The crash is a regression. See also the discussion in
897 <https://bugs.webkit.org/show_bug.cgi?id=22521>.
899 * WebCore.base.exp: Added
900 Settings::setNeedsIChatMemoryCacheCallsQuirk().
902 (WebCore::Document::dispatchImageLoadEventsNow): If the quirk is
903 enabled, defer memory cache callbacks during image load event dispatch.
905 (WebCore::Settings::Settings): Initialize
906 m_needsIChatMemoryCacheCallsQuirk.
907 (WebCore::Settings::setNeedsIChatMemoryCacheCallsQuirk): Added this
910 (WebCore::Settings::needsIChatMemoryCacheCallsQuirk): Added this getter.
912 2009-02-18 Adam Roben <aroben@apple.com>
914 Export WebCore::handCursor and Cursor.h
916 Reviewed by John Sullivan.
918 * WebCore.base.exp: Added WebCore::handCursor.
919 * WebCore.xcodeproj/project.pbxproj: Made Cursor.h private.
921 2009-02-18 Ojan Vafai <ojan@chromium.org>
923 Reviewed by Alexey Proskuryakov.
925 https://bugs.webkit.org/show_bug.cgi?id=23992
926 REGRESSION: crash on windows loading http://www.stickam.com/liveStreams.do
928 Unable to reduce to a layout test.
931 (WebCore::Frame::contentRenderer):
933 2009-02-18 Evan Stade <estade@chromium.org>
935 Reviewed by Eric Seidel.
937 https://bugs.webkit.org/show_bug.cgi?id=23861
938 Stroke font outlines on chromium linux
940 TEST=LayoutTests/svg/custom/pointer-events-text.svg
942 * platform/graphics/chromium/FontLinux.cpp:
943 (WebCore::Font::drawGlyphs):
945 2009-02-18 Evan Stade <estade@chromium.org>
947 Reviewed by Eric Seidel.
949 https://bugs.webkit.org/show_bug.cgi?id=23860
950 Resync some graphics/skia files with their chromium counterparts
952 This comes from chromium patches <http://codereview.chromium.org/17633>
953 and <http://codereview.chromium.org/17454>
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:
963 2009-02-18 Gustavo Noronha Silva <gns@gnome.org>
967 Build fix after r41060.
971 2009-02-18 Dimitri Glazkov <dglazkov@chromium.org>
973 Reviewed by Eric Seidel.
975 https://bugs.webkit.org/show_bug.cgi?id=24005
976 Add an include to fix Chromium build.
978 * page/animation/AnimationController.cpp: Add UnusedParam.h include.
980 2009-02-18 Gustavo Noronha Silva <gns@gnome.org>
982 Reviewed by Holger Freyther.
984 Fix symbols.filter location, and add other missing files to the
985 autotools build, so that make dist works.
989 2009-02-18 Zan Dobersek <zandobersek@gmail.com>
991 Rubber-stamped by Holger Hans Peter Freyther.
993 Allow POST method for local requests.
995 * platform/network/soup/ResourceHandleSoup.cpp:
996 (WebCore::ResourceHandle::startGio):
998 2009-02-18 Gustavo Noronha Silva <gns@gnome.org>
1000 Reviewed by Holger Hans Peter Freyther.
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.
1006 Original work by Zan Dobersek.
1008 * platform/network/ResourceHandle.h:
1009 * platform/network/soup/ResourceHandleSoup.cpp:
1010 (WebCore::ResourceHandle::start):
1011 (WebCore::ResourceHandle::startGio):
1013 2009-02-18 Holger Hans Peter Freyther <zecke@selfish.org>
1015 Reviewed by Alexey Proskuryakov.
1017 Implement ResourceHandle::loadResourceSynchronously in ResourceHandleSoup.cpp
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.
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):
1033 2009-02-18 Xan Lopez <xan@gnome.org>
1035 Reviewed by Mark Rowe.
1037 https://bugs.webkit.org/show_bug.cgi?id=23989
1039 Based on a patch by Bo Yang <techrazy.yang@gmail.com>
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.
1045 * platform/Widget.h:
1046 * platform/gtk/WidgetGtk.cpp:
1047 (WebCore::Widget::Widget):
1048 (WebCore::Widget::~Widget):
1049 (WebCore::Widget::setCursor):
1051 2009-02-17 Adam Roben <aroben@apple.com>
1055 * loader/FrameLoader.cpp:
1056 (WebCore::toPlugInElement): Don't rely on #if being processed before
1059 2009-02-17 David Levin <levin@chromium.org>
1061 Reviewed by Alexey Proskuryakov.
1063 Bug 23977: Unnecessary timer related headers in files.
1064 <https://bugs.webkit.org/show_bug.cgi?id=23977>
1066 No observable change in behavior, so no test.
1069 * dom/WorkerRunLoop.cpp:
1070 * dom/WorkerRunLoop.h:
1072 2009-02-17 Peter Abrahamsen <rainhead@gmail.com>
1074 Reviewed by Sam Weinig.
1076 https://bugs.webkit.org/show_bug.cgi?id=23958
1077 <rdar://problem/6587815>
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
1084 * xml/XMLHttpRequest.cpp:
1085 (WebCore::XMLHttpRequest::accessControlCheck):
1087 2009-02-17 Kevin Ollivier <kevino@theolliviers.com>
1089 wx build fix. Add missing constructor used for empty values.
1091 * platform/graphics/wx/FontPlatformData.h:
1092 (WebCore::FontPlatformData::FontPlatformData):
1094 2009-02-17 Antti Koivisto <antti@apple.com>
1096 Reviewed by Dave Kilzer.
1098 <rdar://problem/6592446> dynamically updating page doesn't seem to draw when updated
1100 Need update after callback.
1102 * bindings/js/JSCustomPositionCallback.cpp:
1103 (WebCore::JSCustomPositionCallback::handleEvent):
1104 * bindings/js/JSCustomPositionErrorCallback.cpp:
1105 (WebCore::JSCustomPositionErrorCallback::handleEvent):
1107 2009-02-17 Eric Carlson <eric.carlson@apple.com>
1109 Reviewed by Antti Koivisto.
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>
1115 * DerivedSources.make: add media element proxy exports to .exp file when feature is defined.
1117 * WebCore.VideoProxy.exp: New, define the informal protocol exported by a media element proxy.
1119 * WebCore.xcodeproj/project.pbxproj: Add MediaPlayerProxy.h.
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
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):
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:
1147 * loader/FrameLoader.cpp:
1148 (WebCore::toPlugInElement): Allow cast if element is <video> or <audio>
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):
1158 * platform/graphics/mac/MediaPlayerProxy.h: New, defines media player proxy interface.
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.
1165 * rendering/RenderPartObject.cpp:
1166 (WebCore::RenderPartObject::RenderPartObject): Ditto.
1167 (WebCore::RenderPartObject::updateWidget): Package params for proxy plug-in when element is
1169 * rendering/RenderPartObject.h:
1171 2009-02-17 David Hyatt <hyatt@apple.com>
1173 Reviewed by Eric Seidel
1175 Fix for https://bugs.webkit.org/show_bug.cgi?id=23985
1177 Don't allow legends to be anything but display:block.
1179 Added fast/forms/inline-ignored-on-legend.html
1183 * WebCore.vcproj/WebCore.vcproj:
1184 * WebCore.xcodeproj/project.pbxproj:
1185 * WebCoreSources.bkl:
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:
1194 2009-02-13 Brett Wilson <brettw@dhcp-172-22-71-167.mtv.corp.google.com>
1196 Reviewed by Simon Fraser.
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.
1202 * rendering/RenderObject.cpp:
1203 * rendering/RenderThemeChromiumMac.mm:
1204 (WebCore::RenderThemeChromiumMac::updatePressedState):
1206 2009-02-17 Gustavo Noronha Silva <gns@gnome.org>
1208 Reviewed by Darin Adler.
1210 https://bugs.webkit.org/show_bug.cgi?id=22966
1211 crash when destroying a webview that opened a page containing <script>
1214 Fix m_group being set to 0 instead of to m_singlePageGroup when
1215 GroupName is set to empty
1218 (WebCore::Page::setGroupName):
1220 2009-02-16 Beth Dakin <bdakin@apple.com>
1222 Reviewed by Sam Weinig.
1224 Fix for <rdar://problem/6386623>
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.
1230 * css/CSSParser.cpp:
1231 (WebCore::CSSParser::addProperty):
1232 (WebCore::CSSParser::rollbackLastProperties):
1233 (WebCore::CSSParser::clearProperties):
1234 (WebCore::CSSParser::createFontFaceRule):
1235 (WebCore::CSSParser::deleteFontFaceOnlyValues):
1238 2009-02-16 Justin Garcia <justin.garcia@apple.com>
1240 Reviewed by Mark Rowe.
1242 https://bugs.webkit.org/show_bug.cgi?id=16309
1243 HTML5: The third execCommand argument for insert{un}orderedlist should be ignored
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.
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):
1261 2009-02-16 Dan Bernstein <mitz@apple.com>
1263 Reviewed by Geoffrey Garen.
1265 - fix <rdar://problem/6561077> REGRESSION (r39634): Unable to select an item in stocks widget with the mouse
1267 Test: platform/mac/fast/events/pointer-events-dashboard.html
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.
1274 2009-02-16 Justin Garcia <justin.garcia@apple.com>
1276 Reviewed by Eric Seidel.
1278 https://bugs.webkit.org/show_bug.cgi?id=15381
1279 execCommand justify modifies the contentEditable node
1281 * editing/CompositeEditCommand.cpp:
1282 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Avoid modifying not just
1283 the body element, but any root editable element.
1285 2009-02-16 Chris Fleizach <cfleizach@apple.com>
1287 Reviewed by Adele Peterson.
1289 Bug 23979: AX: alt tag not returned for <input type="image">
1290 https://bugs.webkit.org/show_bug.cgi?id=23979
1292 Test: accessibility/input-image-alt.html
1294 * page/AccessibilityRenderObject.cpp:
1295 (WebCore::AccessibilityRenderObject::accessibilityDescription):
1297 2009-02-16 Kevin Watters <kevinwatters@gmail.com>
1299 Reviewed by Kevin Ollivier.
1301 The ref data is not properly set unless we use the CreateMatrix function.
1303 https://bugs.webkit.org/show_bug.cgi?id=23978
1305 * platform/graphics/wx/TransformationMatrixWx.cpp:
1306 (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
1308 2009-02-16 Dan Bernstein <mitz@apple.com>
1310 Reviewed by John Sullivan.
1312 - fix <rdar://problem/6516829> FontPlatformData constructor passes NULL to CTFontCopyGraphicsFont and CTFontGetPlatformFont
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.
1324 2009-02-15 David Kilzer <ddkilzer@apple.com>
1326 Move duplicate caretWidth constants to RenderObject.h
1328 Reviewed by Dan Bernstein.
1330 No test since no change in behavior.
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.
1340 2009-02-13 Dimitri Glazkov <dglazkov@chromium.org>
1342 Reviewed by Eric Seidel.
1344 https://bugs.webkit.org/show_bug.cgi?id=23955
1345 V8HTMLPlugInCustom returns undefined, which fools interceptors.
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.
1353 2009-02-13 Dimitri Glazkov <dglazkov@chromium.org>
1355 Reviewed by Eric Seidel.
1357 https://bugs.webkit.org/show_bug.cgi?id=23954
1358 Add V8 custom bindings for CanvasRenderingContext2D.
1360 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Added.
1362 (WebCore::toCanvasStyle):
1363 (WebCore::ACCESSOR_GETTER):
1364 (WebCore::ACCESSOR_SETTER):
1366 2009-02-13 Anders Carlsson <andersca@apple.com>
1368 Reviewed by Darin Adler and Dan Bernstein.
1370 <rdar://problem/6583187>
1372 * page/NavigatorBase.cpp:
1373 Handle PPC64 and X86_64 as well.
1375 2009-02-13 Darin Adler <darin@apple.com>
1377 Reviewed by Mark Rowe.
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.
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.
1391 2009-02-13 Adam Treat <adam.treat@torchmobile.com>
1393 Caught by Darin Adler.
1395 No reason to check m_tokenizer twice for 0 in a row.
1398 (WebCore::Document::write):
1400 2009-02-13 Lyon Chen <lyon.chen@torchmobile.com>
1402 Reviewed by Dave Hyatt.
1404 Take into account y() + height() when calculating getLowerRightCorner.
1406 * dom/ContainerNode.cpp:
1407 (WebCore::ContainerNode::getLowerRightCorner):
1409 2009-02-13 Antti Koivisto <antti@apple.com>
1411 Reviewed by Dave Hyatt.
1413 Most of this code was in RenderBox, restore the copyright lines.
1415 * rendering/RenderBoxModelObject.cpp:
1416 * rendering/RenderBoxModelObject.h:
1418 2009-02-13 David Hyatt <hyatt@apple.com>
1420 Get rid of printBoxDecorations, since it is dead code.
1422 Reviewed by Dan Bernstein
1424 * rendering/RenderObject.h:
1426 2009-02-13 Adam Treat <adam.treat@torchmobile.com>
1428 Reviewed by Darin Adler.
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.
1437 * bindings/js/JSHTMLDocumentCustom.cpp:
1438 (WebCore::documentWrite):
1440 (WebCore::Document::write):
1443 2009-02-13 David Hyatt <hyatt@apple.com>
1445 Reviewed by Simon Fraser
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
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:
1465 2009-02-13 David Hyatt <hyatt@apple.com>
1467 Reviewed by Eric Seidel
1469 Remove isEditable() on RenderObject. It is dead code.
1471 * rendering/RenderObject.cpp:
1472 * rendering/RenderObject.h:
1474 2009-02-13 David Hyatt <hyatt@apple.com>
1476 Reviewed by Eric Seidel
1478 Add isTextControl() to RenderObject. Patch call sites thats asked isTextField() || isTextArea() to just use
1479 isTextControl() instead.
1481 Add a toRenderTextControl converter for doing checked casting to RenderTextControls.
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):
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):
1533 2009-02-13 David Hyatt <hyatt@apple.com>
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.
1539 Reviewed by Simon Fraser
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):
1550 2009-02-13 Scott Violet <sky@google.com>
1552 Reviewed by Eric Seidel.
1554 https://bugs.webkit.org/show_bug.cgi?id=23934
1555 Skia platform doesn't render text decoration shadows.
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
1562 This behavior is covered by existing layout tests (see bug for list).
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:
1574 2009-02-12 Darin Fisher <darin@chromium.org>
1576 Reviewed by Eric Seidel.
1578 https://bugs.webkit.org/show_bug.cgi?id=23944
1579 KURLGoogle's pre-parsed canonicalSpec constructor should take a CString
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:
1590 2009-02-13 David Hyatt <hyatt@apple.com>
1592 Remove leftmost/rightmost/lowestPosition from RenderObject. They only need to be called on boxes.
1594 Reviewed by Dan Bernstein
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):
1612 2009-02-12 Simon Fraser <simon.fraser@apple.com>
1614 Fix build with ACCELERATED_COMPOSITING turned on.
1616 toRenderBox()->x() asserts for a layer on an inline; use
1617 m_owningLayer->renderBoxX() instead.
1619 * rendering/RenderLayerBacking.cpp:
1620 (WebCore::RenderLayerBacking::paintIntoLayer):
1622 2009-02-12 Darin Adler <darin@apple.com>
1624 Reviewed by Oliver Hunt.
1626 Speed up document.write a bit.
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.
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.
1640 * dom/Document.h: Added declaration for prepareToWrite.
1642 2009-02-13 Prasanth Ullattil <pullatti@trolltech.com>
1644 Reviewed by Simon Hausmann.
1646 Fixes crash in the Qt port on Windows with comboboxes
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.
1653 * platform/qt/QWebPopup.cpp:
1654 (WebCore::QWebPopup::hidePopup):
1656 2009-02-12 Kevin Ollivier <kevino@theolliviers.com>
1658 wx build fix, typo while tweaking last patch for commit.
1660 * platform/wx/wxcode/gtk/fontprops.cpp:
1663 2009-02-12 miggilin <mr.diggilin@gmail.com>
1665 Reviewed by Kevin Ollivier.
1667 Use Cairo/PANGO to fix text measurements and implement proper
1668 non-kerned text drawing on wxGTK.
1670 https://bugs.webkit.org/show_bug.cgi?id=17727
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):
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:
1689 2009-02-12 Chris Marrin <cmarrin@apple.com>
1691 Reviewed by Simon Fraser
1693 https://bugs.webkit.org/show_bug.cgi?id=23942
1695 Hook up 3D CSS transforms to the accelerated compositor backend.
1696 Not enabled by default.
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:
1735 2009-02-12 David Hyatt <hyatt@apple.com>
1737 Reviewed by Eric Seidel
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.
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):
1763 2009-02-12 Simon Fraser <simon.fraser@apple.com>
1765 Fix non-Mac builds by adding Matrix3DTransformOperation.* and
1766 PerspectiveTransformOperation.*. Cleaned out some cruft in
1767 the WebCore.vcproj fle.
1772 * WebCore.vcproj/WebCore.vcproj:
1774 2009-02-12 David Smith <catfish.man@gmail.com>
1776 Reviewed by Dave Hyatt.
1778 Fix https://bugs.webkit.org/show_bug.cgi?id=23935
1779 Nested :not() and non-simple selectors in :not() should be invalid
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
1785 2009-02-12 Kevin Ollivier <kevino@theolliviers.com>
1789 * WebCoreSources.bkl:
1791 2009-02-12 Simon Fraser <simon.fraser@apple.com>
1793 Fix build with ACCELERATED_COMPOSITING turned on.
1795 Need to cast toRenderBox() in order to call overflowClipRect().
1797 * rendering/RenderLayerBacking.cpp:
1798 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1800 2009-02-12 Oliver Hunt <oliver@apple.com>
1802 Reviewed by NOBODY (Build fix).
1808 2009-02-12 David Hyatt <hyatt@apple.com>
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.
1813 Reviewed by Simon Fraser
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:
1837 2009-02-12 Simon Fraser <simon.fraser@apple.com>
1839 Fix build with ACCELERATED_COMPOSITING turned on (simple copy/paste error)
1841 * platform/graphics/mac/GraphicsLayerCA.mm:
1842 (WebCore::GraphicsLayerCA::setBasicAnimation):
1844 2009-02-12 Julien Chaffraix <jchaffraix@webkit.org>
1848 Release build fix when VIDEO is disabled (it should also
1849 help the builds with WORKERS or XSLT disabled).
1851 * bindings/js/JSDOMWindowBase.cpp:
1852 (jsDOMWindowBaseAudio): Added an UNUSED_PARAM for exec and slot when
1854 (jsDOMWindowBaseWorker): Ditto for WORKERS.
1855 (jsDOMWindowBaseXSLTProcessor): Ditto for XSLT.
1857 2009-02-12 Eric Carlson <eric.carlson@apple.com>
1859 Reviewed by Simon Fraser.
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
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
1883 2009-02-12 Eric Carlson <eric.carlson@apple.com>
1885 Reviewed by Simon Fraser.
1887 Support MPEG content on Mac and Windows.
1888 <rdar://problem/5917509>
1889 https://bugs.webkit.org/show_bug.cgi?id=23495
1891 Test: media/audio-mpeg-supported.html
1893 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1894 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
1896 * platform/graphics/win/QTMovieWin.cpp:
1897 (QTMovieWin::disableUnsupportedTracks):
1899 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: fix typo added in r40925
1901 2009-02-12 David Hyatt <hyatt@apple.com>
1903 Reviewed by Sam Weinig
1905 Move containsFloats, hasOverhangingFloats, shrinkToAvoidFloats and avoidsFloats down to
1906 RenderBox, since these methods only apply to boxes.
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:
1927 2009-02-12 Chris Marrin <cmarrin@apple.com>
1929 Reviewed by Dave Hyatt
1931 https://bugs.webkit.org/show_bug.cgi?id=23908
1933 Added parsing of 3d transform functions and properties
1934 (perspective, perspective-origin, transform-style-3d,
1935 and backface-visibility).
1937 Test: transforms/3d/cssmatrix-3d-interface.xhtml
1939 * css/CSSComputedStyleDeclaration.cpp:
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):
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):
1989 2009-02-12 Kevin Ollivier <kevino@theolliviers.com>
1995 2009-02-12 Brady Eidson <beidson@apple.com>
1997 Reviewed by Darin Adler
1999 Fix potential ref-count or null-deref problems with C++ objects as Obj-C members.
2001 * platform/mac/SharedBufferMac.mm: Change to use RefPtr<> instead of ref()/deref().
2002 (-[WebCoreSharedBufferData dealloc]):
2003 (-[WebCoreSharedBufferData finalize]):
2004 (-[WebCoreSharedBufferData initWithSharedBuffer:]):
2006 2009-02-12 David Hyatt <hyatt@apple.com>
2008 Remove calcWidth from RenderObject. Nobody ever called it on RenderObjects.
2010 Reviewed by Sam Weinig
2012 * rendering/RenderObject.h:
2014 2009-02-12 David Hyatt <hyatt@apple.com>
2016 Reviewed by Mark Rowe
2018 Fix for regression where form controls would paint yellow highlights. The containsComposition check needs to
2019 null check node() now.
2021 * rendering/InlineTextBox.cpp:
2022 (WebCore::InlineTextBox::paint):
2024 2009-02-12 Simon Fraser <simon.fraser@apple.com>
2028 Change Animation::setDirection() to take the new enum value, and fix
2031 Fix build error in MediaPlayerPrivateQTKit.h.
2033 * css/CSSStyleSelector.cpp:
2034 (WebCore::CSSStyleSelector::mapAnimationDirection):
2035 * platform/animation/Animation.h:
2036 (WebCore::Animation::setDirection):
2037 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2039 2009-02-12 David Hyatt <hyatt@apple.com>
2041 Reviewed by Simon Fraser
2043 Remove the overrideSize methods from RenderObject. Devirtualize all of the accessors on RenderBox.
2045 * rendering/RenderBox.h:
2046 * rendering/RenderObject.h:
2048 2009-02-12 Eric Carlson <eric.carlson@apple.com>
2050 Darin Adler, Antti Koivisto, Holger Hans Peter Freyther
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
2055 * WebCore.xcodeproj/project.pbxproj: add MediaPlayerPrivate.h
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:
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:
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.
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.
2116 * platform/graphics/MediaPlayer.h:
2117 (WebCore::MediaPlayer::):
2118 (WebCore::MediaPlayer::frameView): accessor function.
2120 * platform/graphics/MediaPlayerPrivate.h: New, declares abstract interface for media engines.
2121 (WebCore::MediaPlayerPrivateInterface::~MediaPlayerPrivateInterface):
2122 (WebCore::MediaPlayerPrivateInterface::totalBytesKnown):
2124 * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Add support for engine factory
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):
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
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):
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:
2177 2009-02-12 Julien Chaffraix <jchaffraix@webkit.org>
2179 Reviewed by Darin Adler.
2181 Test: fast/dom/prefixed-image-tag.xhtml
2183 Bug 23915: Remove setPrefix work-around in Document::createElement(QualifiedName, bool)
2185 Instead we now directly propage the QualifiedName inside the generated Factory.
2187 Test: fast/dom/prefixed-image-tag.xhtml
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.
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.
2201 * dom/make_names.pl: Implemented the QualifiedName propogation logic
2204 2009-02-12 Simon Fraser <simon.fraser@apple.com>
2206 Reviewed by Dave Hyatt
2208 https://bugs.webkit.org/show_bug.cgi?id=23188
2210 Define enum values for Animation::direction(), and one for
2211 IterationCountInfinite to make the code more self-documenting.
2213 Order the member vars of Animation to optimize packing.
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):
2229 2009-02-12 Christian Dywan <christian@twotoasts.de>
2231 Reviewed by Holger Freyther.
2233 * platform/network/soup/ResourceHandleSoup.cpp:
2234 (WebCore::ResourceHandle::startHttp): Don't use O_CLOEXEC for now.
2236 2009-02-12 Julien Chaffraix <jchaffraix@webkit.org>
2238 Reviewed by Darin Adler.
2240 Bug 23826: Potential bug with before/after rule while moving element from one document to another
2242 Moved the document before/after toggle from the constructor to insertedIntoDocument.
2244 Test: fast/css-generated-content/beforeAfter-interdocument.html
2246 * html/HTMLQuoteElement.cpp:
2247 (WebCore::HTMLQuoteElement::HTMLQuoteElement):
2248 (WebCore::HTMLQuoteElement::insertedIntoDocument):
2249 * html/HTMLQuoteElement.h:
2251 2009-02-12 David Hyatt <hyatt@apple.com>
2253 Reviewed by Simon Fraser
2255 Fix for https://bugs.webkit.org/show_bug.cgi?id=23912
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.
2261 * page/EventHandler.cpp:
2262 (WebCore::EventHandler::handleWheelEvent):
2264 2009-02-12 David Hyatt <hyatt@apple.com>
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.
2270 Reviewed by Simon Fraser
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:
2294 (WebCore::RenderObject::hasBoxDecorations):
2295 * rendering/RenderTableCell.cpp:
2296 (WebCore::CollapsedBorders::addBorder):
2297 (WebCore::RenderTableCell::paintCollapsedBorder):
2299 2009-02-12 Eric Carlson <eric.carlson@apple.com>
2301 Reviewed by Simon Fraser
2303 Bug 18322: video element should have ui when scripting is disabled
2304 https://bugs.webkit.org/show_bug.cgi?id=18322
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.
2310 2009-02-12 Dimitri Glazkov <dglazkov@chromium.org>
2312 Reviewed by Eric Seidel.
2314 https://bugs.webkit.org/show_bug.cgi?id=23906
2315 Add custom V8 bindings for HTMLPlugInElement.
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):
2324 2009-02-12 Gustavo Noronha Silva <gns@gnome.org>
2326 Reviewed by Mark Rowe.
2328 [GTK] Soup backend must handle upload of multiple files
2329 https://bugs.webkit.org/show_bug.cgi?id=18343
2331 * platform/network/soup/ResourceHandleSoup.cpp:
2333 (WebCore::freeFileMapping):
2334 (WebCore::ResourceHandle::startHttp): Support multipart request bodies
2335 mmap'ing files to be uploaded.
2337 2009-02-12 Adam Treat <adam.treat@torchmobile.com>
2339 Fix the Qt build following r40871 which changed RenderObject::element()
2340 into RenderObject::node().
2342 * platform/qt/RenderThemeQt.cpp:
2343 (WebCore::RenderThemeQt::getMediaElementFromRenderObject):
2344 (WebCore::RenderThemeQt::getMediaControlForegroundColor):
2346 2009-02-12 Alexey Proskuryakov <ap@webkit.org>
2350 * platform/graphics/transforms/RotateTransformOperation.cpp: Include <algorithm>.
2352 2009-02-12 Jian Li <jianli@chromium.org>
2354 Reviewed by Alexey Proskuryakov.
2356 Change worker code to use different proxy class pointers.
2357 https://bugs.webkit.org/show_bug.cgi?id=23859
2359 This is a step towards using separate proxies in multi-process implementation.
2361 * bindings/js/WorkerScriptController.cpp:
2362 (WebCore::WorkerScriptController::evaluate):
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):
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):
2401 2009-02-12 David Levin <levin@chromium.org>
2403 Reviewed by Alexey Proskuryakov.
2405 Bug 23688: ThreadableLoader needs a sync implementation for Workers.
2406 <https://bugs.webkit.org/show_bug.cgi?id=23688>
2408 Add ResourceError to ThreadableLoaderClient.
2410 No observable change in behavior, so no test.
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:
2431 2009-02-11 Simon Fraser <simon.fraser@apple.com>
2433 Reviewed by Dave Hyatt
2435 Fix the build on Leopard with ACCELERATED_COMPOSITING turned on.
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
2452 2009-02-11 Adele Peterson <adele@apple.com>
2454 Reviewed by Oliver Hunt.
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
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.
2462 2009-02-11 David Hyatt <hyatt@apple.com>
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.
2467 Reviewed by Simon Fraser
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):
2486 2009-02-11 David Hyatt <hyatt@apple.com>
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
2493 Reviewed by Eric Seidel
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):
2524 2009-02-11 Chris Marrin <cmarrin@apple.com>
2526 Reviewed by Dave Hyatt.
2528 https://bugs.webkit.org/show_bug.cgi?id=23905
2530 Adds support for 3D CSS properties (transform-style-3d, perspective,
2531 perspective-origin, and backface-visibility) to RenderStyle and friends
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:
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:
2568 2009-02-11 Simon Fraser <simon.fraser@apple.com>
2572 Fix ACCELERATED_COMPOSITING build.
2574 * rendering/RenderLayerBacking.cpp:
2575 (WebCore::RenderLayerBacking::createGraphicsLayer):
2576 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2577 * rendering/RenderLayerCompositor.cpp:
2578 (WebCore::RenderLayerCompositor::updateLayerCompositingState):
2580 2009-02-11 Simon Fraser <simon.fraser@apple.com>
2582 Reviewed by Dave Hyatt
2584 https://bugs.webkit.org/show_bug.cgi?id=23862
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.
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:
2601 2009-02-11 David Hyatt <hyatt@apple.com>
2603 Eliminate the virtual position() function from RenderObject. Rename the position() overrides
2604 in RenderText and RenderBox to positionLineBox and devirtualize them.
2606 Patch the one call site to just check for isText() and isBox() and call the methods directly.
2608 Remove some unnecessary overrides of position() on table sections and rows.
2610 Reviewed by Simon Fraser
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):
2628 2009-02-11 Dimitri Glazkov <dglazkov@chromium.org>
2630 Reviewed by Eric Seidel.
2632 https://bugs.webkit.org/show_bug.cgi?id=23901
2633 Add HTML options/collections V8 custom bindings.
2635 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: Added.
2636 (WebCore::getNamedItems):
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):
2660 2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>
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.
2665 Reviewed by Timothy Hatcher.
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):
2678 2009-02-11 David Hyatt <hyatt@apple.com>
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.
2687 Reviewed by Sam Weinig
2689 * dom/ContainerNode.cpp:
2690 (WebCore::ContainerNode::getUpperLeftCorner):
2692 (WebCore::Element::offsetParent):
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):
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:
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:
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):
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):
2990 2009-02-11 Brady Eidson <beidson@apple.com>
2992 Reviewed by Darin Adler
2994 <rdar://problem/3541409> - Further FrameLoader and page cache cleanup
2996 * history/CachedFrame.cpp:
2997 (WebCore::CachedFrame::restore): Moved updatePlatformScriptObjects() here.
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:
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.
3013 (WebCore::FrameTree::detachFromParent): Added to just clear a Frame's parent pointer
3015 2009-02-11 Scott Violet <sky@google.com>
3017 Reviewed by Eric Seidel.
3019 https://bugs.webkit.org/show_bug.cgi?id=23882
3020 GraphicsContextSkia draws round rects as solid rects
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.
3028 The layout tests LayoutTests/fast/css/shadow-multiple.html and
3029 LayoutTests/fast/box-shadow/basic-shadows.html cover this.
3031 * platform/graphics/skia/GraphicsContextSkia.cpp:
3032 (WebCore::GraphicsContext::fillRoundedRect):
3034 2009-02-11 Julien Chaffraix <jchaffraix@webkit.org>
3036 Reviewed by Eric Seidel.
3038 Bug 23536: Auto-generate HTMLElementFactory
3040 Remove the HTMLElementFactory files. Farewell.
3042 * html/HTMLElementFactory.cpp: Removed.
3043 * html/HTMLElementFactory.h: Removed.
3045 2009-02-11 Julien Chaffraix <jchaffraix@webkit.org>
3047 Reviewed by Eric Seidel.
3049 Bug 23536: Auto-generate HTMLElementFactory
3051 Make the platform auto-generate the HTMLElementFactory.
3053 * DerivedSources.make:
3057 * WebCore.vcproj/WebCore.vcproj:
3058 * WebCore.xcodeproj/project.pbxproj:
3059 * WebCoreSources.bkl:
3062 2009-02-11 Sam Weinig <sam@webkit.org>
3064 Reviewed by David Hyatt.
3066 Remove unneeded ASSERTS.
3068 * rendering/RenderBox.h:
3069 (WebCore::RenderBox::width):
3070 (WebCore::RenderBox::height):
3071 (WebCore::RenderBox::size):
3072 (WebCore::RenderBox::frameRect):
3074 2009-02-11 Simon Fraser <simon.fraser@apple.com>
3076 Reviewed by Dave Hyatt
3078 Add function to RenderStyle to ask whether a background image has been specified.
3080 * rendering/style/RenderStyle.h:
3081 (WebCore::InheritedFlags::hasBackgroundImage):
3083 2009-02-11 Simon Fraser <simon.fraser@apple.com>
3085 Reviewed by Dave Hyatt
3087 https://bugs.webkit.org/show_bug.cgi?id=23548
3089 When opacity or transform change on an object which has a compositing layer,
3090 avoid repainting the layer.
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().
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:
3110 2009-02-11 Alexey Proskuryakov <ap@webkit.org>
3112 Reviewed by Darin Adler.
3114 <rdar://problem/6562920> Pasted text should be normalized to NFC
3116 Testing requires putting non-HTML content in pasteboard, so it cannot be done with WebKit alone.
3118 * platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::plainText): Route the text through
3119 -[NSString precomposedStringWithCanonicalMapping].
3121 2009-02-10 Chris Marrin <cmarrin@apple.com>
3123 Reviewed by Simon Fraser.
3125 https://bugs.webkit.org/show_bug.cgi?id=23883
3127 Added new TransformOperation subclasses and methods to existing ones
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):
3196 2009-02-11 David Hyatt <hyatt@apple.com>
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.
3201 Reviewed by Simon Fraser
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:
3212 2009-02-11 David Hyatt <hyatt@apple.com>
3214 https://bugs.webkit.org/show_bug.cgi?id=23895
3216 Remove two complete nonsense lines that I accidentally added from a cut and paste error. This
3217 restores the original logic.
3219 Reviewed by Simon Fraser
3221 * rendering/RenderBox.cpp:
3222 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
3224 2009-02-11 David Hyatt <hyatt@apple.com>
3226 Rename getBaselineOfFirstLineBox to firstLineBoxBaseline. Rename getBaselineOfLastLineBox to
3227 lastLineBoxBaseline. Remove the functions from RenderObject and add them to RenderBox instead.
3229 Reviewed by Eric Seidel
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:
3251 2009-02-11 Eric Carlson <eric.carlson@apple.com>
3253 Reviewed by Simon Fraser
3255 https://bugs.webkit.org/show_bug.cgi?id=23877
3256 Allow port to disable progress events from <video> and <audio> elements
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
3264 2009-02-11 Adam Roben <aroben@apple.com>
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.
3272 * WebCore.vcproj/WebCore.vcproj: Added SVGElementFactory.cpp to the
3273 project directly. VS also decided to reformat this file a little bit.
3275 2009-02-10 Julien Chaffraix <jchaffraix@webkit.org>
3277 Reviewed by Eric Seidel.
3279 Bug 23536: Auto-generate HTMLElementFactory
3281 Those are the last auto-generation bits needed to have a working generated HTMLElementFactory:
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.
3286 - Disabled dashboard compatibility check for HTMLElementFactory as it would make at least one test case fail.
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.
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.
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.
3300 * html/HTMLTagNames.in: Corrected <image> parameters.
3302 2009-02-10 David Hyatt <hyatt@apple.com>
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.
3308 Reviewed by Mark Rowe
3310 * rendering/InlineFlowBox.cpp:
3311 (WebCore::InlineFlowBox::paintTextDecorations):
3312 * rendering/InlineFlowBox.h:
3314 2009-02-10 Jon Honeycutt <jhoneycutt@apple.com>
3316 Windows build fix after r40837.
3320 * DerivedSources.cpp:
3322 2009-02-10 Jon Honeycutt <jhoneycutt@apple.com>
3324 <rdar://6349412> REGRESSION(r37204): Page is not repainted during and
3327 Reviewed by Steve Falkenburg.
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.
3333 2009-02-10 Oliver Hunt <oliver@apple.com>
3335 Reviewed by Adele Peterson.
3337 <rdar://problem/6156755> onMouseOver events do not fire properly for cross frame drag and drop
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.
3345 Test: fast/events/mouse-drag-from-frame.html
3347 * page/EventHandler.cpp:
3348 (WebCore::EventHandler::EventHandler):
3349 (WebCore::EventHandler::clear):
3350 (WebCore::EventHandler::handleMouseReleaseEvent):
3351 Reset new m_capturesDragging flag
3353 (WebCore::EventHandler::handleMousePressEvent):
3354 Respect the m_capturesDragging flag when we propagate
3355 a mousedown event to a subframe.
3357 * page/EventHandler.h:
3358 (WebCore::EventHandler::capturesDragging):
3360 2009-02-10 Kevin Ollivier <kevino@theolliviers.com>
3362 wx build fixes for recent changes to TransformationMatrix and DOMElement.
3364 * WebCoreSources.bkl:
3366 * platform/graphics/transforms/TransformationMatrix.h:
3367 * platform/graphics/wx/TransformationMatrixWx.cpp:
3368 (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
3370 2009-02-10 David Hyatt <hyatt@apple.com>
3372 Some renames on line boxes. xPos()/yPos() -> x()/y(). setXPos()/setYPos() -> setX()/setY(). m_object/object() -> m_renderer/renderer(). textObject() -> textRenderer().
3374 Reviewed by Sam Weinig
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):
3581 2009-02-10 Simon Fraser <simon.fraser@apple.com>
3583 Reviewed by Dave Hyatt
3585 Clean up "fallbackAnimating" logic in AnimationBase. This flag indicates
3586 that animation of an accelerated property must run in software for some reason.
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.
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):
3609 2009-02-10 Simon Fraser <simon.fraser@apple.com>
3611 Reviewed by Dave Hyatt
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.
3618 Fix enclosingCompositingLayer() to correctly look at stacking context and overflow
3621 Check for documentBeingDestroyed() in a few places to avoid work on document
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:
3643 2009-02-10 David Hyatt <hyatt@apple.com>
3645 Rename xPos() and yPos() on RenderLayer to x() and y() to match RenderBox. Rename setPos to setLocation.
3647 Reviewed by Simon Fraser
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:
3660 (WebCore::externalRepresentation):
3662 2009-02-10 Darin Fisher <darin@chromium.org>
3664 Reviewed by Eric Seidel.
3666 https://bugs.webkit.org/show_bug.cgi?id=23879
3667 Add missing PLATFORM(SKIA) changes to TransformationMatrix.h
3669 * platform/graphics/transforms/TransformationMatrix.h:
3671 2009-02-10 Sam Weinig <sam@webkit.org>
3673 Reviewed by David Hyatt.
3675 Fix for https://bugs.webkit.org/show_bug.cgi?id=15897
3676 Please implement getBoundingClientRect and getClientRects
3677 <rdar://problem/6139669>
3679 Cursory implementation of Element.getBoundingClientRect and
3680 Element.getClientRects. Adds necessary infrastructure classes
3681 ClientRect and ClientRectList.
3683 Tests: fast/dom/getBoundingClientRect.html
3684 fast/dom/getClientRects.html
3686 * DerivedSources.make:
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.
3712 (WebCore::Element::getClientRects):
3713 (WebCore::Element::getBoundingClientRect):
3716 * page/DOMWindow.idl:
3717 * rendering/RenderInline.cpp:
3718 (WebCore::RenderInline::absoluteRects):
3719 (WebCore::RenderInline::absoluteQuads):
3721 2009-02-10 David Hyatt <hyatt@apple.com>
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.
3726 Reviewed by Eric Seidel
3728 * page/EventHandler.cpp:
3729 (WebCore::EventHandler::capsLockStateMayHaveChanged):
3730 * rendering/RenderObject.h:
3731 * rendering/RenderTextControlSingleLine.h:
3733 2009-02-10 David Hyatt <hyatt@apple.com>
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.
3738 Reviewed by Sam Weinig
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):
3759 2009-02-10 Dimitri Glazkov <dglazkov@chromium.org>
3761 Reviewed by Mark Rowe.
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.
3766 * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
3767 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3769 2009-02-10 Dimitri Glazkov <dglazkov@chromium.org>
3771 Reviewed by Eric Seidel.
3773 https://bugs.webkit.org/show_bug.cgi?id=23868
3774 Add HTMLInputElement and HTMLOptionsCollection V8 custom bindings.
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):
3784 2009-02-10 Adam Roben <aroben@apple.com>
3786 Fix Bug 23871: Assertion failure beneath WebCore::openFunc when
3787 running http/tests/security/xss-DENIED-xsl-document-redirect.xml
3789 <https://bugs.webkit.org/show_bug.cgi?id=23871>
3791 Reviewed by Alexey Proskuryakov.
3793 Covered by existing tests.
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.
3800 2009-02-10 David Hyatt <hyatt@apple.com>
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.
3805 Reviewed by Sam Weinig
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:
3823 2009-02-10 Eric Carlson <eric.carlson@apple.com>
3825 Reviewed by Simon Fraser.
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
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
3841 (WebCore::HTMLMediaElement::processingUserGesture): New.
3842 * html/HTMLMediaElement.h:
3843 (WebCore::HTMLMediaElement::): Define LoadRestrictions, add m_loadRestrictions.
3845 2009-02-10 Holger Hans Peter Freyther <zecke@selfish.org>
3847 Reviewed by Sam Weinig.
3849 Remove the SVG checks from FloatPoint3D as it is used
3850 by TransformationMatrix.
3852 * platform/graphics/FloatPoint3D.cpp:
3853 * platform/graphics/FloatPoint3D.h:
3855 2009-02-10 David Hyatt <hyatt@apple.com>
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.
3859 Reviewed by Sam Weinig
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):
3907 2009-02-10 Alexey Proskuryakov <ap@webkit.org>
3909 Reviewed by Darin Adler.
3911 https://bugs.webkit.org/show_bug.cgi?id=23867
3912 Eliminate obsolete frame->document() checks
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.
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().
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):
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):
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):
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):
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.
4078 2009-02-10 Adam Treat <adam.treat@torchmobile.com>
4080 Reviewed by George Staikos.
4082 Attempt to fix the Qt build after r40791.
4084 * rendering/RenderSVGRoot.cpp:
4086 2009-02-10 Adam Treat <adam.treat@torchmobile.com>
4088 Reviewed by George Staikos.
4092 * dom/ContainerNode.cpp:
4093 (WebCore::ContainerNode::replaceChild):
4095 2009-02-10 Adam Treat <adam.treat@torchmobile.com>
4097 Fix Qt build following r40793.
4099 * editing/qt/EditorQt.cpp:
4101 2009-02-10 Feng Qian <feng@chromium.org>
4103 Reviewed by Alexey Proskuryakov.
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
4109 * page/Navigator.cpp:
4110 (WebCore::Navigator::cookieEnabled):
4111 (WebCore::Navigator::javaEnabled):
4113 2009-02-10 Sverrir Berg <sverrir@chromium.org>
4115 Reviewed by Eric Seidel.
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
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:
4136 2009-02-10 Darin Fisher <darin@chromium.org>
4138 Revert r40797 as requested by Sam Weinig.
4140 https://bugs.webkit.org/show_bug.cgi?id=23809
4142 * bindings/scripts/CodeGeneratorJS.pm:
4144 * html/HTMLCanvasElement.idl:
4146 2009-02-09 Darin Fisher <darin@chromium.org>
4148 Reviewed by Eric Seidel.
4150 https://bugs.webkit.org/show_bug.cgi?id=23855
4151 Fix TransformationMatrixSkia.cpp and GraphicsContextSkia.cpp bustage
4153 * platform/graphics/skia/GraphicsContextSkia.cpp:
4154 (WebCore::GraphicsContext::getCTM):
4155 * platform/graphics/skia/TransformationMatrixSkia.cpp:
4156 (WebCore::TransformationMatrix::operator SkMatrix):
4158 2009-02-09 Dan Bernstein <mitz@apple.com>
4160 Reviewed by Dave Hyatt.
4162 - fix <rdar://problem/6568942> REGRESSION: Font rendering in Wikipedia input field is incorrect (default GDI text mode)
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.
4170 2009-02-09 Chris Marrin <cmarrin@apple.com>
4172 Reviewed by Simon Fraser
4174 https://bugs.webkit.org/show_bug.cgi?id=23689
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
4179 Test: transforms/3d/cssmatrix-3d-interface.xhtml
4181 * css/WebKitCSSMatrix.cpp:
4182 * css/WebKitCSSMatrix.h:
4183 * css/WebKitCSSMatrix.idl:
4185 2009-02-09 Mark Rowe <mrowe@apple.com>
4187 Reviewed by Darin Adler.
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
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.
4197 2009-02-09 David Hyatt <hyatt@apple.com>
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
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.
4207 Reviewed by Darin Adler
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: