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