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