1 2009-02-16 Anantanarayanan Iyengar <ananta@chromium.org>
3 Reviewed by Darin Fisher.
5 https://bugs.webkit.org/show_bug.cgi?id=23973
6 ScrollView::scrollContents can be invoked during view shutdown. In
7 this scenario the FrameView::hostWindow method can return NULL, which
8 indicates that the frame/page is being destroyed. This causes a crash
9 when we try to dereference a NULL hostWindow pointer. Fix is to add a
12 * platform/ScrollView.cpp:
13 (WebCore::ScrollView::scrollContents):
15 2009-02-26 Rahul Kuchhal <kuchhal@chromium.org>
17 Reviewed by Dave Hyatt.
19 https://bugs.webkit.org/show_bug.cgi?id=24003
20 Fix a crash caused by unsafe type conversion.
22 Test: fast/block/positioning/absolute-in-inline-rtl-4.html
24 * rendering/RenderBox.cpp:
25 (WebCore::RenderBox::calcAbsoluteHorizontalValues):
27 2009-02-26 Ojan Vafai <ojan@chromium.org>
29 Reviewed by Adam Roben.
31 https://bugs.webkit.org/show_bug.cgi?id=24202
32 Have drawNodeHighlight clip instead of clearing. This makes it work for
33 both Safari and Chromium since Chromium draws the inspector highlighting
34 in the same buffer as the page.
36 * inspector/InspectorController.cpp:
37 (WebCore::quadToPath):
38 (WebCore::drawOutlinedQuad):
39 (WebCore::drawOutlinedQuadWithClip):
40 (WebCore::drawHighlightForBox):
42 2009-02-26 David Hyatt <hyatt@apple.com>
44 Reviewed by Dan Bernstein & Darin Adler
46 Make sure the border/padding are properly omitted at the start of an inline that is a continuation.
48 Added fast/inline/inline-continuation-borders.html
50 * rendering/InlineFlowBox.cpp:
51 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
53 2009-02-26 Simon Fraser <simon.fraser@apple.com>
57 Try to fix the wx build after r41218.
61 2009-02-26 Alexey Proskuryakov <ap@webkit.org>
63 Reviewed by Darin Adler.
65 https://bugs.webkit.org/show_bug.cgi?id=19527
66 ASSERTION FAILED: containerA && containerB
68 Test: fast/dom/Range/bug-19527.html
71 (WebCore::Range::isPointInRange):
72 (WebCore::Range::comparePoint):
73 Bring the behavior in line with current Firefox, making it impossible for these methods
74 to pass a null container to compareBoundaryPoints().
76 2009-02-26 Jonathon Jongsma <jonathon@quotidian.org>
78 Reviewed by Holger Freyther.
80 https://bugs.webkit.org/show_bug.cgi?id=20358
82 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
83 (WebCore::SimpleFontData::smallCapsFontData): the small-caps font data
84 should set the computed size rather than the specified size, otherwise
85 the caps just get rendered normal size.
87 2009-02-26 Benjamin Meyer <benjamin.meyer@torchmobile.com>
89 Reviewed by George Staikos.
91 https://bugs.webkit.org/show_bug.cgi?id=24062
92 QNetworkCookieJar expects the url and not the policy url. Sending the
93 policy url will cause QNetworkCookieJar to behave incorrectly. One
94 example would be a cookie that does not have a path or domain.
95 QNetworkCookieJar will use the url it is given to fill in default values.
96 This allows setting cookies on the url of the main frame from an iFrame
97 when the cookie should be set on the url of the iFrame.
99 Originally noticed on http://writer.zoho.com/jsp/home.jsp?serviceurl=/index.do
101 * platform/qt/CookieJarQt.cpp:
102 (WebCore::setCookies):
104 2009-02-26 Charles Wei <charles.wei@torchmobile.com.cn>
106 Reviewed by George Staikos.
108 make WebKit/Qt compile with SVG disabled
111 * platform/graphics/qt/FontPlatformDataQt.cpp:
113 2009-02-25 Gustavo Noronha Silva <gns@gnome.org>
115 Unreviewed build fix. Add WebCore/workers to the list of paths
116 searched by the bindings generator perl script.
120 2009-02-25 Sam Weinig <sam@webkit.org>
122 Reviewed by Geoffrey Garen.
124 Add canvas to the list of RenderObjects that can mark a page as
127 * rendering/RenderHTMLCanvas.cpp:
128 (WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
130 2009-02-25 Eric Carlson <eric.carlson@apple.com>
132 Reviewed by Dave Hyatt.
134 * rendering/RenderBox.cpp:
135 (WebCore::RenderBox::nodeAtPoint): Remove assertion fired when child has layer
136 as RenderMedia with controls always has a layer.
138 2009-02-25 Dan Bernstein <mitz@apple.com>
140 Reviewed by Simon Fraser.
142 - fix https://bugs.webkit.org/show_bug.cgi?id=24130
143 <rdar://problem/6618196> Paint very slow when horizontally resizing
145 Test: fast/gradients/background-clipped.html
147 * rendering/RenderBoxModelObject.cpp:
148 (WebCore::RenderBoxModelObject::paintFillLayerExtended): Intersect the
149 destination rectangle passed to drawTiledImage() with the dirty
150 rectangle. This makes it more likely for the destination rect to be
151 contained in a single tile rect, which results in a faster code path
152 being taken down the road (just drawing a single tile instead of
155 2009-02-25 Ojan Vafai <ojan@chromium.org>
157 Reviewed by Eric Seidel.
159 Fix test regressions from positionForCoordinates patch.
160 https://bugs.webkit.org/show_bug.cgi?id=24148
162 * rendering/RenderBlock.cpp:
163 (WebCore::positionForPointWithInlineChildren):
164 Remove ASSERT that placeholder text codepath is hitting.
166 2009-02-25 Chris Fleizach <cfleizach@apple.com>
168 Reviewed by Beth Dakin.
170 Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail
171 https://bugs.webkit.org/show_bug.cgi?id=24143
173 When an AX object is marked dirty, do not create AX elements while going up the parent chain.
174 Do not allow AXRenderObjects to remove their own IDs from the cache, all the cache to do that work
175 Make sure the AXObjectWrapper's have an object before calling them
176 In AXObjectCache, change get -> getOrCreate. Use get() to only retrieve an element if it exists
178 Test: platform/mac-snowleopard/accessibility/table-updating.html
181 * page/AXObjectCache.cpp:
182 (WebCore::AXObjectCache::~AXObjectCache):
183 (WebCore::AXObjectCache::get):
184 (WebCore::AXObjectCache::getOrCreate):
185 (WebCore::AXObjectCache::removeAXID):
186 (WebCore::AXObjectCache::handleActiveDescendantChanged):
187 (WebCore::AXObjectCache::handleAriaRoleChanged):
188 * page/AXObjectCache.h:
189 * page/AccessibilityImageMapLink.cpp:
190 (WebCore::AccessibilityImageMapLink::parentObject):
191 * page/AccessibilityListBox.cpp:
192 (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
193 (WebCore::AccessibilityListBox::doAccessibilityHitTest):
194 * page/AccessibilityListBoxOption.cpp:
195 (WebCore::AccessibilityListBoxOption::elementRect):
196 (WebCore::AccessibilityListBoxOption::parentObject):
197 * page/AccessibilityObject.cpp:
198 (WebCore::AccessibilityObject::detach):
199 (WebCore::AccessibilityObject::parentObjectIfExists):
200 (WebCore::replacedNodeNeedsCharacter):
201 (WebCore::AccessibilityObject::accessibilityObjectForPosition):
202 * page/AccessibilityObject.h:
203 * page/AccessibilityRenderObject.cpp:
204 (WebCore::AccessibilityRenderObject::firstChild):
205 (WebCore::AccessibilityRenderObject::lastChild):
206 (WebCore::AccessibilityRenderObject::previousSibling):
207 (WebCore::AccessibilityRenderObject::nextSibling):
208 (WebCore::AccessibilityRenderObject::parentObjectIfExists):
209 (WebCore::AccessibilityRenderObject::parentObject):
210 (WebCore::AccessibilityRenderObject::isAttachment):
211 (WebCore::AccessibilityRenderObject::headingLevel):
212 (WebCore::AccessibilityRenderObject::anchorElement):
213 (WebCore::AccessibilityRenderObject::menuForMenuButton):
214 (WebCore::AccessibilityRenderObject::menuButtonForMenu):
215 (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
216 (WebCore::AccessibilityRenderObject::internalLinkElement):
217 (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
218 (WebCore::AccessibilityRenderObject::titleUIElement):
219 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
220 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
221 (WebCore::AccessibilityRenderObject::getDocumentLinks):
222 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
223 (WebCore::AccessibilityRenderObject::focusedUIElement):
224 (WebCore::AccessibilityRenderObject::activeDescendant):
225 (WebCore::AccessibilityRenderObject::observableObject):
226 (WebCore::AccessibilityRenderObject::childrenChanged):
227 (WebCore::AccessibilityRenderObject::addChildren):
228 * page/AccessibilityRenderObject.h:
229 (WebCore::AccessibilityRenderObject::setRenderObject):
230 * page/AccessibilityTable.cpp:
231 (WebCore::AccessibilityTable::addChildren):
232 (WebCore::AccessibilityTable::headerContainer):
233 (WebCore::AccessibilityTable::cellForColumnAndRow):
234 * page/AccessibilityTableCell.cpp:
235 (WebCore::AccessibilityTableCell::isTableCell):
236 (WebCore::AccessibilityTableCell::titleUIElement):
237 * page/AccessibilityTableColumn.cpp:
238 (WebCore::AccessibilityTableColumn::headerObjectForSection):
239 * page/AccessibilityTableRow.cpp:
240 (WebCore::AccessibilityTableRow::isTableRow):
241 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
242 * page/mac/AXObjectCacheMac.mm:
243 (WebCore::AXObjectCache::postNotification):
244 (WebCore::AXObjectCache::postNotificationToElement):
245 * page/mac/AccessibilityObjectWrapper.mm:
246 (textMarkerForVisiblePosition):
247 (AXLinkElementForNode):
248 (nsStringForReplacedNode):
249 (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
250 (-[AccessibilityObjectWrapper accessibilityActionNames]):
251 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
252 (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
253 (-[AccessibilityObjectWrapper accessibilityHitTest:]):
254 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
255 (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
256 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
257 (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
258 (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
259 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
260 (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
261 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
262 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
263 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
265 2009-02-25 Beth Dakin <bdakin@apple.com>
267 Reviewed by Geoff Garen.
269 Re-working of <rdar://problem/6487249> repro crash in
270 WebCore::CSSParser::parseFillImage copying entire contents of this
272 -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
274 Fixes a bunch of layout test failures I caused!
277 (WebCore::CSSParser::parseValue):
278 (WebCore::CSSParser::parseContent):
279 (WebCore::CSSParser::parseFillImage):
280 (WebCore::CSSParser::parseFontFaceSrc):
281 (WebCore::CSSParser::parseBorderImage):
283 2009-02-25 Dimitri Glazkov <dglazkov@chromium.org>
285 Reviewed by Eric Seidel.
287 https://bugs.webkit.org/show_bug.cgi?id=24174
288 Add more V8 custom bindings.
290 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: Added.
291 (WebCore::hasCSSPropertyNamePrefix):
292 (WebCore::cssPropertyName):
293 (WebCore::NAMED_PROPERTY_GETTER):
294 (WebCore::NAMED_PROPERTY_SETTER):
295 * bindings/v8/custom/V8DOMStringListCustom.cpp: Added.
296 (WebCore::INDEXED_PROPERTY_GETTER):
297 (WebCore::CALLBACK_FUNC_DECL):
298 * bindings/v8/custom/V8EventCustom.cpp: Added.
299 (WebCore::ACCESSOR_SETTER):
300 (WebCore::ACCESSOR_GETTER):
301 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Added.
302 (WebCore::NAMED_PROPERTY_DELETER):
303 (WebCore::NAMED_PROPERTY_SETTER):
304 (WebCore::NAMED_PROPERTY_GETTER):
305 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: Added.
306 (WebCore::NAMED_PROPERTY_GETTER):
307 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Added.
308 (WebCore::INDEXED_PROPERTY_GETTER):
309 (WebCore::NAMED_PROPERTY_GETTER):
310 * bindings/v8/custom/V8NodeListCustom.cpp: Added.
311 (WebCore::NAMED_PROPERTY_GETTER):
312 * bindings/v8/custom/V8StyleSheetListCustom.cpp: Added.
313 (WebCore::NAMED_PROPERTY_GETTER):
315 2009-02-25 Scott Violet <sky@google.com>
317 Reviewed by Dave Hyatt.
319 https://bugs.webkit.org/show_bug.cgi?id=24171
320 Provides a RenderTheme method for getting the scroll bar size and
321 changes RenderListBox to use it. RenderTheme returns a size of regular,
322 and Mac's override to return small. Changes ScrollbarThemeChromium to
323 use the scrollbarsize of the scrollbar when getting the size
324 instead of passing in no-args.
326 * platform/chromium/ScrollbarThemeChromium.cpp:
327 (WebCore::ScrollbarThemeChromium::trackRect):
328 (WebCore::ScrollbarThemeChromium::buttonSize):
329 * rendering/RenderListBox.cpp:
330 (WebCore::RenderListBox::createScrollbar):
331 * rendering/RenderTheme.h:
332 (WebCore::RenderTheme::scrollbarControlSizeForPart):
333 * rendering/RenderThemeChromiumMac.h:
334 (WebCore::RenderThemeChromiumMac::scrollbarControlSizeForPart):
335 * rendering/RenderThemeMac.h:
336 (WebCore::RenderThemeMac::scrollbarControlSizeForPart):
338 2009-02-25 Beth Dakin <bdakin@apple.com>
340 Reviewed by Darin Adler.
342 Fix for <rdar://problem/6487249> repro crash in
343 WebCore::CSSParser::parseFillImage copying entire contents of this
345 -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
348 (WebCore::CSSParser::parseValue): Null-check m_styleSheet
350 2009-02-25 Adam Treat <adam.treat@torchmobile.com>
356 2009-02-25 Jan Michael Alonzo <jmalonzo@webkit.org>
358 Gtk build fix. Not reviewed.
360 Add files to the build per r41218.
361 Rename WebkitPoint.h to WebKitPoint.h in DOMWindow.cpp
364 * page/DOMWindow.cpp:
366 2009-02-25 Zan Dobersek <zandobersek@gmail.com>
368 Reviewed by Alexey Proskuryakov.
370 https://bugs.webkit.org/show_bug.cgi?id=24043
371 When faced with URLs with unsupported protocol on Gtk port,
372 report the error through an idle function and return true, so
373 a proper resource handle is created.
375 * platform/network/soup/ResourceHandleSoup.cpp:
376 (WebCore::reportUnknownProtocolError):
377 (WebCore::ResourceHandle::start):
379 2009-02-25 Steve Falkenburg <sfalken@apple.com>
382 Use struct to forward declare ResourceRequest.
384 * history/HistoryItem.h:
385 * inspector/InspectorController.h:
386 * loader/DocumentThreadableLoader.h:
387 * loader/FrameLoaderClient.h:
388 * loader/MainResourceLoader.h:
389 * loader/SubresourceLoader.h:
390 * loader/SubresourceLoaderClient.h:
391 * loader/ThreadableLoader.h:
392 * loader/WorkerThreadableLoader.h:
393 * platform/CrossThreadCopier.h:
394 * platform/network/ResourceHandle.h:
395 * platform/network/ResourceHandleClient.h:
396 * platform/network/ResourceRequestBase.h:
397 * platform/network/cf/ResourceRequestCFNet.h:
398 * xml/XMLHttpRequest.h:
400 2009-02-25 Steve Falkenburg <sfalken@apple.com>
402 Partial Windows build fix.
404 * DerivedSources.cpp:
405 * WebCore.vcproj/WebCore.vcproj:
407 2009-02-25 Dirk Schulze <krit@webkit.org>
409 Reviewed by Oliver Hunt.
411 Ported arcTo to Qt. Qt has no native support for arcTo. This changes
412 calculate the behavior of arcTo and draws it with lineTo and arc.
414 [QT] implement Canvas arcTo
415 https://bugs.webkit.org/show_bug.cgi?id=23873
417 * platform/graphics/qt/PathQt.cpp:
418 (WebCore::Path::addArcTo):
420 2009-02-25 Simon Fraser <simon.fraser@apple.com>
422 Reviewed by Dan Bernstein
424 Remove idl files from Resources, and sort.
426 * WebCore.xcodeproj/project.pbxproj:
428 2009-02-25 Chris Marrin <cmarrin@apple.com>
430 Reviewed by Simon Fraser.
432 https://bugs.webkit.org/show_bug.cgi?id=23943
434 Added webkitConvertPointFromNodeToPage and webkitConvertPointFromPageToNode on
435 the window object. Also added WebKitPoint object, which is passed in and out
438 Test: fast/dom/Window/webkitConvertPoint.html
440 * DerivedSources.make:
442 * WebCore.vcproj/WebCore.vcproj:
443 * WebCore.xcodeproj/project.pbxproj:
444 * WebCoreSources.bkl:
445 * bindings/js/JSDOMWindowBase.cpp:
446 (jsDOMWindowBaseWebKitPoint):
447 (setJSDOMWindowBaseWebKitPoint):
448 * bindings/js/JSWebKitPointConstructor.cpp: Added.
450 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
451 (WebCore::constructWebKitPoint):
452 (WebCore::JSWebKitPointConstructor::getConstructData):
453 * bindings/js/JSWebKitPointConstructor.h: Added.
454 (WebCore::JSWebKitPointConstructor::classInfo):
456 (WebCore::Node::convertToPage):
457 (WebCore::Node::convertFromPage):
459 * page/DOMWindow.cpp:
460 (WebCore::DOMWindow::webkitConvertPointFromNodeToPage):
461 (WebCore::DOMWindow::webkitConvertPointFromPageToNode):
463 * page/DOMWindow.idl:
464 * page/WebKitPoint.h: Added.
465 (WebCore::WebKitPoint::create):
466 (WebCore::WebKitPoint::x):
467 (WebCore::WebKitPoint::y):
468 (WebCore::WebKitPoint::setX):
469 (WebCore::WebKitPoint::setY):
470 (WebCore::WebKitPoint::WebKitPoint):
471 * page/WebKitPoint.idl: Added.
473 2009-02-25 Jian Li <jianli@chromium.org>
475 Reviewed by Alexey Proskuryakov.
477 Remove "#if ENABLE(WORKERS)" wrap from CrossThreadCopier files.
478 https://bugs.webkit.org/show_bug.cgi?id=24145
480 * platform/CrossThreadCopier.cpp:
481 * platform/CrossThreadCopier.h:
483 2009-02-25 David Levin <levin@chromium.org>
485 Reviewed by Alexey Proskuryakov.
487 Bug 23688: ThreadableLoader needs a sync implementation for Workers.
488 <https://bugs.webkit.org/show_bug.cgi?id=23688>
490 No observable change in behavior, so no test.
492 * loader/ThreadableLoader.cpp:
493 (WebCore::ThreadableLoader::loadResourceSynchronously):
494 * loader/ThreadableLoaderClientWrapper.h:
495 (WebCore::ThreadableLoaderClientWrapper::clearClient):
496 (WebCore::ThreadableLoaderClientWrapper::done):
497 (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
498 (WebCore::ThreadableLoaderClientWrapper::didFail):
499 (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
500 (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
501 Expose whether the loader is done (based on what callbacks were done).
503 * loader/WorkerThreadableLoader.cpp:
504 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
505 (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
506 Each loader is given its own mode so that only its callbacks get through the run loop.
508 The xhr spec says that the readystatechange events are synchronous, so in the case of a
509 nested sync xhr no readystatechange events should be fired for the outer xhr.
511 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
513 * loader/WorkerThreadableLoader.h:
514 (WebCore::WorkerThreadableLoader::create):
515 (WebCore::WorkerThreadableLoader::done):
517 * workers/WorkerRunLoop.cpp:
518 (WebCore::WorkerRunLoop::WorkerRunLoop):
519 * workers/WorkerRunLoop.h:
520 (WebCore::WorkerRunLoop::createUniqueId):
521 Simple method to create a uniqueId on demand with respect to the run loop.
523 * workers/WorkerThread.h:
525 2009-02-25 David Levin <levin@chromium.org>
527 Reviewed by Alexey Proskuryakov.
529 Bug 24089: ThreadableLoader::loadResourceSynchronously should do callbacks like the async code.
530 <https://bugs.webkit.org/show_bug.cgi?id=24089>
532 Make threadable loader callbacks to happen during the sync load call.
534 Changes the behavior of sync xhr for insecure redirects in two ways:
535 + Sends an error event instead of an abort event (which is the same as async xhr's behavior).
536 + Throws a network exception which is what other browsers do and what the spec
537 says to do (http://www.w3.org/TR/XMLHttpRequest/).
539 * loader/DocumentThreadableLoader.cpp:
540 (WebCore::DocumentThreadableLoader::loadResourceSynchronously):
541 * loader/DocumentThreadableLoader.h:
542 * loader/ThreadableLoader.cpp:
543 (WebCore::ThreadableLoader::loadResourceSynchronously):
544 * loader/ThreadableLoader.h:
545 * xml/XMLHttpRequest.cpp:
546 (WebCore::XMLHttpRequest::XMLHttpRequest):
547 (WebCore::XMLHttpRequest::loadRequestSynchronously):
548 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
549 (WebCore::XMLHttpRequest::didFail):
550 (WebCore::XMLHttpRequest::didFailRedirectCheck):
551 * xml/XMLHttpRequest.h:
553 2009-02-24 Chris Marrin <cmarrin@apple.com>
555 Reviewed by David Hyatt.
557 https://bugs.webkit.org/show_bug.cgi?id=23368
559 Added logic to correctly hit test accelerated layers.
561 Tests: animations/animation-hit-test-transform.html
562 animations/animation-hit-test.html
563 transitions/transition-hit-test-transform.html
564 transitions/transition-hit-test.html
566 * page/animation/KeyframeAnimation.cpp:
567 (WebCore::KeyframeAnimation::animate):
568 * rendering/RenderLayer.cpp:
569 (WebCore::RenderLayer::hitTestLayer):
570 (WebCore::RenderLayer::updateClipRects):
571 * rendering/RenderLayerBacking.cpp:
572 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
574 2009-02-25 Alexey Proskuryakov <ap@webkit.org>
576 Reviewed by Darin Adler.
578 https://bugs.webkit.org/show_bug.cgi?id=24067
579 REGRESSION: Crash in WebCore::Document::initSecurityContext
581 The crash started to happen when we removed a check for frame->document() being null.
582 However, the original document shouldn't be null here, because it is needed to alias
583 security origins. So, this patch fixes the crash by correcting security origin behavior.
585 Test: http/tests/security/aboutBlank/window-open-self-about-blank.html
586 This tests for not crashing, and for inheriting the domain from the document being replaced.
587 Preserving the aliasing cannot be tested for automatically, because we'd need a non-trivial
588 domain to remove a prefix from.
590 * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Create a new document before
591 clearing the frame, so that Document::initSecurityContext() could access the old one.
593 2009-02-25 Jay Campan <jcampan@google.com>
595 Reviewed by Darin Fisher.
597 https://bugs.webkit.org/show_bug.cgi?id=24066
599 Items in drop-downs were not painted correctly. Makes sure the
600 PopupListBox invalidates in the coordinates of the window as this is
601 FramelessScrollView::invalidateRect paints to.
603 * platform/chromium/PopupMenuChromium.cpp:
604 (WebCore::PopupListBox::invalidateRow):
606 2009-02-24 Simon Fraser <simon.fraser@apple.com>
608 Reviewed by Anders Carlsson
610 https://bugs.webkit.org/show_bug.cgi?id=15081
612 Make display:none work for applet, emebed and object elements
613 by calling rendererIsNeeded() on superclasses.
615 Tests: fast/replaced/applet-display-none.html
616 fast/replaced/embed-display-none.html
617 fast/replaced/object-display-none.html
619 * html/HTMLAppletElement.cpp:
620 (WebCore::HTMLAppletElement::rendererIsNeeded):
621 * html/HTMLElement.cpp:
622 (WebCore::HTMLElement::rendererIsNeeded):
623 * html/HTMLEmbedElement.cpp:
624 (WebCore::HTMLEmbedElement::rendererIsNeeded):
625 * html/HTMLObjectElement.cpp:
626 (WebCore::HTMLObjectElement::rendererIsNeeded):
628 2009-02-24 Simon Fraser <simon.fraser@apple.com>
630 Reviewed by Dave Hyatt
632 https://bugs.webkit.org/show_bug.cgi?id=24137
634 Fix localToAbsolute() and absoluteToLocal() to map points through 3d transforms,
635 taking perspective and transform-style: preserve-3d into account.
637 In order to support transform-style: preserve-3d, which keeps elements in a
638 3d space, we have to carry along an accumulated matrix in TransformState.
639 We also need to apply the perspective from the parent, if any, with the
646 * WebCore.vcproj/WebCore.vcproj:
647 * WebCore.xcodeproj/project.pbxproj:
648 * WebCoreSources.bkl:
649 * css/CSSComputedStyleDeclaration.cpp:
650 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
651 * platform/graphics/transforms/TransformationMatrix.cpp:
652 (WebCore::TransformationMatrix::translate):
653 (WebCore::TransformationMatrix::translate3d):
654 (WebCore::TransformationMatrix::translateRight3d):
655 * platform/graphics/transforms/TransformationMatrix.h:
656 * rendering/RenderBox.cpp:
657 (WebCore::RenderBox::mapLocalToAbsolutePoint):
658 (WebCore::RenderBox::mapAbsoluteToLocalPoint):
659 * rendering/RenderBox.h:
660 * rendering/RenderLayer.cpp:
661 (WebCore::RenderLayer::updateTransform):
662 (WebCore::RenderLayer::perspectiveTransform):
663 (WebCore::RenderLayer::perspectiveOrigin):
664 * rendering/RenderLayer.h:
665 * rendering/RenderLayerBacking.cpp:
666 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
667 * rendering/RenderLayerCompositor.cpp:
668 (WebCore::requiresCompositingLayerForTransform):
669 (WebCore::RenderLayerCompositor::layerHas3DContent):
670 * rendering/RenderObject.cpp:
671 (WebCore::RenderObject::localToAbsolute):
672 (WebCore::RenderObject::absoluteToLocal):
673 (WebCore::RenderObject::mapLocalToAbsolutePoint):
674 (WebCore::RenderObject::mapAbsoluteToLocalPoint):
675 * rendering/RenderObject.h:
676 * rendering/RenderTableCell.cpp:
677 (WebCore::RenderTableCell::mapLocalToAbsolutePoint):
678 (WebCore::RenderTableCell::mapAbsoluteToLocalPoint):
679 * rendering/RenderTableCell.h:
680 * rendering/RenderView.cpp:
681 (WebCore::RenderView::mapLocalToAbsolutePoint):
682 (WebCore::RenderView::mapAbsoluteToLocalPoint):
683 * rendering/RenderView.h:
684 * rendering/TransformState.cpp: Added.
685 (WebCore::TransformState::move):
686 (WebCore::TransformState::applyTransform):
687 (WebCore::TransformState::flatten):
688 * rendering/TransformState.h: Added.
689 (WebCore::TransformState::):
690 (WebCore::TransformState::TransformState):
691 (WebCore::TransformState::move):
692 * rendering/style/RenderStyle.h:
693 (WebCore::InheritedFlags::hasPerspective):
695 2009-02-24 Sam Weinig <sam@webkit.org>
697 Reviewed by David Hyatt.
699 Fix for https://bugs.webkit.org/show_bug.cgi?id=23990
700 Regression (r40837): JavaScript image popup doesn't work
702 Make the getClientRects and getBoundingClientRect methods return rects
703 relative to the viewport.
705 Test: fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport.html
708 (WebCore::Element::getClientRects):
709 (WebCore::Element::getBoundingClientRect):
711 2009-02-24 Ojan Vafai <ojan@chromium.org>
713 Reviewed by Eric Seidel.
715 SVG pages don't have a body or an html element!
716 Don't return early if there is no body.
718 * editing/VisiblePosition.cpp:
719 (WebCore::VisiblePosition::canonicalPosition):
721 2009-02-23 David Hyatt <hyatt@apple.com>
723 Reviewed by Eric Seidel
725 https://bugs.webkit.org/show_bug.cgi?id=23740, painting order wrong for normal flow elements with overflow: hidden
727 This patch reworks the painting of overflow. There is now the concept of a "self-painting layer." All
728 layers are considered to be self-painting except for overflow layers that are normal flow (and that don't have
729 reflections or masks).
731 If an overflow layer is not self-painting, then it ends up painted by its parent just like any other normal flow object.
732 The only difference is that the clip has to be pushed and popped when painting the object's children.
734 The lightweight clipping scheme used for controls has been extended to cover overflow now in this simplified case. With
735 the code consolidated into reusable push/pop functions, all of the renderers that use overflow have been patched to
736 use the new functions.
738 Hit testing has also been patched to check the overflow clip rect first before recurring into children.
740 Scrollbar paint has been moved into RenderBlock for now, since none of the table objects support scrollbars
741 yet, and scrollbar hit testing was already there anyway. Now the two code paths are more symmetrical.
743 Masks are now treated like normal flow layers (just like reflections).
745 A couple of test cases have been added to fast/overflow to test the stacking order.
747 * rendering/InlineFlowBox.cpp:
748 (WebCore::InlineFlowBox::nodeAtPoint):
749 (WebCore::InlineFlowBox::paint):
750 * rendering/RenderBlock.cpp:
751 (WebCore::RenderBlock::repaintOverhangingFloats):
752 (WebCore::RenderBlock::paint):
753 (WebCore::RenderBlock::paintChildren):
754 (WebCore::RenderBlock::paintObject):
755 (WebCore::RenderBlock::paintFloats):
756 (WebCore::RenderBlock::insertFloatingObject):
757 (WebCore::RenderBlock::floatRect):
758 (WebCore::RenderBlock::lowestPosition):
759 (WebCore::RenderBlock::rightmostPosition):
760 (WebCore::RenderBlock::leftmostPosition):
761 (WebCore::RenderBlock::addOverhangingFloats):
762 (WebCore::RenderBlock::nodeAtPoint):
763 (WebCore::RenderBlock::hitTestContents):
764 * rendering/RenderBox.cpp:
765 (WebCore::RenderBox::nodeAtPoint):
766 (WebCore::RenderBox::pushContentsClip):
767 (WebCore::RenderBox::popContentsClip):
768 * rendering/RenderBox.h:
769 (WebCore::RenderBox::paintObject):
770 * rendering/RenderBoxModelObject.cpp:
771 (WebCore::RenderBoxModelObject::hasSelfPaintingLayer):
772 * rendering/RenderBoxModelObject.h:
773 * rendering/RenderLayer.cpp:
774 (WebCore::RenderLayer::paintLayer):
775 (WebCore::RenderLayer::hitTestLayer):
776 (WebCore::RenderLayer::shouldBeNormalFlowOnly):
777 (WebCore::RenderLayer::isSelfPaintingLayer):
778 * rendering/RenderLayer.h:
779 * rendering/RenderTable.cpp:
780 (WebCore::RenderTable::paint):
781 (WebCore::RenderTable::paintObject):
782 (WebCore::RenderTable::nodeAtPoint):
783 * rendering/RenderTable.h:
784 * rendering/RenderTableCell.cpp:
785 (WebCore::RenderTableCell::paint):
786 * rendering/RenderTableRow.cpp:
787 (WebCore::RenderTableRow::nodeAtPoint):
788 (WebCore::RenderTableRow::paint):
789 * rendering/RenderTableRow.h:
790 * rendering/RenderTableSection.cpp:
791 (WebCore::RenderTableSection::paint):
792 (WebCore::RenderTableSection::paintObject):
793 (WebCore::RenderTableSection::nodeAtPoint):
794 * rendering/RenderTableSection.h:
795 * rendering/RenderTreeAsText.cpp:
797 (WebCore::writeLayers):
799 2009-02-24 David Levin <levin@chromium.org>
801 Reviewed by NOBODY (build fix).
803 Attempted build fix for wx-mac.
805 * WebCoreSources.bkl:
807 2009-02-24 David Levin <levin@chromium.org>
809 Reviewed by NOBODY (build fix).
811 Attempted build fixes for qt-linux and wx-mac.
816 2009-02-24 Ojan Vafai <ojan@dhcp-172-31-134-214.sfo.corp.google.com>
818 Reviewed by Sam Weinig.
820 Fix null pointer error. If the node is the Document, then ownerDocument()
821 returns null, document() does not.
823 * editing/VisiblePosition.cpp:
824 (WebCore::VisiblePosition::canonicalPosition):
826 2009-02-24 Jian Li <jianli@chromium.org>
828 Reviewed by NOBODY (attempted build fixes).
830 Fix build break for Windows and Linux.
833 * WebCore.vcproj/WebCore.vcproj:
835 2009-02-24 Dimitri Glazkov <dglazkov@chromium.org>
837 Reviewed by Eric Seidel.
839 https://bugs.webkit.org/show_bug.cgi?id=24131
840 Fix-up COM/RefCounted dichotomy in Chromium port.
842 * page/chromium/AccessibilityObjectWrapper.h:
843 (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Added
844 explicit setting of recount.
846 2009-02-24 Dimitri Glazkov <dglazkov@chromium.org>
848 Reviewed by Eric Seidel.
850 https://bugs.webkit.org/show_bug.cgi?id=24141
851 Add clarity to V8 interceptor helper function.
853 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
854 (WebCore::NAMED_PROPERTY_GETTER): Renamed to notHandledByInterceptor.
855 (WebCore::NAMED_PROPERTY_SETTER): Ditto.
856 (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
857 (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
859 2009-02-24 Simon Fraser <simon.fraser@apple.com>
861 Reviewed by Eric Seidel
863 Minor numeric cleanup: convert float literals to doubles.
865 * platform/graphics/transforms/RotateTransformOperation.cpp:
866 (WebCore::RotateTransformOperation::blend):
868 2009-02-24 Mark Mentovai <mark@chromium.org>
870 Reviewed by Eric Seidel.
872 https://bugs.webkit.org/show_bug.cgi?id=24139
875 * bindings/v8/ScriptInstance.h:
877 2009-02-24 Jian Li <jianli@chromium.org>
879 Reviewed by Alexey Proskuryakov.
881 Move worker related files from dom directory to worker directory under WebCore.
882 https://bugs.webkit.org/show_bug.cgi?id=24123
884 * DerivedSources.make:
888 * WebCore.vcproj/MigrateIDLAndScripts:
889 * WebCore.vcproj/WebCore.vcproj:
890 * WebCore.xcodeproj/project.pbxproj:
891 * platform/CrossThreadCopier.cpp: Renamed from WebCore/dom/CrossThreadCopier.cpp.
892 * platform/CrossThreadCopier.h: Renamed from WebCore/dom/CrossThreadCopier.h.
893 * workers/GenericWorkerTask.h: Renamed from WebCore/dom/GenericWorkerTask.h.
894 * workers/Worker.cpp: Renamed from WebCore/dom/Worker.cpp.
895 * workers/Worker.h: Renamed from WebCore/dom/Worker.h.
896 * workers/Worker.idl: Renamed from WebCore/dom/Worker.idl.
897 * workers/WorkerContext.cpp: Renamed from WebCore/dom/WorkerContext.cpp.
898 * workers/WorkerContext.h: Renamed from WebCore/dom/WorkerContext.h.
899 * workers/WorkerContext.idl: Renamed from WebCore/dom/WorkerContext.idl.
900 * workers/WorkerContextProxy.h: Renamed from WebCore/dom/WorkerContextProxy.h.
901 * workers/WorkerLocation.cpp: Renamed from WebCore/dom/WorkerLocation.cpp.
902 * workers/WorkerLocation.h: Renamed from WebCore/dom/WorkerLocation.h.
903 * workers/WorkerLocation.idl: Renamed from WebCore/dom/WorkerLocation.idl.
904 * workers/WorkerMessagingProxy.cpp: Renamed from WebCore/dom/WorkerMessagingProxy.cpp.
905 * workers/WorkerMessagingProxy.h: Renamed from WebCore/dom/WorkerMessagingProxy.h.
906 * workers/WorkerObjectProxy.h: Renamed from WebCore/dom/WorkerObjectProxy.h.
907 * workers/WorkerRunLoop.cpp: Renamed from WebCore/dom/WorkerRunLoop.cpp.
908 * workers/WorkerRunLoop.h: Renamed from WebCore/dom/WorkerRunLoop.h.
909 * workers/WorkerThread.cpp: Renamed from WebCore/dom/WorkerThread.cpp.
910 * workers/WorkerThread.h: Renamed from WebCore/dom/WorkerThread.h.
912 2009-02-05 Ojan Vafai <ojan@chromium.org> and Eric Seidel <eric@webkit.org>
914 Reviewed by Dave Hyatt.
916 Make cursor positions match IE6/IE7/FF3 when clicking in margins/padding
917 around divs inside editable regions.
918 https://bugs.webkit.org/show_bug.cgi?id=23605
920 Fix clicks outside editable regions from focusing the editable region.
921 https://bugs.webkit.org/show_bug.cgi?id=23607
923 Removed editing/selection/contenteditable-click-outside.html as it's
924 not as useful as our new tests.
926 Clean up RenderBlock::positionForCoordinates to remove dead code,
927 duplicate code, and generally make it more readable.
929 Tests: editing/selection/click-in-margins-inside-editable-div.html
930 editing/selection/click-in-padding-with-multiple-line-boxes.html
931 editing/selection/click-outside-editable-div.html
933 * editing/VisiblePosition.cpp:
934 (WebCore::VisiblePosition::canonicalPosition):
935 * rendering/RenderBlock.cpp:
936 (WebCore::positionForPointRespectingEditingBoundaries):
937 (WebCore::positionForPointWithInlineChildren):
938 (WebCore::RenderBlock::positionForCoordinates):
939 (WebCore::RenderBlock::updateFirstLetter):
941 2009-02-24 Sam Weinig <sam@webkit.org>
943 Reviewed by Geoffrey Garen.
945 Related to <rdar://problem/6590295>
946 Allow disabling javascript: urls.
949 * html/HTMLAnchorElement.cpp:
950 (WebCore::HTMLAnchorElement::parseMappedAttribute):
951 * loader/FrameLoader.cpp:
952 (WebCore::FrameLoader::executeIfJavaScriptURL):
954 (WebCore::Page::Page):
955 (WebCore::Page::setJavaScriptURLsAreAllowed):
956 (WebCore::Page::javaScriptURLsAreAllowed):
959 2009-02-24 Simon Fraser <simon.fraser@apple.com>
961 Fix build when ACCELERATED_COMPOSITING is turned on
962 (overflowList() -> normalFlowList()).
964 * rendering/RenderLayerBacking.cpp:
965 (WebCore::RenderLayerBacking::hasNonCompositingContent):
966 (WebCore::RenderLayerBacking::paintIntoLayer):
967 * rendering/RenderLayerCompositor.cpp:
968 (WebCore::RenderLayerCompositor::calculateCompositedBounds):
969 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
970 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
971 (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
972 (WebCore::RenderLayerCompositor::layerHas3DContent):
974 2009-02-24 Simon Fraser <simon.fraser@apple.com>
976 Reviewed by Darin Adler
978 https://bugs.webkit.org/show_bug.cgi?id=24135
980 Round the FloatPoint returned by absoluteToLocal(), rather than
983 * dom/MouseRelatedEvent.cpp:
984 (WebCore::MouseRelatedEvent::receivedTarget):
986 2009-02-24 Beth Dakin <bdakin@apple.com>
988 Reviewed by Sam Weinig.
990 Fix for https://bugs.webkit.org/show_bug.cgi?id=24004 REGRESSION:
991 Ordered list item marker misaligned when line height is not 1.2
992 -and corresponding <rdar://problem/6602506>
994 This is a regression from http://trac.webkit.org/changeset/40880
995 where createInlineBox was taken off of RenderObject and moved to
996 RenderBox. The problem was that the RenderBox version still needs
997 to be virtual because there is still an existing implementation in
1000 * rendering/RenderBox.h:
1001 * rendering/RenderListMarker.cpp:
1002 (WebCore::RenderListMarker::createInlineBox):
1003 * rendering/RenderListMarker.h:
1005 2009-02-24 Dimitri Glazkov <dglazkov@chromium.org>
1007 Reviewed by Eric Seidel.
1009 https://bugs.webkit.org/show_bug.cgi?id=24128
1010 Upstream more V8 custom bindings: constructors, XSLTProcessor.
1012 * bindings/v8/custom/V8DOMParserConstructor.cpp: Added.
1013 (WebCore::CALLBACK_FUNC_DECL):
1014 * bindings/v8/custom/V8MessageChannelConstructor.cpp: Added.
1015 (WebCore::CALLBACK_FUNC_DECL):
1016 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Added.
1017 (WebCore::CALLBACK_FUNC_DECL):
1018 * bindings/v8/custom/V8XMLSerializerConstructor.cpp: Added.
1019 (WebCore::CALLBACK_FUNC_DECL):
1020 * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: Added.
1021 (WebCore::CALLBACK_FUNC_DECL):
1022 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Added.
1023 (WebCore::CALLBACK_FUNC_DECL):
1025 2009-02-24 David Levin <levin@chromium.org>
1027 Reviewed by Alexey Proskuryakov.
1029 Bug 24090: WorkerThreadableLoader needs to be able to post tasks for a mode.
1030 <https://bugs.webkit.org/show_bug.cgi?id=24090>
1032 No observable change in behavior, so no test.
1034 * dom/WorkerMessagingProxy.cpp:
1035 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
1036 (WebCore::WorkerMessagingProxy::postTaskToWorkerContext):
1037 Fixed the bug that m_unconfirmedMessageCount was getting incremented for non-message tasks.
1039 (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext):
1041 * dom/WorkerMessagingProxy.h:
1042 * loader/ThreadableLoader.cpp:
1043 (WebCore::ThreadableLoader::create):
1044 * loader/WorkerThreadableLoader.cpp:
1045 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
1046 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
1047 (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
1048 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
1049 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
1050 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
1051 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
1052 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
1053 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
1054 Changed these methods to post task using a mode.
1056 * loader/WorkerThreadableLoader.h:
1057 (WebCore::WorkerThreadableLoader::create):
1059 2009-02-24 Alexey Proskuryakov <ap@webkit.org>
1061 Reviewed by Darin Adler.
1063 https://bugs.webkit.org/show_bug.cgi?id=24091
1064 <rdar://problem/6468660> Start of redirect chain ends up as master entry in Application Cache
1066 Test: http/tests/appcache/access-via-redirect.php
1068 * loader/appcache/ApplicationCacheGroup.cpp:
1069 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Use the URL we ended up with,
1070 not the original one.
1072 2009-02-24 Jian Li <jianli@chromium.org>
1074 Reviewed by Alexey Proskuryakov.
1076 Change to include WorkerObjectProxy.h instead of WorkerMessagingProxy.h in WorkerContext.cpp and WorkerScriptController.cpp.
1077 https://bugs.webkit.org/show_bug.cgi?id=24112
1079 * bindings/js/WorkerScriptController.cpp:
1080 * dom/WorkerContext.cpp:
1082 2009-02-23 Antti Koivisto <antti@apple.com>
1084 Reviewed by Oliver Hunt.
1086 <rdar://problem/6613796> Extended text codecs registered on webview creation
1088 Comparing a text encoding with string "GBK" ended up constructing
1089 TextEncoding("GBK") which in turn initialized all extended
1092 * platform/text/TextCodecICU.cpp:
1093 (WebCore::TextCodecICU::decode):
1095 2009-02-23 Sam Weinig <sam@webkit.org>
1099 * bridge/qt/qt_runtime.cpp:
1100 (JSC::Bindings::valueRealType):
1102 2009-02-23 Julien Chaffraix <jchaffraix@webkit.org>
1104 Reviewed by Darin Adler.
1106 Bug 23956: Safari crashes when cloneNode fails (cloning a XML element with an invalid nodeName)
1108 The crash occurred because Document::cloneNode would call Document::createElementNS. Unfortunately
1109 element created with createElement could have a wrong nodeName (createElement sets the string as the
1110 localName without checking for a prefix).
1112 The fix is to call Document::createElement(const QualifiedName&, bool) that will not do any checks on the QualifiedName
1113 and will always succeed.
1114 Also rolled-out the HTMLElement specialisation of clonedNode as it was equivalent to what is done now (added an ASSERT
1117 Test: fast/dom/cloneNode.html
1120 (WebCore::Element::cloneNode): Call createElement(const QualifiedName&, bool) instead of createElementNS as it will
1121 always return an element.
1123 * html/HTMLElement.cpp:
1124 * html/HTMLElement.h: Removed HTMLElement::clonedNode as it is equivalent to what is now done.
1126 2009-02-23 Dimitri Glazkov <dglazkov@chromium.org>
1128 Reviewed by Eric Seidel.
1130 https://bugs.webkit.org/show_bug.cgi?id=24109
1131 Upstream V8 Script abstractions, all except ScriptController.
1133 * bindings/v8/ScriptCachedFrameData.h: Added.
1134 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1135 (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
1136 (WebCore::ScriptCachedFrameData::restore):
1137 (WebCore::ScriptCachedFrameData::clear):
1138 (WebCore::ScriptCachedFrameData::domWindow):
1139 * bindings/v8/ScriptCallFrame.cpp: Added.
1140 (WebCore::ScriptCallFrame::ScriptCallFrame):
1141 (WebCore::ScriptCallFrame::~ScriptCallFrame):
1142 (WebCore::ScriptCallFrame::argumentAt):
1143 * bindings/v8/ScriptCallFrame.h: Added.
1144 (WebCore::ScriptCallFrame::functionName):
1145 (WebCore::ScriptCallFrame::sourceURL):
1146 (WebCore::ScriptCallFrame::lineNumber):
1147 (WebCore::ScriptCallFrame::argumentCount):
1148 * bindings/v8/ScriptCallStack.cpp: Added.
1149 (WebCore::ScriptCallStack::ScriptCallStack):
1150 (WebCore::ScriptCallStack::~ScriptCallStack):
1151 (WebCore::ScriptCallStack::at):
1152 * bindings/v8/ScriptCallStack.h: Added.
1153 (WebCore::ScriptCallStack::size):
1154 * bindings/v8/ScriptInstance.cpp: Added.
1155 (WebCore::V8ScriptInstance::V8ScriptInstance):
1156 (WebCore::V8ScriptInstance::~V8ScriptInstance):
1157 (WebCore::V8ScriptInstance::instance):
1158 (WebCore::V8ScriptInstance::clear):
1159 (WebCore::V8ScriptInstance::set):
1160 * bindings/v8/ScriptInstance.h: Added.
1161 (WebCore::V8ScriptInstance::create):
1162 * bindings/v8/ScriptSourceCode.h: Added.
1163 (WebCore::ScriptSourceCode::ScriptSourceCode):
1164 (WebCore::ScriptSourceCode::isEmpty):
1165 (WebCore::ScriptSourceCode::source):
1166 (WebCore::ScriptSourceCode::url):
1167 (WebCore::ScriptSourceCode::startLine):
1168 * bindings/v8/ScriptState.h: Added.
1169 (WebCore::ScriptState::hadException):
1170 (WebCore::ScriptState::setException):
1171 (WebCore::ScriptState::exception):
1172 * bindings/v8/ScriptString.h: Added.
1173 (WebCore::ScriptString::ScriptString):
1174 (WebCore::ScriptString::operator String):
1175 (WebCore::ScriptString::isNull):
1176 (WebCore::ScriptString::size):
1177 (WebCore::ScriptString::operator=):
1178 (WebCore::ScriptString::operator+=):
1179 * bindings/v8/ScriptValue.cpp: Added.
1180 (WebCore::ScriptValue::getString):
1181 * bindings/v8/ScriptValue.h: Added.
1182 (WebCore::ScriptValue::ScriptValue):
1183 (WebCore::ScriptValue::operator=):
1184 (WebCore::ScriptValue::operator==):
1185 (WebCore::ScriptValue::operator!=):
1186 (WebCore::ScriptValue::isNull):
1187 (WebCore::ScriptValue::isUndefined):
1188 (WebCore::ScriptValue::clear):
1189 (WebCore::ScriptValue::~ScriptValue):
1190 (WebCore::ScriptValue::v8Value):
1192 2009-02-23 Adam Treat <adam.treat@torchmobile.com>
1194 Reviewed by Timothy Hatcher.
1196 https://bugs.webkit.org/show_bug.cgi?id=24106
1197 The Qt port is crashing on exit because the tear down procedure involves
1198 the WebCore::InspectorController trying to access the JS execution context
1199 for a page that is being deleted. This patch amends the inspector so
1200 that it does not try and access the execution context of the WebCore::Page
1201 in the midst of deletion.
1203 * inspector/InspectorController.cpp:
1204 (WebCore::InspectorController::inspectedPageDestroyed):
1205 (WebCore::InspectorController::stopUserInitiatedProfiling):
1207 2009-02-23 David Levin <levin@chromium.org>
1209 Reviewed by Alexey Proskuryakov.
1211 Bug 24088: ThreadableLoaderClient::didFailWillSendRequestCheck isn't wired up completely for workers and could use a better name.
1212 <https://bugs.webkit.org/show_bug.cgi?id=24088>
1214 No observable change in behavior, so no test.
1216 * loader/DocumentThreadableLoader.cpp:
1217 (WebCore::DocumentThreadableLoader::create):
1218 * loader/ThreadableLoaderClient.h:
1219 (WebCore::ThreadableLoaderClient::didFailRedirectCheck):
1220 * loader/ThreadableLoaderClientWrapper.h:
1221 (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
1222 * loader/WorkerThreadableLoader.cpp:
1223 (WebCore::workerContextDidFailRedirectCheck):
1224 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
1225 * loader/WorkerThreadableLoader.h:
1226 * xml/XMLHttpRequest.cpp:
1227 (WebCore::XMLHttpRequest::didFinishLoading):
1228 * xml/XMLHttpRequest.h:
1230 2009-02-23 David Levin <levin@chromium.org>
1232 Reviewed by Alexey Proskuryakov.
1234 Bug 24047: Need to simplify nested if's in WorkerRunLoop::runInMode
1235 <https://bugs.webkit.org/show_bug.cgi?id=24047>
1237 Made a nested if inside of WorkerRunLoop::runInMode a lot simpler by
1238 using only MessageQueue::waitForMessageFilteredWithTimeout instead
1239 of three different MessageQueue methods.
1241 No observable change in behavior, so no test.
1243 * dom/WorkerRunLoop.cpp:
1244 (WebCore::ModePredicate::operator()):
1245 Minor clean-up to able to pass a const ref point for ModePredicate into runInMode.
1246 (WebCore::WorkerRunLoop::runInMode):
1247 * dom/WorkerRunLoop.h:
1249 2009-02-23 David Hyatt <hyatt@apple.com>
1251 In preparation for making layers for multicol objects (so that they can properly split child layers
1252 into multiple columns), rename all of the "overflowOnly" and "overflowList" members and functions
1253 of RenderLayer to use the term "normal flow" instead.
1255 Reviewed by Cameron Zwarich
1257 * rendering/RenderLayer.cpp:
1258 (WebCore::RenderLayer::RenderLayer):
1259 (WebCore::RenderLayer::~RenderLayer):
1260 (WebCore::RenderLayer::setHasVisibleContent):
1261 (WebCore::RenderLayer::enclosingCompositingLayer):
1262 (WebCore::RenderLayer::addChild):
1263 (WebCore::RenderLayer::removeChild):
1264 (WebCore::RenderLayer::paintLayer):
1265 (WebCore::RenderLayer::hitTestLayer):
1266 (WebCore::RenderLayer::dirtyNormalFlowList):
1267 (WebCore::RenderLayer::updateNormalFlowList):
1268 (WebCore::RenderLayer::collectLayers):
1269 (WebCore::RenderLayer::updateLayerListsIfNeeded):
1270 (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1271 (WebCore::RenderLayer::styleChanged):
1272 * rendering/RenderLayer.h:
1273 (WebCore::RenderLayer::isNormalFlowOnly):
1274 (WebCore::RenderLayer::normalFlowList):
1275 * rendering/RenderTreeAsText.cpp:
1276 (WebCore::writeLayers):
1278 2009-02-23 David Hyatt <hyatt@apple.com>
1280 Fix the stacking order for column rules in multi-column layout. Column rules should paint as part of the background of an element, just
1281 after all other components of the background have been painted. This allows negative z-index children to still paint on top of the
1282 column rules (rather than ending up above the background of the box but behind the column rules).
1284 Reviewed by Eric Seidel
1286 Added fast/multicol/column-rules-stacking.html
1288 * rendering/RenderBlock.cpp:
1289 (WebCore::RenderBlock::paintColumnRules):
1290 (WebCore::RenderBlock::paintColumnContents):
1291 (WebCore::RenderBlock::paintObject):
1292 * rendering/RenderBlock.h:
1294 2009-02-23 Adam Treat <adam.treat@torchmobile.com>
1296 Reviewed by David Hyatt.
1298 No testcases have been added or modified since this patch should not result in
1299 a behavior change for ports that have layout tests enabled.
1301 Currently, the implementation of GraphicsContext::drawLineForText amongst
1302 the various ports differ in that some of them are honoring the context's
1303 strokeStyle when drawing a text-decoration and some of them are not.
1304 For instance, Apple's Mac port *does not* honor the context's strokeStyle(),
1305 but the Cairo implementation does and has an explicit workaround that
1306 sets the strokeStyle() temporarily.
1308 This patch fixes so that all ports are consistent by explicitly making sure
1309 to set the GraphicsContext strokeStyle to SolidStroke whenever
1310 painting the text-decoration of an InlineFlowBox or InlineTextBox as these
1311 should always use a solid stroke.
1313 This patch addresses these bugs:
1314 https://bugs.webkit.org/show_bug.cgi?id=19364
1315 https://bugs.webkit.org/show_bug.cgi?id=15659
1317 * rendering/InlineFlowBox.cpp:
1318 (WebCore::InlineFlowBox::paintTextDecorations):
1319 * rendering/InlineTextBox.cpp:
1320 (WebCore::InlineTextBox::paintDecoration):
1322 2009-02-23 Scott Violet <sky@google.com>
1324 Reviewed by Eric Seidel.
1326 https://bugs.webkit.org/show_bug.cgi?id=24098
1327 Bugs in ClipboardChromium
1329 Fixes the following bugs in ClipboardChromium:
1330 * It's possible for the extension to be empty, resulting in a bad file
1331 name, for example, 'foo.' or just '.'.
1332 * We weren't restricting the size of the file to MAX_PATH.
1333 * We weren't removing characters that are invalid for file system names.
1335 * platform/chromium/ClipboardChromium.cpp:
1336 (WebCore::writeImageToDataObject):
1337 * platform/chromium/ClipboardChromium.h:
1338 * platform/chromium/ClipboardChromiumLinux.cpp: Added.
1339 (WebCore::ClipboardChromium::validateFileName):
1340 * platform/chromium/ClipboardChromiumMac.cpp: Added.
1341 (WebCore::ClipboardChromium::validateFileName):
1342 * platform/chromium/ClipboardChromiumWin.cpp: Added.
1343 (WebCore::isInvalidFileCharacter):
1344 (WebCore::ClipboardChromium::validateFileName):
1346 2009-02-23 Thiago Macieira <thiago.macieira@nokia.com>
1348 Reviewed by Simon Hausmann.
1350 Fix the Copyright notices in a few files
1352 * platform/qt/RenderThemeQt.h:
1354 2009-02-23 Xan Lopez <xan@gnome.org>
1356 Reviewed by Alexey Proskuryakov.
1358 https://bugs.webkit.org/show_bug.cgi?id=22624
1359 [SOUP][GTK] Need API to get SoupSession from WebKit.
1361 Allow to retrieve the Soup session and modify the code to take
1362 into account users changing features on it.
1364 * platform/network/ResourceHandle.h:
1365 * platform/network/soup/CookieJarSoup.cpp:
1366 (WebCore::defaultCookieJar):
1367 (WebCore::setDefaultCookieJar):
1368 * platform/network/soup/CookieJarSoup.h:
1369 * platform/network/soup/ResourceHandleSoup.cpp:
1370 (WebCore::createSoupSession):
1371 (WebCore::ensureSessionIsInitialized):
1372 (WebCore::ResourceHandle::startHttp):
1373 (WebCore::ResourceHandle::cancel):
1374 (WebCore::ResourceHandle::defaultSession):
1376 2009-02-23 Xan Lopez <xan@gnome.org>
1378 Reviewed by Alexey Proskuryakov.
1380 https://bugs.webkit.org/show_bug.cgi?id=22624
1381 [SOUP][GTK] Need API to get SoupSession from WebKit.
1383 Remove CURL support.
1387 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
1389 Reviewed by Mark Rowe.
1391 Test: fast/dom/empty-hash-and-search.html
1393 https://bugs.webkit.org/show_bug.cgi?id=21147
1394 hash property returns incorrect value for links w/o hash
1396 Make hash() and search() behavior for empty and missing parts match IE and Firefox.
1398 * platform/KURL.cpp:
1399 (WebCore::KURL::query): Changed to return query without '?', as it is already done for ref().
1400 (WebCore::KURL::prettyURL): Append the query with the question mark.
1402 * page/Location.cpp:
1403 (WebCore::Location::search): Return an empty string if query is empty or missing.
1404 (WebCore::Location::hash): Return an empty string for empty hashes, not only missing ones.
1406 * dom/WorkerLocation.cpp:
1407 (WebCore::WorkerLocation::search):
1408 (WebCore::WorkerLocation::hash):
1409 Match document.location fixes above.
1411 * html/HTMLAnchorElement.cpp:
1412 (WebCore::HTMLAnchorElement::hash):
1413 (WebCore::HTMLAnchorElement::search):
1414 Return an empty string for empty and missing parts.
1416 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
1418 Reviewed by Darin Adler.
1420 https://bugs.webkit.org/show_bug.cgi?id=20184
1421 SELECT with no name generates invalid query string
1423 Test: fast/forms/select-no-name.html
1425 * html/HTMLSelectElement.cpp:
1426 (WebCore::HTMLSelectElement::appendFormData): Added a check for empty name.
1428 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
1430 Apply review comments for the previous check-in (forgot to save the file, oops).
1432 * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren):
1434 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
1436 Reviewed by Darin Adler.
1438 https://bugs.webkit.org/show_bug.cgi?id=15707
1439 Crash when manipulating document from within an iframe onload function
1441 Test: fast/dom/onload-open.html
1443 * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren): Protect the container and
1444 the current node, because anything can happen when dispatching events.
1446 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
1448 Reviewed by Darin Adler.
1450 https://bugs.webkit.org/show_bug.cgi?id=18970
1451 Numerically named input fields cause document.forms loop problems
1453 Test: fast/forms/numeric-input-name.html
1455 * bindings/scripts/CodeGeneratorJS.pm: Try index getter before name getter, even if the
1456 latter overrides properties.
1458 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
1460 Reviewed by Sam Weinig.
1462 https://bugs.webkit.org/show_bug.cgi?id=24059
1463 Tokenizer::write() return value is never used
1466 * dom/XMLTokenizer.cpp:
1467 (WebCore::XMLTokenizer::write):
1468 * dom/XMLTokenizer.h:
1469 * html/HTMLTokenizer.cpp:
1470 (WebCore::HTMLTokenizer::write):
1471 * html/HTMLTokenizer.h:
1472 * loader/FTPDirectoryDocument.cpp:
1473 (WebCore::FTPDirectoryTokenizer::write):
1474 * loader/ImageDocument.cpp:
1475 (WebCore::ImageTokenizer::write):
1476 * loader/MediaDocument.cpp:
1477 (WebCore::MediaTokenizer::write):
1478 * loader/PluginDocument.cpp:
1479 (WebCore::PluginTokenizer::write):
1480 * loader/TextDocument.cpp:
1481 (WebCore::TextTokenizer::write):
1482 Made write() return void, not bool.
1484 2009-02-20 Geoffrey Garen <ggaren@apple.com>
1486 Reviewed by Sam Weinig.
1488 Updated for JavaScriptCore changes to timeout checking.
1490 * bindings/js/JSCustomPositionCallback.cpp:
1491 (WebCore::JSCustomPositionCallback::handleEvent):
1492 * bindings/js/JSCustomPositionErrorCallback.cpp:
1493 (WebCore::JSCustomPositionErrorCallback::handleEvent):
1494 * bindings/js/JSCustomSQLStatementCallback.cpp:
1495 (WebCore::JSCustomSQLStatementCallback::handleEvent):
1496 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1497 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1498 * bindings/js/JSCustomSQLTransactionCallback.cpp:
1499 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1500 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1501 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1502 * bindings/js/JSCustomVoidCallback.cpp:
1503 (WebCore::JSCustomVoidCallback::handleEvent):
1504 * bindings/js/JSCustomXPathNSResolver.cpp:
1505 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1506 * bindings/js/JSDOMWindowBase.cpp:
1507 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1508 (WebCore::JSDOMWindowBase::commonJSGlobalData):
1509 * bindings/js/JSEventListener.cpp:
1510 (WebCore::JSAbstractEventListener::handleEvent):
1511 * bindings/js/ScheduledAction.cpp:
1512 (WebCore::ScheduledAction::executeFunctionInContext):
1513 * bindings/js/ScriptController.cpp:
1514 (WebCore::ScriptController::evaluate):
1515 * bindings/js/WorkerScriptController.cpp:
1516 (WebCore::WorkerScriptController::evaluate):
1517 (WebCore::WorkerScriptController::forbidExecution):
1518 * bindings/objc/WebScriptObject.mm:
1519 (-[WebScriptObject callWebScriptMethod:withArguments:]):
1520 (-[WebScriptObject evaluateWebScript:]):
1521 * bridge/NP_jsobject.cpp:
1522 (_NPN_InvokeDefault):
1526 * bridge/jni/jni_jsobject.mm:
1527 (JavaJSObject::call):
1528 (JavaJSObject::eval):
1530 2009-02-21 Hironori Bono <hbono@chromium.org>
1532 Reviewed by Alexey Proskuryakov.
1534 https://bugs.webkit.org/show_bug.cgi?id=23786
1535 [Chromium] line-break characters in a complex text are treated as zero-width spaces
1537 This change prevents the UniscribeHelper class from treating the line-break characters
1540 Tests: fast/text/international/bidi-linebreak-001.html
1541 fast/text/international/bidi-linebreak-002.html
1542 fast/text/international/bidi-linebreak-003.html
1544 * platform/graphics/chromium/UniscribeHelper.cpp:
1545 (WebCore::UniscribeHelper::adjustSpaceAdvances):
1546 Make the UniscribeHelper::adjustSpaceAdvances() function treat all characters in
1547 the treatAsSpace() function (e.g. U+0020, U+000A, U+000D, U+00A0) as whitespaces,
1548 so does when Chromium renders a simple text.
1550 2009-02-20 Julien Chaffraix <jchaffraix@webkit.org>
1552 Reviewed by Alexey Proskuryakov.
1554 Bug 23940: Use Document::createElement(const QualifiedName&, bool) when creating a known element inside WebCore
1556 Document::createElement(const QualifiedName&, bool) does not check for the prefix as opposed the the one taking an AtomicString
1557 or Document::createElementNS. This is perfectly fine internally because we know the type of element created and the check is
1560 It also removes the use of an ExceptionCode argument which was here only to check that the prefix check was fine. Finally it
1561 enables us to use some generated QualifiedName.
1563 * bindings/js/JSOptionConstructor.cpp:
1564 (WebCore::constructHTMLOptionElement):
1566 (WebCore::Document::setTitle):
1567 * dom/XMLTokenizer.cpp:
1568 (WebCore::createXHTMLParserErrorHeader):
1569 (WebCore::XMLTokenizer::insertErrorMessageBlock):
1570 * editing/CompositeEditCommand.cpp:
1571 (WebCore::createBlockPlaceholderElement):
1572 * editing/htmlediting.cpp:
1573 (WebCore::createTabSpanElement):
1574 * html/HTMLSelectElement.cpp:
1575 (WebCore::HTMLSelectElement::setLength):
1576 * loader/FTPDirectoryDocument.cpp:
1577 (WebCore::FTPDirectoryTokenizer::appendEntry):
1578 (WebCore::FTPDirectoryTokenizer::createTDForFilename):
1579 (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
1580 (WebCore::FTPDirectoryTokenizer::createBasicDocument):
1581 * loader/ImageDocument.cpp:
1582 (WebCore::ImageDocument::createDocumentStructure):
1583 * loader/MediaDocument.cpp:
1584 (WebCore::MediaTokenizer::createDocumentStructure):
1585 * loader/PluginDocument.cpp:
1586 (WebCore::PluginTokenizer::createDocumentStructure):
1587 * loader/TextDocument.cpp:
1588 (WebCore::TextTokenizer::write):
1590 (WebCore::Frame::selectionComputedStyle):
1591 (WebCore::Frame::styleForSelectionStart):
1592 Document::createElement(const AtomicString&, ...) to Document::createElement(const QualifiedName&, ...) switch.
1594 * xml/XPathFunctions.cpp:
1595 (WebCore::XPath::FunLang::evaluate): Re-use langAttr instead of creating a new attribute.
1596 * page/DragController.cpp:
1597 (WebCore::documentFragmentFromDragData): Use the HTMLAnchorElement directly to get rid of the static cast.
1599 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
1601 Reviewed by Eric Seidel.
1603 https://bugs.webkit.org/show_bug.cgi?id=24060
1604 Fix up to accommodate for CanvasPixelArray return.
1606 * platform/graphics/skia/ImageBufferSkia.cpp:
1607 (WebCore::ImageBuffer::getImageData): Added an extra data() to call.
1608 (WebCore::ImageBuffer::putImageData): Ditto.
1610 2009-02-20 Eric Carlson <eric.carlson@apple.com>
1614 https://bugs.webkit.org/show_bug.cgi?id=24042
1615 Bug 24042: MediaPlayer should cache plug-in proxy
1617 The changes in https://bugs.webkit.org/show_bug.cgi?id=23917 assume that
1618 MediaPlayer will always have created the private media player object before
1619 the plug-in is instantiated and calls back with the proxy object. This is not
1620 true on all platforms because of threading latency, so MediaPlayer should
1621 cache the plug-in proxy so it can pass it to the media engine at a later time.
1623 * platform/graphics/MediaPlayer.cpp:
1624 (WebCore::NullMediaPlayerPrivate::setPoster): Null media engine implementation of proxy methods.
1625 (WebCore::NullMediaPlayerPrivate::deliverNotification): Ditto.
1626 (WebCore::NullMediaPlayerPrivate::setMediaPlayerProxy): Ditto.
1627 (WebCore::MediaPlayer::MediaPlayer): Initialize m_playerProxy.
1628 (WebCore::MediaPlayer::load): Pass m_playerProxy to newly created engine.
1629 (WebCore::MediaPlayer::setMediaPlayerProxy): Cache m_playerProxy.
1630 * platform/graphics/MediaPlayer.h: Declare m_playerProxy.
1632 2009-02-20 Eric Carlson <eric.carlson@apple.com>
1636 https://bugs.webkit.org/show_bug.cgi?id=24063
1637 Make it possible for a port to require a user gesture to play/pause an <audio> or <video> element
1639 * html/HTMLMediaElement.cpp:
1640 (WebCore::HTMLMediaElement::HTMLMediaElement): Rename m_loadRestrictions to m_Restrictions.
1641 Initialize m_internalCall.
1642 (WebCore::HTMLMediaElement::loadTimerFired): Increment m_internalCall around call to load().
1643 (WebCore::HTMLMediaElement::load): Call loadInternal if restrictions check out.
1644 (WebCore::HTMLMediaElement::loadInternal): New, guts of old load()
1645 (WebCore::HTMLMediaElement::setNetworkState): Fix bug introduced in r40943
1646 (WebCore::HTMLMediaElement::play): Call playInternal if restrictions check out.
1647 (WebCore::HTMLMediaElement::playInternal): New, guts of old play()
1648 (WebCore::HTMLMediaElement::pause): Call pauseInternal if restrictions check out.
1649 (WebCore::HTMLMediaElement::pauseInternal): New, guts of old pause()
1650 (WebCore::HTMLMediaElement::togglePlayState): Call playInternal/pauseInternal
1651 (WebCore::HTMLMediaElement::deliverNotification): Remove unnecessary white space.
1652 * html/HTMLMediaElement.h: Rename m_loadRestrictions to m_Restrictions, add m_internalCall,
1653 add RequireUserGestureRateChangeRestriction.
1655 2009-02-20 Darin Fisher <darin@chromium.org>
1657 Fix build bustage in FileSystemWin.cpp.
1659 Need to return CString() instead of 0 since there are now two CString
1660 constructors that take a pointer type.
1662 * platform/win/FileSystemWin.cpp:
1663 (WebCore::openTemporaryFile):
1665 2009-02-20 Dimitri Glazkov <dglazkov@chromium.org>
1667 Reviewed by Sam Weinig.
1669 https://bugs.webkit.org/show_bug.cgi?id=23999
1670 Change license headers to accurately reflect code history.
1672 * platform/ContentType.cpp:
1673 * platform/ContentType.h:
1675 2009-02-18 Dimitri Glazkov <dglazkov@chromium.org>
1677 Reviewed by Antti Koivisto.
1679 https://bugs.webkit.org/show_bug.cgi?id=23999
1680 Split off MIME type parsing into its own class.
1682 * GNUmakefile.am: Added ContentType sources.
1683 * WebCore.pro: Ditto.
1684 * WebCore.scons: Ditto.
1685 * WebCore.vcproj/WebCore.vcproj: Ditto.
1686 * WebCore.xcodeproj/project.pbxproj: Ditto.
1687 * WebCoreSources.bkl: Ditto.
1688 * html/HTMLMediaElement.cpp: Changed to use ContentType.
1689 (WebCore::HTMLMediaElement::selectMediaURL):
1690 * platform/ContentType.cpp: Added.
1691 (WebCore::ContentType::ContentType):
1692 (WebCore::ContentType::parameter):
1693 (WebCore::ContentType::type):
1694 * platform/ContentType.h: Added.
1695 (WebCore::ContentType::raw):
1696 * platform/MIMETypeRegistry.cpp:
1697 * platform/MIMETypeRegistry.h:
1698 * platform/graphics/MediaPlayer.cpp:
1699 (WebCore::MediaPlayer::load):
1700 * rendering/style/ContentData.h: Renamed ContentType to StyleContentType.
1701 * rendering/style/RenderStyleConstants.h: Ditto.
1704 2009-02-20 Holger Hans Peter Freyther <zecke@selfish.org>
1706 Unreviewed build fix.
1708 Use CString() instead of 0.
1710 * platform/gtk/FileSystemGtk.cpp:
1711 (WebCore::openTemporaryFile):
1712 * platform/qt/FileSystemQt.cpp:
1713 (WebCore::openTemporaryFile):
1715 2009-02-20 Gustavo Noronha Silva <gns@gnome.org>
1717 Reviewed by Holger Freyther.
1719 When dealing with local files, use a path instead of an URI. GFile
1720 has problems decoding URIs with percent signs on them.
1722 * platform/network/soup/ResourceHandleSoup.cpp:
1723 (WebCore::ResourceHandle::startGio):
1725 2009-02-20 Gustavo Noronha Silva <gns@gnome.org>
1727 Reviewed by Holger Freyther.
1729 Protect the ResourceHandle instance from being destroyed by
1730 didReceiveData inside the GIO readCallback call, so that
1731 cancelling caused by scripts is handled correctly.
1733 * platform/network/soup/ResourceHandleSoup.cpp:
1734 (WebCore::readCallback):
1736 2009-02-20 David Kilzer <ddkilzer@apple.com>
1738 Make IconDatabaseNone.cpp compile with -Wunused and pass check-for-exit-time-destructors
1740 Reviewed by Sam Weinig.
1742 * loader/icon/IconDatabaseNone.cpp:
1743 (WebCore::IconDatabase::defaultDatabaseFilename): Use DEFINE_STATIC_LOCAL().
1744 (WebCore::IconDatabase::open): Commented out unused parameter.
1745 (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto.
1746 (WebCore::IconDatabase::iconForPageURL): Ditto.
1747 (WebCore::IconDatabase::iconURLForPageURL): Ditto.
1748 (WebCore::IconDatabase::defaultIcon): Ditto.
1749 (WebCore::IconDatabase::retainIconForPageURL): Ditto.
1750 (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
1751 (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
1752 (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
1753 (WebCore::IconDatabase::setEnabled): Ditto.
1754 (WebCore::IconDatabase::pageURLMappingCount): Added stub.
1755 (WebCore::IconDatabase::retainedPageURLCount): Ditto.
1756 (WebCore::IconDatabase::iconRecordCount): Ditto.
1757 (WebCore::IconDatabase::iconRecordCountWithData): Ditto.
1759 2009-02-20 David Kilzer <ddkilzer@apple.com>
1761 Add comment to generated code when shadowing a built-in object
1763 Reviewed by Sam Weinig.
1765 * bindings/scripts/CodeGeneratorJS.pm: Added comment to
1766 generated code output.
1768 2009-02-20 Avi Drissman <avi@chromium.org>
1770 Reviewed by Eric Seidel.
1772 https://bugs.webkit.org/show_bug.cgi?id=24036
1773 Keyboard events need disambiguation on the Linux platform too.
1775 * platform/chromium/PlatformKeyboardEventChromium.cpp:
1776 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
1778 2009-02-19 Darin Fisher <darin@chromium.org>
1780 Reviewed by Eric Seidel.
1782 https://bugs.webkit.org/show_bug.cgi?id=24046
1784 Several improvements to CString:
1785 1- Make it possible to initialize a CString from a CStringBuffer
1786 2- Make it possible to get a CStringBuffer from a CString
1787 3- Change CStringBuffer::data() to return a const pointer to ward off mutation
1788 4- Remove unused releaseBuffer() methods.
1789 5- Make CStringBuffer::create() private to force consumers to get a CStringBuffer from a CString.
1791 * platform/text/CString.cpp:
1792 (WebCore::CString::init):
1793 (WebCore::CString::mutableData):
1794 (WebCore::CString::newUninitialized):
1795 (WebCore::CString::copyBufferIfNeeded):
1796 * platform/text/CString.h:
1797 (WebCore::CStringBuffer::data):
1798 (WebCore::CStringBuffer::length):
1799 (WebCore::CStringBuffer::create):
1800 (WebCore::CStringBuffer::mutableData):
1801 (WebCore::CString::CString):
1802 (WebCore::CString::buffer):
1804 2009-02-19 Dmitry Titov <dimich@chromium.org>
1806 Reviewed by Alexey Proskuryakov.
1808 https://bugs.webkit.org/show_bug.cgi?id=24017
1809 Remove some usage of Document in Worker.
1811 * dom/WorkerContext.h:
1812 (WebCore::WorkerContext::userAgent):
1814 (WebCore::Document::userAgent):
1816 * dom/ScriptExecutionContext.h:
1817 Added virtual ScriptExecutionContext::userAgent(const KURL&).
1818 Document implementation uses FrameLoader::userAgent and
1819 WorkerContext receives the string on creation and stores it in a member.
1822 (WebCore::Worker::Worker):
1823 (WebCore::Worker::notifyFinished):
1825 (WebCore::Worker::create):
1826 Instead of Document the Worker constructor now gets a ScriptExecutionContext.
1827 Start using some methods on SEC (like completeURL() and userAgent()).
1828 For others, explicitly case to Document and add a FIXME.
1829 Remove Worker::document() too.
1831 2009-02-20 Gustavo Noronha Silva <gns@gnome.org>
1833 Rubber-stamped by Holger Freyther.
1835 Do not set httpStatus to SOUP_STATUS_OK when serving local files
1836 to match other ports' behavior, fixing xmlhttprequest test
1839 * platform/network/soup/ResourceHandleSoup.cpp:
1840 (WebCore::queryInfoCallback):
1842 2009-02-19 Dan Bernstein <mitz@apple.com>
1844 Reviewed by Sam Weinig.
1846 - WebCore part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027
1847 Do not send loader callbacks during CSS styling
1849 Undo the iChat-specific quirk added in
1850 <http://trac.webkit.org/changeset/41071>. Instead, always suspend memory
1851 cache client callbacks during attach() and recalcStyle().
1853 * WebCore.base.exp: Removed
1854 Settings::setNeedsIChatMemoryCacheCallsQuirk().
1855 * dom/ContainerNode.cpp:
1856 (WebCore::ContainerNode::suspendPostAttachCallbacks): Disable memory
1857 cache client callbacks and remember to enable them afterwards if needed.
1858 (WebCore::ContainerNode::resumePostAttachCallbacks): Re-enable memory
1859 cache client callbacks if they were disabled in
1860 suspendPostAttachCallbacks().
1861 (WebCore::ContainerNode::attach): Use suspendPostAttachCallbacks() and
1862 resumePostAttachCallbacks().
1863 * dom/ContainerNode.h: Made suspendPostAttachCallbacks()
1864 and resumePostAttachCallbacks() non-static.
1866 (WebCore::Document::dispatchImageLoadEventsNow): Reverted iChat-specific
1868 * page/Settings.cpp: Removed m_needsIChatMemoryCacheCallsQuirk and
1870 (WebCore::Settings::Settings):
1873 2009-02-19 Holger Hans Peter Freyther <zecke@selfish.org>
1875 Unreviewed build fix.
1877 Build fix after r41092. Make the memoryUsage method
1878 public. It will be shadowed by cf/mac and for curl/soup/qt
1879 the implementation from ResourceResponseBase will be used.
1881 * platform/network/ResourceResponseBase.h:
1882 (WebCore::ResourceResponseBase::memoryUsage):
1884 2009-02-19 Beth Dakin <bdakin@apple.com>
1886 Reviewed by Dave Hyatt.
1888 Fix for <rdar://problem/6077775> Should be able to specify
1889 inactive ::selection color
1891 This patch makes the ::selction pseudo-element work with
1892 the :window-inactive pseudo type. This was, a user can specify a
1893 different ::selection style when a window is inactive.
1895 * css/CSSStyleSelector.cpp:
1896 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
1897 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1898 * rendering/RenderObject.cpp:
1899 (WebCore::RenderObject::selectionBackgroundColor):
1900 (WebCore::RenderObject::selectionForegroundColor):
1902 2009-02-19 Sam Weinig <sam@webkit.org>
1904 Reviewed by Beth Dakin.
1906 Patch for https://bugs.webkit.org/show_bug.cgi?id=24044
1907 Update querySelector/querySelectorAll to match the latest spec
1909 Update querySelector and querySelectorAll to match the latest version
1910 of the Selectors API spec. We now stringify null and undefined to "null"
1911 and "undefined" respectively instead of to "".
1913 Test: fast/dom/SelectorAPI/undefined-null-stringify.html
1916 * dom/DocumentFragment.idl:
1919 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
1921 Reviewed by Geoffrey Garen.
1923 https://bugs.webkit.org/show_bug.cgi?id=23732
1924 Rework CachedResource overhead accounting to allow platforms to diverge
1927 * loader/CachedResource.cpp:
1928 (WebCore::CachedResource::overheadSize): Changed to ask ResourceResponse
1929 for its size and to use actual URL size.
1930 * platform/network/ResourceResponseBase.h:
1931 (WebCore::ResourceResponseBase::size): Added default size method.
1932 * platform/network/cf/ResourceResponse.h:
1933 (WebCore::ResourceResponse::size): Added Win/CF size method
1934 * platform/network/mac/ResourceResponse.h:
1935 (WebCore::ResourceResponse::size): Added Mac size method.
1937 2009-02-19 Anders Carlsson <andersca@apple.com>
1939 Reviewed by Kevin Decker.
1941 - Fix for <rdar://problem/6604968>
1943 On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
1944 after the call to -[NSView displayRectIgnoringOpacity:inContext:].
1946 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1947 (WebCore::MediaPlayerPrivate::paint):
1949 2009-02-19 David Hyatt <hyatt@apple.com>
1951 Fix a bug where reflections didn't work properly if opacity was < 1. Make sure that replaced elements
1952 also consider reflections to be part of their visual overflow. This had already been done for blocks
1953 and lines, but it wasn't being done yet for replaced elements.
1955 Also make sure that when the object being reflected has opacity < 1 that we don't end up popping the outer
1956 transparency layer early. Since the reflected object paints twice, we don't want to end the transparency
1957 layer it pushed until we're done painting the real object (rather than the reflection).
1959 Reviewed by Dan Bernstein
1961 Added fast/reflections/reflection-masks-opacity.html
1963 * rendering/RenderLayer.cpp:
1964 (WebCore::RenderLayer::paintLayer):
1965 * rendering/RenderPartObject.cpp:
1966 (WebCore::RenderPartObject::layout):
1967 * rendering/RenderReplaced.cpp:
1968 (WebCore::RenderReplaced::layout):
1969 (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect):
1970 * rendering/RenderReplaced.h:
1972 2009-02-19 David Levin <levin@chromium.org>
1974 Reviewed by Alexey Proskuryakov.
1976 Bug 23980: WorkerRunLoop needs a way to run in a given mode similar to CFRunLoopInMode.
1977 <https://bugs.webkit.org/show_bug.cgi?id=23980>
1979 WorkerRunLoop has the ability to run in a mode which filters the tasks to be run.
1980 * When WorkerRunLoop::runInMode is called, only task for that mode will run.
1981 * When WorkerRunLoop::run is called (or the default mode is used), then all tasks
1982 will run regardless of their posted mode.
1984 Here's a demonstration of the api:
1986 RefPtr<NameResolution> nameResolution = NameResolution::create(workerRunLoop);
1988 // Internally nameResolution will do workerRunLoop.postTaskForMode(task, "MyCoolMode")
1989 // for any tasks that need to be run during this loop.
1990 nameResolution->setTaskMode("MyCoolMode");
1992 nameResolution->start();
1993 while (!nameResolution->done()) {
1994 // Only tasks which are posted for "MyCoolMode" will run.
1995 workerRunLoop.runInMode(context, "MyCoolMode");
1998 No observable change in behavior, so no test.
2000 * dom/WorkerRunLoop.cpp:
2001 (WebCore::ModePredicate::ModePredicate):
2002 (WebCore::ModePredicate::operator()):
2003 (WebCore::WorkerRunLoop::WorkerRunLoop):
2004 (WebCore::WorkerRunLoop::~WorkerRunLoop):
2005 (WebCore::WorkerRunLoop::setSharedTimer):
2006 (WebCore::WorkerRunLoop::resetSharedTimer):
2007 (WebCore::WorkerRunLoop::run):
2008 (WebCore::WorkerRunLoop::runInMode):
2009 (WebCore::WorkerRunLoop::postTask):
2010 (WebCore::WorkerRunLoop::postTaskForMode):
2011 * dom/WorkerRunLoop.h:
2012 (WebCore::WorkerRunLoop::Task::create):
2013 (WebCore::WorkerRunLoop::Task::mode):
2014 (WebCore::WorkerRunLoop::Task::performTask):
2015 (WebCore::WorkerRunLoop::Task::Task):
2017 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
2019 Reviewed by Eric Seidel.
2021 https://bugs.webkit.org/show_bug.cgi?id=24034
2022 Fix up Selection->VisibleSelection change.
2024 * page/chromium/EventHandlerChromium.cpp:
2025 (WebCore::EventHandler::passMousePressEventToSubframe): Renamed Selection
2026 to VisibleSelection.
2028 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
2030 Reviewed by Eric Seidel.
2032 https://bugs.webkit.org/show_bug.cgi?id=24041
2033 Correct Skia type conversion issues, fix Chromium Linux build.
2035 * platform/graphics/chromium/FontLinux.cpp:
2036 (WebCore::Font::drawGlyphs): changed parameters to RGBA32, not WebCore::Color.
2038 2009-02-19 Jungshik Shin <jshin@chromium.org>
2040 Reviewed by Eric Seidel.
2042 https://bugs.webkit.org/show_bug.cgi?id=20531
2043 Chromium-part follow-up to the patch landed in r40636
2045 Remove a static member function alternateFamilyName
2046 from Chromium's Win/Linux ports of FontCache. In r40636,
2047 alternateFamilyName was customized using #ifdef PLATFORM(WIN_OS).
2048 So, there's no more need for the static member function per
2051 * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2052 * platform/graphics/chromium/FontCacheLinux.cpp:
2054 2009-02-19 Simon Fraser <simon.fraser@apple.com>
2056 Reviewed by Adele Peterson.
2058 Call documentWillBecomeInactive() from Document::detach to ensure that
2059 media elements are shut down, because they may be kept alive by references
2060 from JS past document teardown.
2062 documentWillBecomeInactive() calls renderView()->willMoveOffscreen(), so no
2063 need to do that in detach() as well.
2065 We no longer need to call documentWillBecomeInactive() from ~Page() (which
2066 was added for <https://bugs.webkit.org/show_bug.cgi?id=21116>), since this
2067 supersedes that change.
2070 (WebCore::Document::detach):
2072 (WebCore::Page::~Page):
2074 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
2076 Reviewed by Eric Seidel.
2078 https://bugs.webkit.org/show_bug.cgi?id=24028
2079 Fix up Skia path changes.
2081 * platform/graphics/skia/GraphicsContextSkia.cpp:
2082 (WebCore::GraphicsContext::strokePath): Removed illegal indirection.
2083 * platform/graphics/skia/PathSkia.cpp:
2084 (WebCore::boundingBoxForCurrentStroke): Changed call name.
2086 2009-02-19 Gustavo Noronha Silva <gns@gnome.org>
2088 Reviewed by Alexey Proskuryakov.
2090 Ignore ports on local URLs. This fixes a regression in
2091 fast/loader/file-URL-with-port-number.html
2093 * platform/network/soup/ResourceHandleSoup.cpp:
2094 (WebCore::ResourceHandle::startGio):
2096 2009-02-19 Gustavo Noronha Silva <gns@gnome.org>
2098 Reviewed by Alexey Proskuryakov.
2100 https://bugs.webkit.org/show_bug.cgi?id=24011
2101 KURL's setPort doesn't unset port if 0 is given
2103 Make setPort remove port if 0 is given to it, as promised by the
2104 comment in KURL's header.
2106 * platform/KURL.cpp:
2107 (WebCore::KURL::setPort):
2109 2009-02-18 Dan Bernstein <mitz@apple.com>
2111 Reviewed by Brady Eidson.
2113 - WebCore part of fixing <rdar://problem/6507512> Crash in iChat at CSSStyleSelector::adjustRenderStyle
2115 The crash results from re-entry into
2116 CSSMutableStyleDeclaration::setCssText, which in turn is caused by
2117 the first style change causing a cached image to load from the memory
2118 cache, causing load delegate dispatch, and iChat's delegate method
2119 calling back into WebKit.
2121 The workaround is to use defer delegate callbacks for memory cache. In
2122 this case, deferring callbacks during image load event dispatch was
2123 found to be sufficient.
2125 The crash is a regression. See also the discussion in
2126 <https://bugs.webkit.org/show_bug.cgi?id=22521>.
2128 * WebCore.base.exp: Added
2129 Settings::setNeedsIChatMemoryCacheCallsQuirk().
2131 (WebCore::Document::dispatchImageLoadEventsNow): If the quirk is
2132 enabled, defer memory cache callbacks during image load event dispatch.
2133 * page/Settings.cpp:
2134 (WebCore::Settings::Settings): Initialize
2135 m_needsIChatMemoryCacheCallsQuirk.
2136 (WebCore::Settings::setNeedsIChatMemoryCacheCallsQuirk): Added this
2139 (WebCore::Settings::needsIChatMemoryCacheCallsQuirk): Added this getter.
2141 2009-02-18 Adam Roben <aroben@apple.com>
2143 Export WebCore::handCursor and Cursor.h
2145 Reviewed by John Sullivan.
2147 * WebCore.base.exp: Added WebCore::handCursor.
2148 * WebCore.xcodeproj/project.pbxproj: Made Cursor.h private.
2150 2009-02-18 Ojan Vafai <ojan@chromium.org>
2152 Reviewed by Alexey Proskuryakov.
2154 https://bugs.webkit.org/show_bug.cgi?id=23992
2155 REGRESSION: crash on windows loading http://www.stickam.com/liveStreams.do
2157 Unable to reduce to a layout test.
2160 (WebCore::Frame::contentRenderer):
2162 2009-02-18 Evan Stade <estade@chromium.org>
2164 Reviewed by Eric Seidel.
2166 https://bugs.webkit.org/show_bug.cgi?id=23861
2167 Stroke font outlines on chromium linux
2169 TEST=LayoutTests/svg/custom/pointer-events-text.svg
2171 * platform/graphics/chromium/FontLinux.cpp:
2172 (WebCore::Font::drawGlyphs):
2174 2009-02-18 Evan Stade <estade@chromium.org>
2176 Reviewed by Eric Seidel.
2178 https://bugs.webkit.org/show_bug.cgi?id=23860
2179 Resync some graphics/skia files with their chromium counterparts
2181 This comes from chromium patches <http://codereview.chromium.org/17633>
2182 and <http://codereview.chromium.org/17454>
2184 * platform/graphics/skia/GraphicsContextSkia.cpp:
2185 (WebCore::GraphicsContext::clipPath):
2186 (WebCore::GraphicsContext::fillPath):
2187 * platform/graphics/skia/PlatformContextSkia.cpp:
2188 (PlatformContextSkia::addPath):
2189 (PlatformContextSkia::currentPath):
2190 * platform/graphics/skia/PlatformContextSkia.h:
2192 2009-02-18 Gustavo Noronha Silva <gns@gnome.org>
2196 Build fix after r41060.
2200 2009-02-18 Dimitri Glazkov <dglazkov@chromium.org>
2202 Reviewed by Eric Seidel.
2204 https://bugs.webkit.org/show_bug.cgi?id=24005
2205 Add an include to fix Chromium build.
2207 * page/animation/AnimationController.cpp: Add UnusedParam.h include.
2209 2009-02-18 Gustavo Noronha Silva <gns@gnome.org>
2211 Reviewed by Holger Freyther.
2213 Fix symbols.filter location, and add other missing files to the
2214 autotools build, so that make dist works.
2218 2009-02-18 Zan Dobersek <zandobersek@gmail.com>
2220 Rubber-stamped by Holger Hans Peter Freyther.
2222 Allow POST method for local requests.
2224 * platform/network/soup/ResourceHandleSoup.cpp:
2225 (WebCore::ResourceHandle::startGio):
2227 2009-02-18 Gustavo Noronha Silva <gns@gnome.org>
2229 Reviewed by Holger Hans Peter Freyther.
2231 Use KURL in startGio instead of passing a string with the URL, so
2232 that we can handle removing refs and queries more elegantly. This
2233 is fixing more regressions that came from the curl->soup switch.
2235 Original work by Zan Dobersek.
2237 * platform/network/ResourceHandle.h:
2238 * platform/network/soup/ResourceHandleSoup.cpp:
2239 (WebCore::ResourceHandle::start):
2240 (WebCore::ResourceHandle::startGio):
2242 2009-02-18 Holger Hans Peter Freyther <zecke@selfish.org>
2244 Reviewed by Alexey Proskuryakov.
2246 Implement ResourceHandle::loadResourceSynchronously in ResourceHandleSoup.cpp
2248 The implementation is needed to have synchronous loading, e.g. for
2249 JavaScript interaction. This is fixing various regressions that
2250 came from the curl->soup switch.
2252 * platform/network/soup/ResourceHandleSoup.cpp:
2253 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
2254 (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
2255 (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
2256 (WebCore::WebCoreSynchronousLoader::didReceiveData):
2257 (WebCore::WebCoreSynchronousLoader::didFinishLoading):
2258 (WebCore::WebCoreSynchronousLoader::didFail):
2259 (WebCore::WebCoreSynchronousLoader::run):
2260 (WebCore::ResourceHandle::loadResourceSynchronously):
2262 2009-02-18 Xan Lopez <xan@gnome.org>
2264 Reviewed by Mark Rowe.
2266 https://bugs.webkit.org/show_bug.cgi?id=23989
2268 Based on a patch by Bo Yang <techrazy.yang@gmail.com>
2270 Make the cursor cache global, that's all we really need and
2271 otherwise we can miss cursor transitions in some situations (see
2272 the bug for one testcase). Also remove some now useless code.
2274 * platform/Widget.h:
2275 * platform/gtk/WidgetGtk.cpp:
2276 (WebCore::Widget::Widget):
2277 (WebCore::Widget::~Widget):
2278 (WebCore::Widget::setCursor):
2280 2009-02-17 Adam Roben <aroben@apple.com>
2284 * loader/FrameLoader.cpp:
2285 (WebCore::toPlugInElement): Don't rely on #if being processed before
2288 2009-02-17 David Levin <levin@chromium.org>
2290 Reviewed by Alexey Proskuryakov.
2292 Bug 23977: Unnecessary timer related headers in files.
2293 <https://bugs.webkit.org/show_bug.cgi?id=23977>
2295 No observable change in behavior, so no test.
2298 * dom/WorkerRunLoop.cpp:
2299 * dom/WorkerRunLoop.h:
2301 2009-02-17 Peter Abrahamsen <rainhead@gmail.com>
2303 Reviewed by Sam Weinig.
2305 https://bugs.webkit.org/show_bug.cgi?id=23958
2306 <rdar://problem/6587815>
2308 Updated XMLHttpRequest with new header names from the latest Access
2309 Control draft: http://www.w3.org/TR/access-control/
2310 - Access-Control-Origin becomes Access-Control-Allow-Origin
2311 - Access-Control-Credentials becomes Access-Control-Allow-Credentials
2313 * xml/XMLHttpRequest.cpp:
2314 (WebCore::XMLHttpRequest::accessControlCheck):
2316 2009-02-17 Kevin Ollivier <kevino@theolliviers.com>
2318 wx build fix. Add missing constructor used for empty values.
2320 * platform/graphics/wx/FontPlatformData.h:
2321 (WebCore::FontPlatformData::FontPlatformData):
2323 2009-02-17 Antti Koivisto <antti@apple.com>
2325 Reviewed by Dave Kilzer.
2327 <rdar://problem/6592446> dynamically updating page doesn't seem to draw when updated
2329 Need update after callback.
2331 * bindings/js/JSCustomPositionCallback.cpp:
2332 (WebCore::JSCustomPositionCallback::handleEvent):
2333 * bindings/js/JSCustomPositionErrorCallback.cpp:
2334 (WebCore::JSCustomPositionErrorCallback::handleEvent):
2336 2009-02-17 Eric Carlson <eric.carlson@apple.com>
2338 Reviewed by Antti Koivisto.
2340 https://bugs.webkit.org/show_bug.cgi?id=23917
2341 Allow a WebKit plug-in to act as a proxy for the <audio> and <video>
2344 * DerivedSources.make: add media element proxy exports to .exp file when feature is defined.
2346 * WebCore.VideoProxy.exp: New, define the informal protocol exported by a media element proxy.
2348 * WebCore.xcodeproj/project.pbxproj: Add MediaPlayerProxy.h.
2350 * html/HTMLMediaElement.cpp:
2351 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_needWidgetUpdate.
2352 (WebCore::HTMLMediaElement::attributeChanged): Don't detach+attach when PLUGIN_PROXY_FOR_VIDEO, the
2353 proxy plug-in handles the poster frame.
2354 (WebCore::HTMLMediaElement::rendererIsNeeded): New logic for PLUGIN_PROXY_FOR_VIDEO.
2355 (WebCore::HTMLMediaElement::createRenderer): Create RenderPartObject when PLUGIN_PROXY_FOR_VIDEO.
2356 (WebCore::HTMLMediaElement::attach): Set m_needWidgetUpdate when PLUGIN_PROXY_FOR_VIDEO
2357 (WebCore::HTMLMediaElement::load): Don't reallocate MediaPlayer when PLUGIN_PROXY_FOR_VIDEO, we keep the
2358 same plug-in for the life of the element.
2359 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): update m_networkState when media player
2360 network state changes to EMPTY, otherwise we can get out of sync with engine.
2361 (WebCore::HTMLMediaElement::defaultEventHandler): pass event to widget when PLUGIN_PROXY_FOR_VIDEO
2362 (WebCore::HTMLMediaElement::deliverNotification): New, deliver notification from proxy plug-in to
2364 (WebCore::HTMLMediaElement::setMediaPlayerProxy): New, pass proxy object to media player.
2365 (WebCore::HTMLMediaElement::initialURL): New, return the url from the "src" attr or the appropriate
2366 <source> element to be used as the initial url for the proxy.
2367 (WebCore::HTMLMediaElement::finishParsingChildren): New, allocate MediaPlayer and update widget.
2368 * html/HTMLMediaElement.h: Declare new methods for proxy, add m_needWidgetUpdate.
2369 (WebCore::HTMLMediaElement::setNeedWidgetUpdate):
2371 * html/HTMLVideoElement.cpp:
2372 (WebCore::HTMLVideoElement::attach): Poster image is handled by proxy when PLUGIN_PROXY_FOR_VIDEO.
2373 (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
2374 * html/HTMLVideoElement.h:
2376 * loader/FrameLoader.cpp:
2377 (WebCore::toPlugInElement): Allow cast if element is <video> or <audio>
2379 * platform/graphics/MediaPlayer.cpp:
2380 (WebCore::MediaPlayer::MediaPlayer): Remove white space.
2381 (WebCore::MediaPlayer::setPoster): New, forward call to private player.
2382 (WebCore::MediaPlayer::deliverNotification): Ditto.
2383 (WebCore::MediaPlayer::setMediaPlayerProxy): Ditto.
2384 * platform/graphics/MediaPlayer.h:
2385 (WebCore::MediaPlayer::mediaPlayerClient):
2387 * platform/graphics/mac/MediaPlayerProxy.h: New, defines media player proxy interface.
2389 * rendering/RenderPart.cpp:
2390 (WebCore::RenderPart::RenderPart): Change constructor to take Element* instead of Node* as a
2391 non-element node doesn't need a renderer
2392 * rendering/RenderPart.h: Ditto.
2394 * rendering/RenderPartObject.cpp:
2395 (WebCore::RenderPartObject::RenderPartObject): Ditto.
2396 (WebCore::RenderPartObject::updateWidget): Package params for proxy plug-in when element is
2398 * rendering/RenderPartObject.h:
2400 2009-02-17 David Hyatt <hyatt@apple.com>
2402 Reviewed by Eric Seidel
2404 Fix for https://bugs.webkit.org/show_bug.cgi?id=23985
2406 Don't allow legends to be anything but display:block.
2408 Added fast/forms/inline-ignored-on-legend.html
2412 * WebCore.vcproj/WebCore.vcproj:
2413 * WebCore.xcodeproj/project.pbxproj:
2414 * WebCoreSources.bkl:
2416 * html/HTMLLegendElement.cpp:
2417 * html/HTMLLegendElement.h:
2418 * rendering/RenderLegend.cpp: Removed.
2419 * rendering/RenderLegend.h: Removed.
2420 * wml/WMLInsertedLegendElement.cpp:
2421 * wml/WMLInsertedLegendElement.h:
2423 2009-02-13 Brett Wilson <brettw@dhcp-172-22-71-167.mtv.corp.google.com>
2425 Reviewed by Simon Fraser.
2427 https://bugs.webkit.org/attachment.cgi?id=27666
2428 Fix Chromium build build: forgotten include in RenderObject, sync
2429 RenderTheme to the recent changes in RenderObject.
2431 * rendering/RenderObject.cpp:
2432 * rendering/RenderThemeChromiumMac.mm:
2433 (WebCore::RenderThemeChromiumMac::updatePressedState):
2435 2009-02-17 Gustavo Noronha Silva <gns@gnome.org>
2437 Reviewed by Darin Adler.
2439 https://bugs.webkit.org/show_bug.cgi?id=22966
2440 crash when destroying a webview that opened a page containing <script>
2443 Fix m_group being set to 0 instead of to m_singlePageGroup when
2444 GroupName is set to empty
2447 (WebCore::Page::setGroupName):
2449 2009-02-16 Beth Dakin <bdakin@apple.com>
2451 Reviewed by Sam Weinig.
2453 Fix for <rdar://problem/6386623>
2455 I made m_numParsedProperties and m_maxParsedProperties unsigned
2456 instead of int, and then added an early return from addPropery() if
2457 m_maxParsedProperties exceeds the max value.
2459 * css/CSSParser.cpp:
2460 (WebCore::CSSParser::addProperty):
2461 (WebCore::CSSParser::rollbackLastProperties):
2462 (WebCore::CSSParser::clearProperties):
2463 (WebCore::CSSParser::createFontFaceRule):
2464 (WebCore::CSSParser::deleteFontFaceOnlyValues):
2467 2009-02-16 Justin Garcia <justin.garcia@apple.com>
2469 Reviewed by Mark Rowe.
2471 https://bugs.webkit.org/show_bug.cgi?id=16309
2472 HTML5: The third execCommand argument for insert{un}orderedlist should be ignored
2474 When we originally implemented this command, MSDN documentation said that IE set the
2475 id attribute of inserted lists to the third argument to execCommand, but IE doesn't
2476 do this nor do any other browsers.
2478 * editing/EditorCommand.cpp:
2479 (WebCore::executeInsertOrderedList):
2480 (WebCore::executeInsertUnorderedList):
2481 * editing/IndentOutdentCommand.cpp:
2482 (WebCore::IndentOutdentCommand::outdentParagraph):
2483 * editing/InsertListCommand.cpp:
2484 (WebCore::InsertListCommand::insertList):
2485 (WebCore::InsertListCommand::InsertListCommand):
2486 (WebCore::InsertListCommand::doApply):
2487 * editing/InsertListCommand.h:
2488 (WebCore::InsertListCommand::create):
2490 2009-02-16 Dan Bernstein <mitz@apple.com>
2492 Reviewed by Geoffrey Garen.
2494 - fix <rdar://problem/6561077> REGRESSION (r39634): Unable to select an item in stocks widget with the mouse
2496 Test: platform/mac/fast/events/pointer-events-dashboard.html
2498 * css/CSSStyleSelector.cpp:
2499 (WebCore::CSSStyleSelector::applyProperty): Do not apply the
2500 pointer-events property in Dashboard backwards compatibility mode,
2501 in order to work around misuse of that property by the Stocks widget.
2503 2009-02-16 Justin Garcia <justin.garcia@apple.com>
2505 Reviewed by Eric Seidel.
2507 https://bugs.webkit.org/show_bug.cgi?id=15381
2508 execCommand justify modifies the contentEditable node
2510 * editing/CompositeEditCommand.cpp:
2511 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Avoid modifying not just
2512 the body element, but any root editable element.
2514 2009-02-16 Chris Fleizach <cfleizach@apple.com>
2516 Reviewed by Adele Peterson.
2518 Bug 23979: AX: alt tag not returned for <input type="image">
2519 https://bugs.webkit.org/show_bug.cgi?id=23979
2521 Test: accessibility/input-image-alt.html
2523 * page/AccessibilityRenderObject.cpp:
2524 (WebCore::AccessibilityRenderObject::accessibilityDescription):
2526 2009-02-16 Kevin Watters <kevinwatters@gmail.com>
2528 Reviewed by Kevin Ollivier.
2530 The ref data is not properly set unless we use the CreateMatrix function.
2532 https://bugs.webkit.org/show_bug.cgi?id=23978
2534 * platform/graphics/wx/TransformationMatrixWx.cpp:
2535 (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
2537 2009-02-16 Dan Bernstein <mitz@apple.com>
2539 Reviewed by John Sullivan.
2541 - fix <rdar://problem/6516829> FontPlatformData constructor passes NULL to CTFontCopyGraphicsFont and CTFontGetPlatformFont
2543 * platform/graphics/FontCache.cpp:
2544 (WebCore::FontDataCacheKeyTraits::emptyValue): Changed to use the
2545 FontPlatformData(float, bool, bool) constructor.
2546 * platform/graphics/mac/FontCacheMac.mm:
2547 (WebCore::FontCache::createFontPlatformData): Changed to pass a valid
2548 NSFont to the FontPlatformData constructor, instead of implicitly
2549 passing 0 and then calling setFont().
2550 * platform/graphics/mac/FontPlatformData.h: Made the NSFont parameter
2551 of the constructor mandatory.
2553 2009-02-15 David Kilzer <ddkilzer@apple.com>
2555 Move duplicate caretWidth constants to RenderObject.h
2557 Reviewed by Dan Bernstein.
2559 No test since no change in behavior.
2561 * rendering/RenderBlock.cpp:
2562 (WebCore::RenderBlock::localCaretRect): Removed caretWidth.
2563 * rendering/RenderBox.cpp:
2564 (WebCore::RenderBox::localCaretRect): Ditto.
2565 * rendering/RenderObject.h: Added caretWidth definition.
2566 * rendering/RenderText.cpp:
2567 (WebCore::RenderText::localCaretRect): Removed caretWidth.
2569 2009-02-13 Dimitri Glazkov <dglazkov@chromium.org>
2571 Reviewed by Eric Seidel.
2573 https://bugs.webkit.org/show_bug.cgi?id=23955
2574 V8HTMLPlugInCustom returns undefined, which fools interceptors.
2576 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
2577 (WebCore::NAMED_PROPERTY_GETTER): Use deferToInterceptor() return value.
2578 (WebCore::NAMED_PROPERTY_SETTER): Ditto.
2579 (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
2580 (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
2582 2009-02-13 Dimitri Glazkov <dglazkov@chromium.org>
2584 Reviewed by Eric Seidel.
2586 https://bugs.webkit.org/show_bug.cgi?id=23954
2587 Add V8 custom bindings for CanvasRenderingContext2D.
2589 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Added.
2591 (WebCore::toCanvasStyle):
2592 (WebCore::ACCESSOR_GETTER):
2593 (WebCore::ACCESSOR_SETTER):
2595 2009-02-13 Anders Carlsson <andersca@apple.com>
2597 Reviewed by Darin Adler and Dan Bernstein.
2599 <rdar://problem/6583187>
2601 * page/NavigatorBase.cpp:
2602 Handle PPC64 and X86_64 as well.
2604 2009-02-13 Darin Adler <darin@apple.com>
2606 Reviewed by Mark Rowe.
2608 Fix broken tokenizer regression test that reflected a lifetime bug
2609 in the document.write optimization. The test failure was trivial to
2610 reproduce in COLLECT_ON_EVERY_ALLOCATION mode.
2612 * bindings/js/JSHTMLDocumentCustom.cpp:
2613 (WebCore::documentWrite): Convert strings to String rather than passing
2614 the pointer and length to SegmentedString. The optimization is thus
2615 mostly gone. However, there are two ways to bring it back: 1) Apply
2616 the patch that makes UString and String share the same buffers.
2617 2) Add a UString feature to SegmentedString; simple to do but might
2618 risk slowing down normal document parsing.
2620 2009-02-13 Adam Treat <adam.treat@torchmobile.com>
2622 Caught by Darin Adler.
2624 No reason to check m_tokenizer twice for 0 in a row.
2627 (WebCore::Document::write):
2629 2009-02-13 Lyon Chen <lyon.chen@torchmobile.com>
2631 Reviewed by Dave Hyatt.
2633 Take into account y() + height() when calculating getLowerRightCorner.
2635 * dom/ContainerNode.cpp:
2636 (WebCore::ContainerNode::getLowerRightCorner):
2638 2009-02-13 Antti Koivisto <antti@apple.com>
2640 Reviewed by Dave Hyatt.
2642 Most of this code was in RenderBox, restore the copyright lines.
2644 * rendering/RenderBoxModelObject.cpp:
2645 * rendering/RenderBoxModelObject.h:
2647 2009-02-13 David Hyatt <hyatt@apple.com>
2649 Get rid of printBoxDecorations, since it is dead code.
2651 Reviewed by Dan Bernstein
2653 * rendering/RenderObject.h:
2655 2009-02-13 Adam Treat <adam.treat@torchmobile.com>
2657 Reviewed by Darin Adler.
2659 https://bugs.webkit.org/show_bug.cgi?id=23952
2660 Add Document::write overload which takes a SegmentedString since this
2661 is what the tokenizer expects anyway. Modified JSHTMLDocument so it once
2662 again calls Document::write instead of injecting the string directly into
2663 the tokenizer. This ensures that all document.write's are funneled through
2664 one method again, but should still be just as fast for JSHTMLDocumentCustom.
2666 * bindings/js/JSHTMLDocumentCustom.cpp:
2667 (WebCore::documentWrite):
2669 (WebCore::Document::write):
2672 2009-02-13 David Hyatt <hyatt@apple.com>
2674 Reviewed by Simon Fraser
2676 Remove updateWidgetPosition on RenderObject. Change RenderView's set of widgets
2677 to have a tighter type: RenderWidget instead of RenderObject. Devirtualize
2678 updateWidgetPosition, since all RenderWidgets (except for applets) are now
2681 * rendering/RenderObject.cpp:
2682 * rendering/RenderObject.h:
2683 * rendering/RenderPart.cpp:
2684 * rendering/RenderPart.h:
2685 * rendering/RenderView.cpp:
2686 (WebCore::RenderView::updateWidgetPositions):
2687 (WebCore::RenderView::addWidget):
2688 (WebCore::RenderView::removeWidget):
2689 * rendering/RenderView.h:
2690 * rendering/RenderWidget.cpp:
2691 (WebCore::RenderWidget::updateWidgetPosition):
2692 * rendering/RenderWidget.h:
2694 2009-02-13 David Hyatt <hyatt@apple.com>
2696 Reviewed by Eric Seidel
2698 Remove isEditable() on RenderObject. It is dead code.
2700 * rendering/RenderObject.cpp:
2701 * rendering/RenderObject.h:
2703 2009-02-13 David Hyatt <hyatt@apple.com>
2705 Reviewed by Eric Seidel
2707 Add isTextControl() to RenderObject. Patch call sites thats asked isTextField() || isTextArea() to just use
2708 isTextControl() instead.
2710 Add a toRenderTextControl converter for doing checked casting to RenderTextControls.
2713 (WebCore::Document::setFocusedNode):
2714 * dom/InputElement.cpp:
2715 (WebCore::InputElement::updateSelectionRange):
2716 * editing/ReplaceSelectionCommand.cpp:
2717 (WebCore::ReplacementFragment::ReplacementFragment):
2718 * editing/TextIterator.cpp:
2719 (WebCore::TextIterator::handleReplacedElement):
2720 * html/HTMLInputElement.cpp:
2721 (WebCore::HTMLInputElement::selectionStart):
2722 (WebCore::HTMLInputElement::selectionEnd):
2723 (WebCore::HTMLInputElement::setSelectionStart):
2724 (WebCore::HTMLInputElement::setSelectionEnd):
2725 (WebCore::HTMLInputElement::select):
2726 (WebCore::HTMLInputElement::defaultEventHandler):
2727 (WebCore::HTMLInputElement::selection):
2728 * html/HTMLTextAreaElement.cpp:
2729 (WebCore::HTMLTextAreaElement::selectionStart):
2730 (WebCore::HTMLTextAreaElement::selectionEnd):
2731 (WebCore::HTMLTextAreaElement::setSelectionStart):
2732 (WebCore::HTMLTextAreaElement::setSelectionEnd):
2733 (WebCore::HTMLTextAreaElement::select):
2734 (WebCore::HTMLTextAreaElement::setSelectionRange):
2735 (WebCore::HTMLTextAreaElement::appendFormData):
2736 (WebCore::HTMLTextAreaElement::updateValue):
2737 (WebCore::HTMLTextAreaElement::selection):
2738 * page/AccessibilityRenderObject.cpp:
2739 (WebCore::AccessibilityRenderObject::isNativeTextControl):
2740 (WebCore::AccessibilityRenderObject::text):
2741 (WebCore::AccessibilityRenderObject::selectedText):
2742 (WebCore::AccessibilityRenderObject::selectedTextRange):
2743 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
2744 (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
2745 (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
2746 (WebCore::AccessibilityRenderObject::observableObject):
2748 (WebCore::Frame::notifyRendererOfSelectionChange):
2749 * rendering/RenderObject.h:
2750 (WebCore::RenderObject::isTextControl):
2751 (WebCore::objectIsRelayoutBoundary):
2752 * rendering/RenderTextControl.h:
2753 (WebCore::RenderTextControl::isTextControl):
2754 (WebCore::toRenderTextControl):
2755 * rendering/TextControlInnerElements.cpp:
2756 (WebCore::TextControlInnerTextElement::defaultEventHandler):
2757 * wml/WMLInputElement.cpp:
2758 (WebCore::WMLInputElement::select):
2759 (WebCore::WMLInputElement::defaultEventHandler):
2760 (WebCore::WMLInputElement::isConformedToInputMask):
2762 2009-02-13 David Hyatt <hyatt@apple.com>
2764 Get rid of isEdited/setEdited on RenderObject. Devirtualize isEdited/setEdited on RenderTextControl.
2765 Callers were already asking if the renderer was a text field (or a text area), so it was especially
2766 pointless to waste a second virtual function call after making one just to determine the object type.
2768 Reviewed by Simon Fraser
2771 (WebCore::Document::setFocusedNode):
2772 * html/HTMLInputElement.cpp:
2773 (WebCore::HTMLInputElement::defaultEventHandler):
2774 * rendering/RenderObject.h:
2775 * rendering/RenderTextControl.h:
2776 (WebCore::RenderTextControl::isEdited):
2777 (WebCore::RenderTextControl::setEdited):
2779 2009-02-13 Scott Violet <sky@google.com>
2781 Reviewed by Eric Seidel.
2783 https://bugs.webkit.org/show_bug.cgi?id=23934
2784 Skia platform doesn't render text decoration shadows.
2786 Makes Skia render text decoration shadows correctly. We weren't
2787 preparing the SkPaint correctly and didn't have a couple of checks
2788 CG has. Additionally makes the fillColor/strokeColor methods
2791 This behavior is covered by existing layout tests (see bug for list).
2793 * platform/graphics/chromium/FontChromiumWin.cpp:
2794 (WebCore::Font::drawGlyphs):
2795 (WebCore::Font::drawComplexText):
2796 * platform/graphics/skia/GraphicsContextSkia.cpp:
2797 (WebCore::GraphicsContext::drawLineForText):
2798 * platform/graphics/skia/PlatformContextSkia.cpp:
2799 (PlatformContextSkia::effectiveFillColor):
2800 (PlatformContextSkia::effectiveStrokeColor):
2801 * platform/graphics/skia/PlatformContextSkia.h:
2803 2009-02-12 Darin Fisher <darin@chromium.org>
2805 Reviewed by Eric Seidel.
2807 https://bugs.webkit.org/show_bug.cgi?id=23944
2808 KURLGoogle's pre-parsed canonicalSpec constructor should take a CString
2811 * platform/KURLGoogle.cpp:
2812 (WebCore::KURLGooglePrivate::setUtf8):
2813 (WebCore::KURLGooglePrivate::setAscii):
2814 (WebCore::KURLGooglePrivate::init):
2815 (WebCore::KURLGooglePrivate::replaceComponents):
2816 (WebCore::KURL::KURL):
2817 * platform/KURLGooglePrivate.h:
2819 2009-02-13 David Hyatt <hyatt@apple.com>
2821 Remove leftmost/rightmost/lowestPosition from RenderObject. They only need to be called on boxes.
2823 Reviewed by Dan Bernstein
2825 * rendering/RenderBlock.cpp:
2826 (WebCore::RenderBlock::lowestPosition):
2827 (WebCore::RenderBlock::rightmostPosition):
2828 (WebCore::RenderBlock::leftmostPosition):
2829 * rendering/RenderLayer.cpp:
2830 (WebCore::RenderLayer::computeScrollDimensions):
2831 * rendering/RenderMedia.cpp:
2832 (WebCore::RenderMedia::lowestPosition):
2833 (WebCore::RenderMedia::rightmostPosition):
2834 (WebCore::RenderMedia::leftmostPosition):
2835 * rendering/RenderObject.h:
2836 * rendering/RenderTableSection.cpp:
2837 (WebCore::RenderTableSection::lowestPosition):
2838 (WebCore::RenderTableSection::rightmostPosition):
2839 (WebCore::RenderTableSection::leftmostPosition):
2841 2009-02-12 Simon Fraser <simon.fraser@apple.com>
2843 Fix build with ACCELERATED_COMPOSITING turned on.
2845 toRenderBox()->x() asserts for a layer on an inline; use
2846 m_owningLayer->renderBoxX() instead.
2848 * rendering/RenderLayerBacking.cpp:
2849 (WebCore::RenderLayerBacking::paintIntoLayer):
2851 2009-02-12 Darin Adler <darin@apple.com>
2853 Reviewed by Oliver Hunt.
2855 Speed up document.write a bit.
2857 * bindings/js/JSHTMLDocumentCustom.cpp:
2858 (WebCore::documentWrite): Added. Uses SegmentedString to avoid conversion from
2859 UString to String and to avoid appending strings. Also added code to handle
2860 newlines efficiently.
2861 (WebCore::JSHTMLDocument::write): Changed to use documentWrite.
2862 (WebCore::JSHTMLDocument::writeln): Ditto.
2865 (WebCore::Document::prepareToWrite): Added. Refactored the initialization part
2866 of write into a separate function for use in the JavaScript binding.
2867 (WebCore::Document::write): Changed to call prepareToWrite.
2869 * dom/Document.h: Added declaration for prepareToWrite.
2871 2009-02-13 Prasanth Ullattil <pullatti@trolltech.com>
2873 Reviewed by Simon Hausmann.
2875 Fixes crash in the Qt port on Windows with comboboxes
2877 The focusWidget in the input context is not reset properly.
2878 The QApplication::setFocusWidget() wont reset the IC if the reason is
2879 PopupFocusReason, this is not ideal. For the time being we are going
2880 to do this from webkit itself.
2882 * platform/qt/QWebPopup.cpp:
2883 (WebCore::QWebPopup::hidePopup):
2885 2009-02-12 Kevin Ollivier <kevino@theolliviers.com>
2887 wx build fix, typo while tweaking last patch for commit.
2889 * platform/wx/wxcode/gtk/fontprops.cpp:
2892 2009-02-12 miggilin <mr.diggilin@gmail.com>
2894 Reviewed by Kevin Ollivier.
2896 Use Cairo/PANGO to fix text measurements and implement proper
2897 non-kerned text drawing on wxGTK.
2899 https://bugs.webkit.org/show_bug.cgi?id=17727
2901 * platform/graphics/GlyphBuffer.h:
2902 * platform/graphics/wx/FontPlatformDataWx.cpp:
2903 (WebCore::fontWeightToWxFontWeight):
2904 * platform/graphics/wx/SimpleFontDataWx.cpp:
2905 (WebCore::SimpleFontData::platformWidthForGlyph):
2906 * platform/wx/wxcode/fontprops.h:
2907 * platform/wx/wxcode/gtk/fontprops.cpp:
2908 (wxFontProperties::wxFontProperties):
2910 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
2911 (WebCore::pangoFontMap):
2912 (WebCore::createPangoFontForFont):
2913 (WebCore::createScaledFontForFont):
2914 (WebCore::pango_font_get_glyph):
2915 (WebCore::drawTextWithSpacing):
2916 * platform/wx/wxcode/non-kerned-drawing.h:
2918 2009-02-12 Chris Marrin <cmarrin@apple.com>
2920 Reviewed by Simon Fraser
2922 https://bugs.webkit.org/show_bug.cgi?id=23942
2924 Hook up 3D CSS transforms to the accelerated compositor backend.
2925 Not enabled by default.
2927 * page/animation/AnimationBase.cpp:
2928 (WebCore::blendFunc):
2929 (WebCore::ensurePropertyMap):
2930 * page/animation/CompositeAnimation.cpp:
2931 (WebCore::CompositeAnimationPrivate::updateTransitions):
2932 * page/animation/ImplicitAnimation.cpp:
2933 (WebCore::ImplicitAnimation::willNeedService):
2934 * page/animation/KeyframeAnimation.cpp:
2935 (WebCore::KeyframeAnimation::willNeedService):
2936 * platform/graphics/GraphicsLayer.cpp:
2937 (WebCore::GraphicsLayer::TransformValueList::makeFunctionList):
2938 (WebCore::GraphicsLayer::dumpProperties):
2939 * platform/graphics/mac/GraphicsLayerCA.mm:
2940 (WebCore::copyTransform):
2941 (WebCore::getValueFunctionNameForTransformOperation):
2942 (WebCore::GraphicsLayerCA::animateTransform):
2943 * rendering/RenderBox.cpp:
2944 (WebCore::RenderBox::updateBoxModelInfoFromStyle):
2945 * rendering/RenderLayer.cpp:
2946 (WebCore::RenderLayer::updateTransform):
2947 (WebCore::RenderLayer::hasTransformStyle3D):
2948 (WebCore::RenderLayer::hasPerspective):
2949 (WebCore::RenderLayer::perspectiveTransform):
2950 * rendering/RenderLayer.h:
2951 * rendering/RenderLayerBacking.cpp:
2952 (WebCore::RenderLayerBacking::updateGraphicsLayers):
2953 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2954 (WebCore::RenderLayerBacking::computeTransformOrigin):
2955 (WebCore::RenderLayerBacking::computePerspectiveOrigin):
2956 * rendering/RenderLayerBacking.h:
2957 * rendering/RenderLayerCompositor.cpp:
2958 (WebCore::RenderLayerCompositor::has3DContent):
2959 (WebCore::requiresCompositingLayerForTransform):
2960 (WebCore::RenderLayerCompositor::requiresCompositingLayer):
2961 (WebCore::RenderLayerCompositor::layerHas3DContent):
2962 * rendering/RenderLayerCompositor.h:
2964 2009-02-12 David Hyatt <hyatt@apple.com>
2966 Reviewed by Eric Seidel
2968 Get rid of containingBlockHeight(), since it had only one implementation (despite being virtual) and just returned
2969 containingBlock()->availableHeight(). The latter reads better anyway. Rename containingBlockWidth() to
2970 containingBlockWidthForContent() and move it to RenderBoxModelObject.
2972 * rendering/RenderBlock.cpp:
2973 (WebCore::RenderBlock::localCaretRect):
2974 * rendering/RenderBox.cpp:
2975 (WebCore::RenderBox::containingBlockWidthForContent):
2976 (WebCore::RenderBox::calcWidth):
2977 (WebCore::RenderBox::calcReplacedWidthUsing):
2978 * rendering/RenderBox.h:
2979 * rendering/RenderBoxModelObject.cpp:
2980 (WebCore::RenderBoxModelObject::relativePositionOffsetX):
2981 (WebCore::RenderBoxModelObject::relativePositionOffsetY):
2982 (WebCore::RenderBoxModelObject::containingBlockWidthForContent):
2983 * rendering/RenderBoxModelObject.h:
2984 * rendering/RenderInline.cpp:
2985 (WebCore::RenderInline::marginLeft):
2986 (WebCore::RenderInline::marginRight):
2987 * rendering/RenderObject.cpp:
2988 * rendering/RenderObject.h:
2989 * rendering/RenderSVGContainer.cpp:
2990 (WebCore::RenderSVGContainer::calcReplacedWidth):
2992 2009-02-12 Simon Fraser <simon.fraser@apple.com>
2994 Fix non-Mac builds by adding Matrix3DTransformOperation.* and
2995 PerspectiveTransformOperation.*. Cleaned out some cruft in
2996 the WebCore.vcproj fle.
3001 * WebCore.vcproj/WebCore.vcproj:
3003 2009-02-12 David Smith <catfish.man@gmail.com>
3005 Reviewed by Dave Hyatt.
3007 Fix https://bugs.webkit.org/show_bug.cgi?id=23935
3008 Nested :not() and non-simple selectors in :not() should be invalid
3010 * css/CSSGrammar.y: Reject nested :not()
3011 * css/CSSStyleSelector.cpp:
3012 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ASSERT() rather than checking, since the parser enforces it now
3014 2009-02-12 Kevin Ollivier <kevino@theolliviers.com>
3018 * WebCoreSources.bkl:
3020 2009-02-12 Simon Fraser <simon.fraser@apple.com>
3022 Fix build with ACCELERATED_COMPOSITING turned on.
3024 Need to cast toRenderBox() in order to call overflowClipRect().
3026 * rendering/RenderLayerBacking.cpp:
3027 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3029 2009-02-12 Oliver Hunt <oliver@apple.com>
3031 Reviewed by NOBODY (Build fix).
3037 2009-02-12 David Hyatt <hyatt@apple.com>
3039 Rename getOverflowClipRect and getClipRect to overflowClipRect and clipRect. Move them to RenderBox, since these methods
3040 only apply to boxes. Devirtualize clipRect, since it was not subclassed. Move controlClip stuff to RenderBox also.
3042 Reviewed by Simon Fraser
3044 * editing/Editor.cpp:
3045 (WebCore::Editor::insideVisibleArea):
3046 * rendering/RenderBox.cpp:
3047 (WebCore::RenderBox::overflowClipRect):
3048 (WebCore::RenderBox::clipRect):
3049 * rendering/RenderBox.h:
3050 (WebCore::RenderBox::hasControlClip):
3051 (WebCore::RenderBox::controlClipRect):
3052 * rendering/RenderForeignObject.cpp:
3053 (WebCore::RenderForeignObject::paint):
3054 * rendering/RenderLayer.cpp:
3055 (WebCore::RenderLayer::calculateClipRects):
3056 (WebCore::RenderLayer::calculateRects):
3057 * rendering/RenderLayerBacking.cpp:
3058 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3059 * rendering/RenderObject.h:
3060 (WebCore::RenderObject::hasClip):
3061 (WebCore::RenderObject::hasOverflowClip):
3062 * rendering/RenderTable.cpp:
3063 (WebCore::RenderTable::overflowClipRect):
3064 * rendering/RenderTable.h:
3066 2009-02-12 Simon Fraser <simon.fraser@apple.com>
3068 Fix build with ACCELERATED_COMPOSITING turned on (simple copy/paste error)
3070 * platform/graphics/mac/GraphicsLayerCA.mm:
3071 (WebCore::GraphicsLayerCA::setBasicAnimation):
3073 2009-02-12 Julien Chaffraix <jchaffraix@webkit.org>
3077 Release build fix when VIDEO is disabled (it should also
3078 help the builds with WORKERS or XSLT disabled).
3080 * bindings/js/JSDOMWindowBase.cpp:
3081 (jsDOMWindowBaseAudio): Added an UNUSED_PARAM for exec and slot when
3083 (jsDOMWindowBaseWorker): Ditto for WORKERS.
3084 (jsDOMWindowBaseXSLTProcessor): Ditto for XSLT.
3086 2009-02-12 Eric Carlson <eric.carlson@apple.com>
3088 Reviewed by Simon Fraser.
3090 https://bugs.webkit.org/show_bug.cgi?id=23923
3091 Implement mediaPlayerVolumeChanged so a media engine can report autonomous volume changes.
3092 Supporting this requires that we know when we are processing a media engine callback so
3093 we don't turn around and tell the media player to change the volume when it is reporting
3096 * html/HTMLMediaElement.cpp:
3097 (WebCore::HTMLMediaElement::HTMLMediaElement): initialize m_processingMediaPlayerCallback
3098 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): call begin/endProcessingMediaPlayerCallback
3099 (WebCore::HTMLMediaElement::setNetworkState): logic split out of mediaPlayerNetworkStateChanged
3100 to make it easier to maintain m_processingMediaPlayerCallback.
3101 (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): call begin/endProcessingMediaPlayerCallback
3102 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto.
3103 (WebCore::HTMLMediaElement::mediaPlayerRepaint): Ditto.
3104 (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): New
3105 (WebCore::HTMLMediaElement::updateVolume): Don't change media engine volume if we are processing
3106 a callback from the engine.
3107 * html/HTMLMediaElement.h:
3108 (WebCore::HTMLMediaElement::processingMediaPlayerCallback): New, return true if (m_processingMediaPlayerCallback>0)
3109 (WebCore::HTMLMediaElement::beginProcessingMediaPlayerCallback): New, increment m_processingMediaPlayerCallback
3110 (WebCore::HTMLMediaElement::endProcessingMediaPlayerCallback): New, decrement m_processingMediaPlayerCallback
3112 2009-02-12 Eric Carlson <eric.carlson@apple.com>
3114 Reviewed by Simon Fraser.
3116 Support MPEG content on Mac and Windows.
3117 <rdar://problem/5917509>
3118 https://bugs.webkit.org/show_bug.cgi?id=23495
3120 Test: media/audio-mpeg-supported.html
3122 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3123 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
3125 * platform/graphics/win/QTMovieWin.cpp:
3126 (QTMovieWin::disableUnsupportedTracks):
3128 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: fix typo added in r40925
3130 2009-02-12 David Hyatt <hyatt@apple.com>
3132 Reviewed by Sam Weinig
3134 Move containsFloats, hasOverhangingFloats, shrinkToAvoidFloats and avoidsFloats down to
3135 RenderBox, since these methods only apply to boxes.
3137 * rendering/RenderBlock.cpp:
3138 (WebCore::RenderBlock::collapseMargins):
3139 (WebCore::RenderBlock::clearFloatsIfNeeded):
3140 (WebCore::RenderBlock::layoutBlockChildren):
3141 (WebCore::RenderBlock::clearFloats):
3142 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
3143 (WebCore::RenderBlock::calcBlockPrefWidths):
3144 * rendering/RenderBlock.h:
3145 (WebCore::RenderBlock::containsFloats):
3146 (WebCore::RenderBlock::hasOverhangingFloats):
3147 * rendering/RenderBox.cpp:
3148 (WebCore::RenderBox::shrinkToAvoidFloats):
3149 (WebCore::RenderBox::avoidsFloats):
3150 * rendering/RenderBox.h:
3151 * rendering/RenderObject.cpp:
3152 * rendering/RenderObject.h:
3153 (WebCore::RenderObject::isFloatingOrPositioned):
3154 * rendering/RenderView.h:
3156 2009-02-12 Chris Marrin <cmarrin@apple.com>
3158 Reviewed by Dave Hyatt
3160 https://bugs.webkit.org/show_bug.cgi?id=23908
3162 Added parsing of 3d transform functions and properties
3163 (perspective, perspective-origin, transform-style-3d,
3164 and backface-visibility).
3166 Test: transforms/3d/cssmatrix-3d-interface.xhtml
3168 * css/CSSComputedStyleDeclaration.cpp:
3170 (WebCore::computedTransform):
3171 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3172 * css/CSSMutableStyleDeclaration.cpp:
3173 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
3174 * css/CSSParser.cpp:
3175 (WebCore::CSSParser::parseValue):
3176 (WebCore::CSSParser::parseFillProperty):
3177 (WebCore::CSSParser::parseTransformOriginShorthand):
3178 (WebCore::TransformOperationInfo::TransformOperationInfo):
3179 (WebCore::CSSParser::parseTransform):
3180 (WebCore::CSSParser::parseTransformOrigin):
3181 (WebCore::CSSParser::parsePerspectiveOrigin):
3183 * css/CSSPrimitiveValue.h:
3184 (WebCore::CSSPrimitiveValue::isUnitTypeLength):
3185 * css/CSSPropertyNames.in:
3186 * css/CSSStyleSelector.cpp:
3187 (WebCore::CSSStyleSelector::adjustRenderStyle):
3188 (WebCore::convertToLength):
3189 (WebCore::CSSStyleSelector::applyProperty):
3190 (WebCore::CSSStyleSelector::mapFillSize):
3191 (WebCore::CSSStyleSelector::mapFillXPosition):
3192 (WebCore::CSSStyleSelector::mapFillYPosition):
3193 (WebCore::getTransformOperationType):
3194 (WebCore::CSSStyleSelector::createTransformOperations):
3195 * css/CSSValueKeywords.in:
3196 * css/WebKitCSSTransformValue.cpp:
3197 (WebCore::WebKitCSSTransformValue::cssText):
3198 * css/WebKitCSSTransformValue.h:
3199 (WebCore::WebKitCSSTransformValue::):
3200 * css/WebKitCSSTransformValue.idl:
3201 * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
3202 * platform/graphics/transforms/Matrix3DTransformOperation.h:
3203 * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
3204 * platform/graphics/transforms/PerspectiveTransformOperation.h:
3205 * platform/graphics/transforms/RotateTransformOperation.cpp:
3206 (WebCore::RotateTransformOperation::blend):
3207 * platform/graphics/transforms/RotateTransformOperation.h:
3208 (WebCore::RotateTransformOperation::RotateTransformOperation):
3209 * platform/graphics/transforms/ScaleTransformOperation.h:
3210 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
3211 * platform/graphics/transforms/TransformOperation.h:
3212 (WebCore::TransformOperation::is3DOperation):
3213 * platform/graphics/transforms/TransformOperations.h:
3214 (WebCore::TransformOperations::has3DOperation):
3215 * platform/graphics/transforms/TranslateTransformOperation.h:
3216 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
3218 2009-02-12 Kevin Ollivier <kevino@theolliviers.com>
3224 2009-02-12 Brady Eidson <beidson@apple.com>
3226 Reviewed by Darin Adler
3228 Fix potential ref-count or null-deref problems with C++ objects as Obj-C members.
3230 * platform/mac/SharedBufferMac.mm: Change to use RefPtr<> instead of ref()/deref().
3231 (-[WebCoreSharedBufferData dealloc]):
3232 (-[WebCoreSharedBufferData finalize]):
3233 (-[WebCoreSharedBufferData initWithSharedBuffer:]):
3235 2009-02-12 David Hyatt <hyatt@apple.com>
3237 Remove calcWidth from RenderObject. Nobody ever called it on RenderObjects.
3239 Reviewed by Sam Weinig
3241 * rendering/RenderObject.h:
3243 2009-02-12 David Hyatt <hyatt@apple.com>
3245 Reviewed by Mark Rowe
3247 Fix for regression where form controls would paint yellow highlights. The containsComposition check needs to
3248 null check node() now.
3250 * rendering/InlineTextBox.cpp:
3251 (WebCore::InlineTextBox::paint):
3253 2009-02-12 Simon Fraser <simon.fraser@apple.com>
3257 Change Animation::setDirection() to take the new enum value, and fix
3260 Fix build error in MediaPlayerPrivateQTKit.h.
3262 * css/CSSStyleSelector.cpp:
3263 (WebCore::CSSStyleSelector::mapAnimationDirection):
3264 * platform/animation/Animation.h:
3265 (WebCore::Animation::setDirection):
3266 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3268 2009-02-12 David Hyatt <hyatt@apple.com>
3270 Reviewed by Simon Fraser
3272 Remove the overrideSize methods from RenderObject. Devirtualize all of the accessors on RenderBox.
3274 * rendering/RenderBox.h:
3275 * rendering/RenderObject.h:
3277 2009-02-12 Eric Carlson <eric.carlson@apple.com>
3279 Darin Adler, Antti Koivisto, Holger Hans Peter Freyther
3281 Bug 23797: A platform should be able to use more than one media engine for <video> and <audio>
3282 https://bugs.webkit.org/show_bug.cgi?id=23797
3284 * WebCore.xcodeproj/project.pbxproj: add MediaPlayerPrivate.h
3286 * html/HTMLMediaElement.cpp:
3287 (WebCore::HTMLMediaElement::load): selectMediaURL now also returns a MIME type, pass it to
3288 MediaPlayer::load so it can choose the right media engine
3289 (WebCore::HTMLMediaElement::selectMediaURL): renamed from pickMedia. use MIMETypeRegistry
3290 functions to strip params from the url and extract the codecs parameter. call
3291 MediaPlayer::supportsType to see if we can open the file since only a media engine can
3292 answer questions about supported type+codecs.
3293 * html/HTMLMediaElement.h:
3295 * platform/MIMETypeRegistry.cpp:
3296 (WebCore::MIMETypeRegistry::getParameterFromMIMEType): New, find and return a MIME type parameter
3297 (WebCore::MIMETypeRegistry::stripParametersFromMIMEType): New, strip all parameters from a MIME type
3298 * platform/MIMETypeRegistry.h:
3300 * platform/graphics/MediaPlayer.cpp:
3301 (WebCore::NullMediaPlayerPrivate::NullMediaPlayerPrivate):
3302 (WebCore::NullMediaPlayerPrivate::load):
3303 (WebCore::NullMediaPlayerPrivate::cancelLoad):
3304 (WebCore::NullMediaPlayerPrivate::play):
3305 (WebCore::NullMediaPlayerPrivate::pause):
3306 (WebCore::NullMediaPlayerPrivate::naturalSize):
3307 (WebCore::NullMediaPlayerPrivate::hasVideo):
3308 (WebCore::NullMediaPlayerPrivate::setVisible):
3309 (WebCore::NullMediaPlayerPrivate::duration):
3310 (WebCore::NullMediaPlayerPrivate::currentTime):
3311 (WebCore::NullMediaPlayerPrivate::seek):
3312 (WebCore::NullMediaPlayerPrivate::seeking):
3313 (WebCore::NullMediaPlayerPrivate::setEndTime):
3314 (WebCore::NullMediaPlayerPrivate::setRate):
3315 (WebCore::NullMediaPlayerPrivate::paused):
3316 (WebCore::NullMediaPlayerPrivate::setVolume):
3317 (WebCore::NullMediaPlayerPrivate::networkState):
3318 (WebCore::NullMediaPlayerPrivate::readyState):
3319 (WebCore::NullMediaPlayerPrivate::maxTimeSeekable):
3320 (WebCore::NullMediaPlayerPrivate::maxTimeBuffered):
3321 (WebCore::NullMediaPlayerPrivate::dataRate):
3322 (WebCore::NullMediaPlayerPrivate::totalBytesKnown):
3323 (WebCore::NullMediaPlayerPrivate::totalBytes):
3324 (WebCore::NullMediaPlayerPrivate::bytesLoaded):
3325 (WebCore::NullMediaPlayerPrivate::setRect):
3326 (WebCore::NullMediaPlayerPrivate::paint):
3327 (WebCore::createNullMediaPlayer):
3328 Do nothing media player so MediaPlayer doesn't have to NULL check before calling current engine.
3330 (WebCore::MediaPlayerFactory::MediaPlayerFactory): New, factory constructor.
3331 (WebCore::installedMediaEngines): New, returns vector of all installed engines.
3332 (WebCore::addMediaEngine): New, add a media engine to the cache.
3333 (WebCore::chooseBestEngineForTypeAndCodecs): New, return an engine that might support a MIME type.
3334 (WebCore::MediaPlayer::MediaPlayer): create NULL media player so we have a default. Initialize m_currentMediaEngine.
3335 (WebCore::MediaPlayer::~MediaPlayer): don't need to delete m_private, it is now an OwnPtr.
3336 (WebCore::MediaPlayer::load): Take MIME type as well as url, since we need it to find the right
3337 media engine. If no MIME type is provided, try to devine one from the url. Choose a media engine
3338 based on the MIME type and codecs parameter.
3339 (WebCore::MediaPlayer::currentTime): Remove excess white space.
3340 (WebCore::MediaPlayer::supportsType): Take codecs param as well as MIME type. Return enum so we can
3341 indicate "maybe" condition.
3342 (WebCore::MediaPlayer::getSupportedTypes): Build up list of MIME types by consulting all engines.
3343 (WebCore::MediaPlayer::isAvailable): return true if any media engine is installed.
3345 * platform/graphics/MediaPlayer.h:
3346 (WebCore::MediaPlayer::):
3347 (WebCore::MediaPlayer::frameView): accessor function.
3349 * platform/graphics/MediaPlayerPrivate.h: New, declares abstract interface for media engines.
3350 (WebCore::MediaPlayerPrivateInterface::~MediaPlayerPrivateInterface):
3351 (WebCore::MediaPlayerPrivateInterface::totalBytesKnown):
3353 * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Add support for engine factory
3355 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3356 (WebCore::MediaPlayerPrivate::create): New, media engine factory function
3357 (WebCore::MediaPlayerPrivate::registerMediaEngine): Register engine with MediaPlayer factory
3358 (WebCore::MediaPlayerPrivate::load): URL is a const String.
3359 (WebCore::MediaPlayerPrivate::duration): Declare const.
3360 (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
3361 (WebCore::MediaPlayerPrivate::hasVideo): Ditto.
3362 (WebCore::MediaPlayerPrivate::networkState): Ditto.
3363 (WebCore::MediaPlayerPrivate::readyState): Ditto.
3364 (WebCore::MediaPlayerPrivate::maxTimeBuffered): Ditto.
3365 (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto.
3366 (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
3367 (WebCore::MediaPlayerPrivate::bytesLoaded): Ditto.
3368 (WebCore::MediaPlayerPrivate::totalBytesKnown): Ditto.
3369 (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
3370 (WebCore::MediaPlayerPrivate::supportsType): Return MediaPlayer::SupportsType enum instead of bool.
3371 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
3372 (WebCore::MediaPlayerPrivate::isAvailable):
3374 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3375 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3376 (WebCore::MediaPlayerPrivateQTKit::create): New, media engine factory function
3377 (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Register engine with MediaPlayer factory
3378 (WebCore::MediaPlayerPrivate::createQTMovieView): don't access MediaPlayer->m_frameView directly,
3379 use accessor function.
3380 (WebCore::MediaPlayerPrivate::setUpVideoRendering): Ditto.
3381 (WebCore::MediaPlayerPrivate::paint): Ditto.
3382 (WebCore::mimeTypeCache): New.
3383 (WebCore::MediaPlayerPrivate::getSupportedTypes): New, media engine factory function.
3384 (WebCore::MediaPlayerPrivate::supportsType): return MediaPlayer::SupportsType enum instead of bool
3385 (-[WebCoreMovieObserver initWithCallback:]): fix formatting
3387 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3388 (WebCore::MediaPlayerPrivate::create):
3389 (WebCore::MediaPlayerPrivate::registerMediaEngine):
3390 (WebCore::MediaPlayerPrivate::supportsType):
3391 (WebCore::MediaPlayerPrivate::load): URL is a const String.
3392 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
3393 (WebCore::MediaPlayerPrivate::isAvailable):
3395 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3396 (WebCore::MediaPlayerPrivate::create): New, media engine factory function
3397 (WebCore::MediaPlayerPrivate::registerMediaEngine): New, register engine with MediaPlayer factory
3398 (WebCore::MediaPlayerPrivate::load): URL is a const String.
3399 (WebCore::MediaPlayerPrivate::paint): don't access MediaPlayer->m_frameView directly,
3400 use accessor function.
3401 (WebCore::mimeTypeCache): New.
3402 (WebCore::MediaPlayerPrivateQTWin::getSupportedTypes): New, media engine factory function.
3403 (WebCore::MediaPlayerPrivateQTWin::supportsType): return MediaPlayer::SupportsType enum instead of bool
3404 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
3406 2009-02-12 Julien Chaffraix <jchaffraix@webkit.org>
3408 Reviewed by Darin Adler.
3410 Test: fast/dom/prefixed-image-tag.xhtml
3412 Bug 23915: Remove setPrefix work-around in Document::createElement(QualifiedName, bool)
3414 Instead we now directly propage the QualifiedName inside the generated Factory.
3416 Test: fast/dom/prefixed-image-tag.xhtml
3419 (WebCore::Document::createElement): Removed the setPrefix work-around
3420 and replaced it with an ASSERT to catch mistakes inside the Factory code.
3421 Remove the unneeded ExceptionCode argument.
3423 (WebCore::Document::createElementNS): Removed ExceptionCode argument.
3424 * dom/Document.h: Updated the signature.
3425 * dom/XMLTokenizerLibxml2.cpp:
3426 (WebCore::XMLTokenizer::startElementNs): Removed ExceptionCode argument.
3427 * dom/XMLTokenizerQt.cpp: Ditto.
3428 (WebCore::XMLTokenizer::parseStartElement): Ditto.
3430 * dom/make_names.pl: Implemented the QualifiedName propogation logic
3433 2009-02-12 Simon Fraser <simon.fraser@apple.com>
3435 Reviewed by Dave Hyatt
3437 https://bugs.webkit.org/show_bug.cgi?id=23188
3439 Define enum values for Animation::direction(), and one for
3440 IterationCountInfinite to make the code more self-documenting.
3442 Order the member vars of Animation to optimize packing.
3444 * css/CSSComputedStyleDeclaration.cpp:
3445 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3446 * platform/animation/Animation.cpp:
3447 (WebCore::Animation::Animation):
3448 (WebCore::Animation::operator=):
3449 (WebCore::Animation::animationsMatch):
3450 * platform/animation/Animation.h:
3451 (WebCore::Animation::):
3452 (WebCore::Animation::direction):
3453 (WebCore::Animation::initialAnimationDirection):
3454 * platform/graphics/mac/GraphicsLayerCA.mm:
3455 (WebCore::GraphicsLayerCA::setBasicAnimation):
3456 (WebCore::GraphicsLayerCA::setKeyframeAnimation):
3458 2009-02-12 Christian Dywan <christian@twotoasts.de>
3460 Reviewed by Holger Freyther.
3462 * platform/network/soup/ResourceHandleSoup.cpp:
3463 (WebCore::ResourceHandle::startHttp): Don't use O_CLOEXEC for now.
3465 2009-02-12 Julien Chaffraix <jchaffraix@webkit.org>
3467 Reviewed by Darin Adler.
3469 Bug 23826: Potential bug with before/after rule while moving element from one document to another
3471 Moved the document before/after toggle from the constructor to insertedIntoDocument.
3473 Test: fast/css-generated-content/beforeAfter-interdocument.html
3475 * html/HTMLQuoteElement.cpp:
3476 (WebCore::HTMLQuoteElement::HTMLQuoteElement):
3477 (WebCore::HTMLQuoteElement::insertedIntoDocument):
3478 * html/HTMLQuoteElement.h:
3480 2009-02-12 David Hyatt <hyatt@apple.com>
3482 Reviewed by Simon Fraser
3484 Fix for https://bugs.webkit.org/show_bug.cgi?id=23912
3486 I have no idea why this broke. As far as I can tell the old code never should have worked in
3487 the first place. Add code to handleWheelEvent that will find an enclosing renderer for a node
3488 in order to attempt a wheel scroll.
3490 * page/EventHandler.cpp:
3491 (WebCore::EventHandler::handleWheelEvent):
3493 2009-02-12 David Hyatt <hyatt@apple.com>
3495 Move the functions that paint borders, box shadows and border images into RenderBoxModelObject. drawBorder and drawBorderArc, because they are used
3496 for outlines as well as borders, need to stay in RenderObject. Rename them to drawLineForBoxSide and drawArcForBoxSide in order to reflect their
3497 more generic use. Rename the BorderSide struct to BoxSide, since the concept of "side" is just a rectangle concept and not a border concept.
3499 Reviewed by Simon Fraser
3501 * rendering/InlineFlowBox.cpp:
3502 (WebCore::InlineFlowBox::paintFillLayer):
3503 (WebCore::InlineFlowBox::paintBoxShadow):
3504 (WebCore::InlineFlowBox::paintBoxDecorations):
3505 (WebCore::InlineFlowBox::paintMask):
3506 * rendering/RenderBlock.cpp:
3507 (WebCore::RenderBlock::paintColumns):
3508 * rendering/RenderBoxModelObject.cpp:
3509 (WebCore::RenderBoxModelObject::paintNinePieceImage):
3510 (WebCore::RenderBoxModelObject::paintBorder):
3511 (WebCore::RenderBoxModelObject::paintBoxShadow):
3512 * rendering/RenderBoxModelObject.h:
3513 * rendering/RenderFieldset.cpp:
3514 (WebCore::RenderFieldset::paintBorderMinusLegend):
3515 * rendering/RenderInline.cpp:
3516 (WebCore::RenderInline::paintOutlineForLine):
3517 * rendering/RenderObject.cpp:
3518 (WebCore::RenderObject::drawLineForBoxSide):
3519 (WebCore::RenderObject::drawArcForBoxSide):
3520 (WebCore::RenderObject::paintOutline):
3521 * rendering/RenderObject.h:
3523 (WebCore::RenderObject::hasBoxDecorations):
3524 * rendering/RenderTableCell.cpp:
3525 (WebCore::CollapsedBorders::addBorder):
3526 (WebCore::RenderTableCell::paintCollapsedBorder):
3528 2009-02-12 Eric Carlson <eric.carlson@apple.com>
3530 Reviewed by Simon Fraser
3532 Bug 18322: video element should have ui when scripting is disabled
3533 https://bugs.webkit.org/show_bug.cgi?id=18322
3535 * html/HTMLMediaElement.cpp:
3536 (WebCore::HTMLMediaElement::controls): always return 'true' when JavaScript is disabled.
3537 * manual-tests/media-controls-when-javascript-disabled.html: Added.
3539 2009-02-12 Dimitri Glazkov <dglazkov@chromium.org>
3541 Reviewed by Eric Seidel.
3543 https://bugs.webkit.org/show_bug.cgi?id=23906
3544 Add custom V8 bindings for HTMLPlugInElement.
3546 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: Added.
3547 (WebCore::NAMED_PROPERTY_GETTER):
3548 (WebCore::NAMED_PROPERTY_SETTER):
3549 (WebCore::CALLBACK_FUNC_DECL):
3550 (WebCore::INDEXED_PROPERTY_GETTER):
3551 (WebCore::INDEXED_PROPERTY_SETTER):
3553 2009-02-12 Gustavo Noronha Silva <gns@gnome.org>
3555 Reviewed by Mark Rowe.
3557 [GTK] Soup backend must handle upload of multiple files
3558 https://bugs.webkit.org/show_bug.cgi?id=18343
3560 * platform/network/soup/ResourceHandleSoup.cpp:
3562 (WebCore::freeFileMapping):
3563 (WebCore::ResourceHandle::startHttp): Support multipart request bodies
3564 mmap'ing files to be uploaded.
3566 2009-02-12 Adam Treat <adam.treat@torchmobile.com>
3568 Fix the Qt build following r40871 which changed RenderObject::element()
3569 into RenderObject::node().
3571 * platform/qt/RenderThemeQt.cpp:
3572 (WebCore::RenderThemeQt::getMediaElementFromRenderObject):
3573 (WebCore::RenderThemeQt::getMediaControlForegroundColor):
3575 2009-02-12 Alexey Proskuryakov <ap@webkit.org>
3579 * platform/graphics/transforms/RotateTransformOperation.cpp: Include <algorithm>.
3581 2009-02-12 Jian Li <jianli@chromium.org>
3583 Reviewed by Alexey Proskuryakov.
3585 Change worker code to use different proxy class pointers.
3586 https://bugs.webkit.org/show_bug.cgi?id=23859
3588 This is a step towards using separate proxies in multi-process implementation.
3590 * bindings/js/WorkerScriptController.cpp:
3591 (WebCore::WorkerScriptController::evaluate):
3593 (WebCore::Worker::Worker):
3594 (WebCore::Worker::~Worker):
3595 (WebCore::Worker::postMessage):
3596 (WebCore::Worker::terminate):
3597 (WebCore::Worker::hasPendingActivity):
3598 (WebCore::Worker::notifyFinished):
3599 (WebCore::Worker::dispatchMessage):
3601 * dom/WorkerContext.cpp:
3602 (WebCore::WorkerContext::~WorkerContext):
3603 (WebCore::WorkerContext::reportException):
3604 (WebCore::WorkerContext::addMessage):
3605 (WebCore::WorkerContext::postMessage):
3606 (WebCore::WorkerContext::dispatchMessage):
3607 * dom/WorkerContext.h:
3608 * dom/WorkerContextProxy.h:
3609 * dom/WorkerMessagingProxy.cpp:
3610 (WebCore::MessageWorkerContextTask::performTask):
3611 (WebCore::MessageWorkerTask::performTask):
3612 (WebCore::WorkerContextProxy::create):
3613 (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
3614 (WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):
3615 (WebCore::WorkerMessagingProxy::startWorkerContext):
3616 (WebCore::postConsoleMessageTask):