1 2009-02-26 David Hyatt <hyatt@apple.com>
5 Fix text-bottom vertical alignment. It was incorrectly aligning the bottom of the descent instead of including
6 the line-height below the descent.
8 Added fast/inline/vertical-align-text-bottom.html
10 * rendering/RenderBoxModelObject.cpp:
11 (WebCore::RenderBoxModelObject::verticalPosition):
13 2009-02-26 Dirk Schulze <krit@webkit.org>
15 Reviewed by Eric Seidel.
17 Make SVG Masking platform independet with the use of ImageBuffer::getImageData(),
18 ImageBuffer::putImageData() and GraphicsContext::clipToImageBuffer(). Every platform has
19 just to implement this three methods to support SVG Masking now.
21 Make SVG Masking platform aware
22 https://bugs.webkit.org/show_bug.cgi?id=19243
26 * WebCore.vcproj/WebCore.vcproj:
27 * WebCore.xcodeproj/project.pbxproj:
28 * svg/graphics/SVGResourceMasker.cpp:
29 (WebCore::SVGResourceMasker::applyMask):
30 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp: Removed.
31 * svg/graphics/cg/SVGResourceMaskerCg.cpp: Removed.
32 * svg/graphics/cg/SVGResourceMaskerCg.mm: Removed.
33 * svg/graphics/qt/SVGResourceMaskerQt.cpp: Removed.
34 * svg/graphics/skia/SVGResourceMaskerSkia.cpp: Removed.
36 2009-02-26 Yong Li <yong.li@torchmobile.com>
38 Reviewed by Darin Adler, Antti Koivisto and Alexey Proskuryakov.
40 Test: http/tests/misc/slow-preload-cancel.html
42 https://bugs.webkit.org/show_bug.cgi?id=24133
43 Clear all pending preloads in the DocLoader object when we decide to
44 cancel its all requests.
46 * loader/DocLoader.cpp:
47 (WebCore::DocLoader::clearPendingPreloads):
50 (WebCore::Loader::cancelRequests):
52 2009-02-26 Dimitri Glazkov <dglazkov@chromium.org>
54 Reviewed by Eric Seidel.
56 https://bugs.webkit.org/show_bug.cgi?id=24182
57 Add NodeFilter, NodeIterator, and TreeWalker custom V8 bindings.
59 * bindings/v8/custom/V8NodeFilterCustom.cpp: Added.
60 (WebCore::CALLBACK_FUNC_DECL):
61 * bindings/v8/custom/V8NodeIteratorCustom.cpp: Added.
63 (WebCore::CALLBACK_FUNC_DECL):
64 * bindings/v8/custom/V8TreeWalkerCustom.cpp: Added.
66 (WebCore::CALLBACK_FUNC_DECL):
68 2009-02-26 Alexey Proskuryakov <ap@webkit.org>
70 Reviewed by Darin Adler.
72 https://bugs.webkit.org/show_bug.cgi?id=23500
73 KURL::parse() incorrectly compares its result to original string
75 * platform/KURL.cpp: (WebCore::KURL::parse): Take string length into account.
77 2009-02-26 Ojan Vafai <ojan@chromium.org>
79 Reviewed by Kevin McCullough.
81 Manual test for inspector node highlighting.
83 * manual-tests/inspector/highlight-nodes.html: Added.
85 2009-02-16 Anantanarayanan Iyengar <ananta@chromium.org>
87 Reviewed by Darin Fisher.
89 https://bugs.webkit.org/show_bug.cgi?id=23973
90 ScrollView::scrollContents can be invoked during view shutdown. In
91 this scenario the FrameView::hostWindow method can return NULL, which
92 indicates that the frame/page is being destroyed. This causes a crash
93 when we try to dereference a NULL hostWindow pointer. Fix is to add a
96 * platform/ScrollView.cpp:
97 (WebCore::ScrollView::scrollContents):
99 2009-02-26 Rahul Kuchhal <kuchhal@chromium.org>
101 Reviewed by Dave Hyatt.
103 https://bugs.webkit.org/show_bug.cgi?id=24003
104 Fix a crash caused by unsafe type conversion.
106 Test: fast/block/positioning/absolute-in-inline-rtl-4.html
108 * rendering/RenderBox.cpp:
109 (WebCore::RenderBox::calcAbsoluteHorizontalValues):
111 2009-02-26 Ojan Vafai <ojan@chromium.org>
113 Reviewed by Adam Roben.
115 https://bugs.webkit.org/show_bug.cgi?id=24202
116 Have drawNodeHighlight clip instead of clearing. This makes it work for
117 both Safari and Chromium since Chromium draws the inspector highlighting
118 in the same buffer as the page.
120 * inspector/InspectorController.cpp:
121 (WebCore::quadToPath):
122 (WebCore::drawOutlinedQuad):
123 (WebCore::drawOutlinedQuadWithClip):
124 (WebCore::drawHighlightForBox):
126 2009-02-26 David Hyatt <hyatt@apple.com>
128 Reviewed by Dan Bernstein & Darin Adler
130 Make sure the border/padding are properly omitted at the start of an inline that is a continuation.
132 Added fast/inline/inline-continuation-borders.html
134 * rendering/InlineFlowBox.cpp:
135 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
137 2009-02-26 Simon Fraser <simon.fraser@apple.com>
139 Build fix, no review.
141 Try to fix the wx build after r41218.
143 * WebCoreSources.bkl:
145 2009-02-26 Alexey Proskuryakov <ap@webkit.org>
147 Reviewed by Darin Adler.
149 https://bugs.webkit.org/show_bug.cgi?id=19527
150 ASSERTION FAILED: containerA && containerB
152 Test: fast/dom/Range/bug-19527.html
155 (WebCore::Range::isPointInRange):
156 (WebCore::Range::comparePoint):
157 Bring the behavior in line with current Firefox, making it impossible for these methods
158 to pass a null container to compareBoundaryPoints().
160 2009-02-26 Jonathon Jongsma <jonathon@quotidian.org>
162 Reviewed by Holger Freyther.
164 https://bugs.webkit.org/show_bug.cgi?id=20358
166 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
167 (WebCore::SimpleFontData::smallCapsFontData): the small-caps font data
168 should set the computed size rather than the specified size, otherwise
169 the caps just get rendered normal size.
171 2009-02-26 Benjamin Meyer <benjamin.meyer@torchmobile.com>
173 Reviewed by George Staikos.
175 https://bugs.webkit.org/show_bug.cgi?id=24062
176 QNetworkCookieJar expects the url and not the policy url. Sending the
177 policy url will cause QNetworkCookieJar to behave incorrectly. One
178 example would be a cookie that does not have a path or domain.
179 QNetworkCookieJar will use the url it is given to fill in default values.
180 This allows setting cookies on the url of the main frame from an iFrame
181 when the cookie should be set on the url of the iFrame.
183 Originally noticed on http://writer.zoho.com/jsp/home.jsp?serviceurl=/index.do
185 * platform/qt/CookieJarQt.cpp:
186 (WebCore::setCookies):
188 2009-02-26 Charles Wei <charles.wei@torchmobile.com.cn>
190 Reviewed by George Staikos.
192 make WebKit/Qt compile with SVG disabled
195 * platform/graphics/qt/FontPlatformDataQt.cpp:
197 2009-02-25 Gustavo Noronha Silva <gns@gnome.org>
199 Unreviewed build fix. Add WebCore/workers to the list of paths
200 searched by the bindings generator perl script.
204 2009-02-25 Sam Weinig <sam@webkit.org>
206 Reviewed by Geoffrey Garen.
208 Add canvas to the list of RenderObjects that can mark a page as
211 * rendering/RenderHTMLCanvas.cpp:
212 (WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
214 2009-02-25 Eric Carlson <eric.carlson@apple.com>
216 Reviewed by Dave Hyatt.
218 * rendering/RenderBox.cpp:
219 (WebCore::RenderBox::nodeAtPoint): Remove assertion fired when child has layer
220 as RenderMedia with controls always has a layer.
222 2009-02-25 Dan Bernstein <mitz@apple.com>
224 Reviewed by Simon Fraser.
226 - fix https://bugs.webkit.org/show_bug.cgi?id=24130
227 <rdar://problem/6618196> Paint very slow when horizontally resizing
229 Test: fast/gradients/background-clipped.html
231 * rendering/RenderBoxModelObject.cpp:
232 (WebCore::RenderBoxModelObject::paintFillLayerExtended): Intersect the
233 destination rectangle passed to drawTiledImage() with the dirty
234 rectangle. This makes it more likely for the destination rect to be
235 contained in a single tile rect, which results in a faster code path
236 being taken down the road (just drawing a single tile instead of
239 2009-02-25 Ojan Vafai <ojan@chromium.org>
241 Reviewed by Eric Seidel.
243 Fix test regressions from positionForCoordinates patch.
244 https://bugs.webkit.org/show_bug.cgi?id=24148
246 * rendering/RenderBlock.cpp:
247 (WebCore::positionForPointWithInlineChildren):
248 Remove ASSERT that placeholder text codepath is hitting.
250 2009-02-25 Chris Fleizach <cfleizach@apple.com>
252 Reviewed by Beth Dakin.
254 Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail
255 https://bugs.webkit.org/show_bug.cgi?id=24143
257 When an AX object is marked dirty, do not create AX elements while going up the parent chain.
258 Do not allow AXRenderObjects to remove their own IDs from the cache, all the cache to do that work
259 Make sure the AXObjectWrapper's have an object before calling them
260 In AXObjectCache, change get -> getOrCreate. Use get() to only retrieve an element if it exists
262 Test: platform/mac-snowleopard/accessibility/table-updating.html
265 * page/AXObjectCache.cpp:
266 (WebCore::AXObjectCache::~AXObjectCache):
267 (WebCore::AXObjectCache::get):
268 (WebCore::AXObjectCache::getOrCreate):
269 (WebCore::AXObjectCache::removeAXID):
270 (WebCore::AXObjectCache::handleActiveDescendantChanged):
271 (WebCore::AXObjectCache::handleAriaRoleChanged):
272 * page/AXObjectCache.h:
273 * page/AccessibilityImageMapLink.cpp:
274 (WebCore::AccessibilityImageMapLink::parentObject):
275 * page/AccessibilityListBox.cpp:
276 (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
277 (WebCore::AccessibilityListBox::doAccessibilityHitTest):
278 * page/AccessibilityListBoxOption.cpp:
279 (WebCore::AccessibilityListBoxOption::elementRect):
280 (WebCore::AccessibilityListBoxOption::parentObject):
281 * page/AccessibilityObject.cpp:
282 (WebCore::AccessibilityObject::detach):
283 (WebCore::AccessibilityObject::parentObjectIfExists):
284 (WebCore::replacedNodeNeedsCharacter):
285 (WebCore::AccessibilityObject::accessibilityObjectForPosition):
286 * page/AccessibilityObject.h:
287 * page/AccessibilityRenderObject.cpp:
288 (WebCore::AccessibilityRenderObject::firstChild):
289 (WebCore::AccessibilityRenderObject::lastChild):
290 (WebCore::AccessibilityRenderObject::previousSibling):
291 (WebCore::AccessibilityRenderObject::nextSibling):
292 (WebCore::AccessibilityRenderObject::parentObjectIfExists):
293 (WebCore::AccessibilityRenderObject::parentObject):
294 (WebCore::AccessibilityRenderObject::isAttachment):
295 (WebCore::AccessibilityRenderObject::headingLevel):
296 (WebCore::AccessibilityRenderObject::anchorElement):
297 (WebCore::AccessibilityRenderObject::menuForMenuButton):
298 (WebCore::AccessibilityRenderObject::menuButtonForMenu):
299 (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
300 (WebCore::AccessibilityRenderObject::internalLinkElement):
301 (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
302 (WebCore::AccessibilityRenderObject::titleUIElement):
303 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
304 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
305 (WebCore::AccessibilityRenderObject::getDocumentLinks):
306 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
307 (WebCore::AccessibilityRenderObject::focusedUIElement):
308 (WebCore::AccessibilityRenderObject::activeDescendant):
309 (WebCore::AccessibilityRenderObject::observableObject):
310 (WebCore::AccessibilityRenderObject::childrenChanged):
311 (WebCore::AccessibilityRenderObject::addChildren):
312 * page/AccessibilityRenderObject.h:
313 (WebCore::AccessibilityRenderObject::setRenderObject):
314 * page/AccessibilityTable.cpp:
315 (WebCore::AccessibilityTable::addChildren):
316 (WebCore::AccessibilityTable::headerContainer):
317 (WebCore::AccessibilityTable::cellForColumnAndRow):
318 * page/AccessibilityTableCell.cpp:
319 (WebCore::AccessibilityTableCell::isTableCell):
320 (WebCore::AccessibilityTableCell::titleUIElement):
321 * page/AccessibilityTableColumn.cpp:
322 (WebCore::AccessibilityTableColumn::headerObjectForSection):
323 * page/AccessibilityTableRow.cpp:
324 (WebCore::AccessibilityTableRow::isTableRow):
325 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
326 * page/mac/AXObjectCacheMac.mm:
327 (WebCore::AXObjectCache::postNotification):
328 (WebCore::AXObjectCache::postNotificationToElement):
329 * page/mac/AccessibilityObjectWrapper.mm:
330 (textMarkerForVisiblePosition):
331 (AXLinkElementForNode):
332 (nsStringForReplacedNode):
333 (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
334 (-[AccessibilityObjectWrapper accessibilityActionNames]):
335 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
336 (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
337 (-[AccessibilityObjectWrapper accessibilityHitTest:]):
338 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
339 (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
340 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
341 (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
342 (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
343 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
344 (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
345 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
346 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
347 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
349 2009-02-25 Beth Dakin <bdakin@apple.com>
351 Reviewed by Geoff Garen.
353 Re-working of <rdar://problem/6487249> repro crash in
354 WebCore::CSSParser::parseFillImage copying entire contents of this
356 -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
358 Fixes a bunch of layout test failures I caused!
361 (WebCore::CSSParser::parseValue):
362 (WebCore::CSSParser::parseContent):
363 (WebCore::CSSParser::parseFillImage):
364 (WebCore::CSSParser::parseFontFaceSrc):
365 (WebCore::CSSParser::parseBorderImage):
367 2009-02-25 Dimitri Glazkov <dglazkov@chromium.org>
369 Reviewed by Eric Seidel.
371 https://bugs.webkit.org/show_bug.cgi?id=24174
372 Add more V8 custom bindings.
374 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: Added.
375 (WebCore::hasCSSPropertyNamePrefix):
376 (WebCore::cssPropertyName):
377 (WebCore::NAMED_PROPERTY_GETTER):
378 (WebCore::NAMED_PROPERTY_SETTER):
379 * bindings/v8/custom/V8DOMStringListCustom.cpp: Added.
380 (WebCore::INDEXED_PROPERTY_GETTER):
381 (WebCore::CALLBACK_FUNC_DECL):
382 * bindings/v8/custom/V8EventCustom.cpp: Added.
383 (WebCore::ACCESSOR_SETTER):
384 (WebCore::ACCESSOR_GETTER):
385 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Added.
386 (WebCore::NAMED_PROPERTY_DELETER):
387 (WebCore::NAMED_PROPERTY_SETTER):
388 (WebCore::NAMED_PROPERTY_GETTER):
389 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: Added.
390 (WebCore::NAMED_PROPERTY_GETTER):
391 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Added.
392 (WebCore::INDEXED_PROPERTY_GETTER):
393 (WebCore::NAMED_PROPERTY_GETTER):
394 * bindings/v8/custom/V8NodeListCustom.cpp: Added.
395 (WebCore::NAMED_PROPERTY_GETTER):
396 * bindings/v8/custom/V8StyleSheetListCustom.cpp: Added.
397 (WebCore::NAMED_PROPERTY_GETTER):
399 2009-02-25 Scott Violet <sky@google.com>
401 Reviewed by Dave Hyatt.
403 https://bugs.webkit.org/show_bug.cgi?id=24171
404 Provides a RenderTheme method for getting the scroll bar size and
405 changes RenderListBox to use it. RenderTheme returns a size of regular,
406 and Mac's override to return small. Changes ScrollbarThemeChromium to
407 use the scrollbarsize of the scrollbar when getting the size
408 instead of passing in no-args.
410 * platform/chromium/ScrollbarThemeChromium.cpp:
411 (WebCore::ScrollbarThemeChromium::trackRect):
412 (WebCore::ScrollbarThemeChromium::buttonSize):
413 * rendering/RenderListBox.cpp:
414 (WebCore::RenderListBox::createScrollbar):
415 * rendering/RenderTheme.h:
416 (WebCore::RenderTheme::scrollbarControlSizeForPart):
417 * rendering/RenderThemeChromiumMac.h:
418 (WebCore::RenderThemeChromiumMac::scrollbarControlSizeForPart):
419 * rendering/RenderThemeMac.h:
420 (WebCore::RenderThemeMac::scrollbarControlSizeForPart):
422 2009-02-25 Beth Dakin <bdakin@apple.com>
424 Reviewed by Darin Adler.
426 Fix for <rdar://problem/6487249> repro crash in
427 WebCore::CSSParser::parseFillImage copying entire contents of this
429 -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
432 (WebCore::CSSParser::parseValue): Null-check m_styleSheet
434 2009-02-25 Adam Treat <adam.treat@torchmobile.com>
440 2009-02-25 Jan Michael Alonzo <jmalonzo@webkit.org>
442 Gtk build fix. Not reviewed.
444 Add files to the build per r41218.
445 Rename WebkitPoint.h to WebKitPoint.h in DOMWindow.cpp
448 * page/DOMWindow.cpp:
450 2009-02-25 Zan Dobersek <zandobersek@gmail.com>
452 Reviewed by Alexey Proskuryakov.
454 https://bugs.webkit.org/show_bug.cgi?id=24043
455 When faced with URLs with unsupported protocol on Gtk port,
456 report the error through an idle function and return true, so
457 a proper resource handle is created.
459 * platform/network/soup/ResourceHandleSoup.cpp:
460 (WebCore::reportUnknownProtocolError):
461 (WebCore::ResourceHandle::start):
463 2009-02-25 Steve Falkenburg <sfalken@apple.com>
466 Use struct to forward declare ResourceRequest.
468 * history/HistoryItem.h:
469 * inspector/InspectorController.h:
470 * loader/DocumentThreadableLoader.h:
471 * loader/FrameLoaderClient.h:
472 * loader/MainResourceLoader.h:
473 * loader/SubresourceLoader.h:
474 * loader/SubresourceLoaderClient.h:
475 * loader/ThreadableLoader.h:
476 * loader/WorkerThreadableLoader.h:
477 * platform/CrossThreadCopier.h:
478 * platform/network/ResourceHandle.h:
479 * platform/network/ResourceHandleClient.h:
480 * platform/network/ResourceRequestBase.h:
481 * platform/network/cf/ResourceRequestCFNet.h:
482 * xml/XMLHttpRequest.h:
484 2009-02-25 Steve Falkenburg <sfalken@apple.com>
486 Partial Windows build fix.
488 * DerivedSources.cpp:
489 * WebCore.vcproj/WebCore.vcproj:
491 2009-02-25 Dirk Schulze <krit@webkit.org>
493 Reviewed by Oliver Hunt.
495 Ported arcTo to Qt. Qt has no native support for arcTo. This changes
496 calculate the behavior of arcTo and draws it with lineTo and arc.
498 [QT] implement Canvas arcTo
499 https://bugs.webkit.org/show_bug.cgi?id=23873
501 * platform/graphics/qt/PathQt.cpp:
502 (WebCore::Path::addArcTo):
504 2009-02-25 Simon Fraser <simon.fraser@apple.com>
506 Reviewed by Dan Bernstein
508 Remove idl files from Resources, and sort.
510 * WebCore.xcodeproj/project.pbxproj:
512 2009-02-25 Chris Marrin <cmarrin@apple.com>
514 Reviewed by Simon Fraser.
516 https://bugs.webkit.org/show_bug.cgi?id=23943
518 Added webkitConvertPointFromNodeToPage and webkitConvertPointFromPageToNode on
519 the window object. Also added WebKitPoint object, which is passed in and out
522 Test: fast/dom/Window/webkitConvertPoint.html
524 * DerivedSources.make:
526 * WebCore.vcproj/WebCore.vcproj:
527 * WebCore.xcodeproj/project.pbxproj:
528 * WebCoreSources.bkl:
529 * bindings/js/JSDOMWindowBase.cpp:
530 (jsDOMWindowBaseWebKitPoint):
531 (setJSDOMWindowBaseWebKitPoint):
532 * bindings/js/JSWebKitPointConstructor.cpp: Added.
534 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
535 (WebCore::constructWebKitPoint):
536 (WebCore::JSWebKitPointConstructor::getConstructData):
537 * bindings/js/JSWebKitPointConstructor.h: Added.
538 (WebCore::JSWebKitPointConstructor::classInfo):
540 (WebCore::Node::convertToPage):
541 (WebCore::Node::convertFromPage):
543 * page/DOMWindow.cpp:
544 (WebCore::DOMWindow::webkitConvertPointFromNodeToPage):
545 (WebCore::DOMWindow::webkitConvertPointFromPageToNode):
547 * page/DOMWindow.idl:
548 * page/WebKitPoint.h: Added.
549 (WebCore::WebKitPoint::create):
550 (WebCore::WebKitPoint::x):
551 (WebCore::WebKitPoint::y):
552 (WebCore::WebKitPoint::setX):
553 (WebCore::WebKitPoint::setY):
554 (WebCore::WebKitPoint::WebKitPoint):
555 * page/WebKitPoint.idl: Added.
557 2009-02-25 Jian Li <jianli@chromium.org>
559 Reviewed by Alexey Proskuryakov.
561 Remove "#if ENABLE(WORKERS)" wrap from CrossThreadCopier files.
562 https://bugs.webkit.org/show_bug.cgi?id=24145
564 * platform/CrossThreadCopier.cpp:
565 * platform/CrossThreadCopier.h:
567 2009-02-25 David Levin <levin@chromium.org>
569 Reviewed by Alexey Proskuryakov.
571 Bug 23688: ThreadableLoader needs a sync implementation for Workers.
572 <https://bugs.webkit.org/show_bug.cgi?id=23688>
574 No observable change in behavior, so no test.
576 * loader/ThreadableLoader.cpp:
577 (WebCore::ThreadableLoader::loadResourceSynchronously):
578 * loader/ThreadableLoaderClientWrapper.h:
579 (WebCore::ThreadableLoaderClientWrapper::clearClient):
580 (WebCore::ThreadableLoaderClientWrapper::done):
581 (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
582 (WebCore::ThreadableLoaderClientWrapper::didFail):
583 (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
584 (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
585 Expose whether the loader is done (based on what callbacks were done).
587 * loader/WorkerThreadableLoader.cpp:
588 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
589 (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
590 Each loader is given its own mode so that only its callbacks get through the run loop.
592 The xhr spec says that the readystatechange events are synchronous, so in the case of a
593 nested sync xhr no readystatechange events should be fired for the outer xhr.
595 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
597 * loader/WorkerThreadableLoader.h:
598 (WebCore::WorkerThreadableLoader::create):
599 (WebCore::WorkerThreadableLoader::done):
601 * workers/WorkerRunLoop.cpp:
602 (WebCore::WorkerRunLoop::WorkerRunLoop):
603 * workers/WorkerRunLoop.h:
604 (WebCore::WorkerRunLoop::createUniqueId):
605 Simple method to create a uniqueId on demand with respect to the run loop.
607 * workers/WorkerThread.h:
609 2009-02-25 David Levin <levin@chromium.org>
611 Reviewed by Alexey Proskuryakov.
613 Bug 24089: ThreadableLoader::loadResourceSynchronously should do callbacks like the async code.
614 <https://bugs.webkit.org/show_bug.cgi?id=24089>
616 Make threadable loader callbacks to happen during the sync load call.
618 Changes the behavior of sync xhr for insecure redirects in two ways:
619 + Sends an error event instead of an abort event (which is the same as async xhr's behavior).
620 + Throws a network exception which is what other browsers do and what the spec
621 says to do (http://www.w3.org/TR/XMLHttpRequest/).
623 * loader/DocumentThreadableLoader.cpp:
624 (WebCore::DocumentThreadableLoader::loadResourceSynchronously):
625 * loader/DocumentThreadableLoader.h:
626 * loader/ThreadableLoader.cpp:
627 (WebCore::ThreadableLoader::loadResourceSynchronously):
628 * loader/ThreadableLoader.h:
629 * xml/XMLHttpRequest.cpp:
630 (WebCore::XMLHttpRequest::XMLHttpRequest):
631 (WebCore::XMLHttpRequest::loadRequestSynchronously):
632 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
633 (WebCore::XMLHttpRequest::didFail):
634 (WebCore::XMLHttpRequest::didFailRedirectCheck):
635 * xml/XMLHttpRequest.h:
637 2009-02-24 Chris Marrin <cmarrin@apple.com>
639 Reviewed by David Hyatt.
641 https://bugs.webkit.org/show_bug.cgi?id=23368
643 Added logic to correctly hit test accelerated layers.
645 Tests: animations/animation-hit-test-transform.html
646 animations/animation-hit-test.html
647 transitions/transition-hit-test-transform.html
648 transitions/transition-hit-test.html
650 * page/animation/KeyframeAnimation.cpp:
651 (WebCore::KeyframeAnimation::animate):
652 * rendering/RenderLayer.cpp:
653 (WebCore::RenderLayer::hitTestLayer):
654 (WebCore::RenderLayer::updateClipRects):
655 * rendering/RenderLayerBacking.cpp:
656 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
658 2009-02-25 Alexey Proskuryakov <ap@webkit.org>
660 Reviewed by Darin Adler.
662 https://bugs.webkit.org/show_bug.cgi?id=24067
663 REGRESSION: Crash in WebCore::Document::initSecurityContext
665 The crash started to happen when we removed a check for frame->document() being null.
666 However, the original document shouldn't be null here, because it is needed to alias
667 security origins. So, this patch fixes the crash by correcting security origin behavior.
669 Test: http/tests/security/aboutBlank/window-open-self-about-blank.html
670 This tests for not crashing, and for inheriting the domain from the document being replaced.
671 Preserving the aliasing cannot be tested for automatically, because we'd need a non-trivial
672 domain to remove a prefix from.
674 * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Create a new document before
675 clearing the frame, so that Document::initSecurityContext() could access the old one.
677 2009-02-25 Jay Campan <jcampan@google.com>
679 Reviewed by Darin Fisher.
681 https://bugs.webkit.org/show_bug.cgi?id=24066
683 Items in drop-downs were not painted correctly. Makes sure the
684 PopupListBox invalidates in the coordinates of the window as this is
685 FramelessScrollView::invalidateRect paints to.
687 * platform/chromium/PopupMenuChromium.cpp:
688 (WebCore::PopupListBox::invalidateRow):
690 2009-02-24 Simon Fraser <simon.fraser@apple.com>
692 Reviewed by Anders Carlsson
694 https://bugs.webkit.org/show_bug.cgi?id=15081
696 Make display:none work for applet, emebed and object elements
697 by calling rendererIsNeeded() on superclasses.
699 Tests: fast/replaced/applet-display-none.html
700 fast/replaced/embed-display-none.html
701 fast/replaced/object-display-none.html
703 * html/HTMLAppletElement.cpp:
704 (WebCore::HTMLAppletElement::rendererIsNeeded):
705 * html/HTMLElement.cpp:
706 (WebCore::HTMLElement::rendererIsNeeded):
707 * html/HTMLEmbedElement.cpp:
708 (WebCore::HTMLEmbedElement::rendererIsNeeded):
709 * html/HTMLObjectElement.cpp:
710 (WebCore::HTMLObjectElement::rendererIsNeeded):
712 2009-02-24 Simon Fraser <simon.fraser@apple.com>
714 Reviewed by Dave Hyatt
716 https://bugs.webkit.org/show_bug.cgi?id=24137
718 Fix localToAbsolute() and absoluteToLocal() to map points through 3d transforms,
719 taking perspective and transform-style: preserve-3d into account.
721 In order to support transform-style: preserve-3d, which keeps elements in a
722 3d space, we have to carry along an accumulated matrix in TransformState.
723 We also need to apply the perspective from the parent, if any, with the
730 * WebCore.vcproj/WebCore.vcproj:
731 * WebCore.xcodeproj/project.pbxproj:
732 * WebCoreSources.bkl:
733 * css/CSSComputedStyleDeclaration.cpp:
734 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
735 * platform/graphics/transforms/TransformationMatrix.cpp:
736 (WebCore::TransformationMatrix::translate):
737 (WebCore::TransformationMatrix::translate3d):
738 (WebCore::TransformationMatrix::translateRight3d):
739 * platform/graphics/transforms/TransformationMatrix.h:
740 * rendering/RenderBox.cpp:
741 (WebCore::RenderBox::mapLocalToAbsolutePoint):
742 (WebCore::RenderBox::mapAbsoluteToLocalPoint):
743 * rendering/RenderBox.h:
744 * rendering/RenderLayer.cpp:
745 (WebCore::RenderLayer::updateTransform):
746 (WebCore::RenderLayer::perspectiveTransform):
747 (WebCore::RenderLayer::perspectiveOrigin):
748 * rendering/RenderLayer.h:
749 * rendering/RenderLayerBacking.cpp:
750 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
751 * rendering/RenderLayerCompositor.cpp:
752 (WebCore::requiresCompositingLayerForTransform):
753 (WebCore::RenderLayerCompositor::layerHas3DContent):
754 * rendering/RenderObject.cpp:
755 (WebCore::RenderObject::localToAbsolute):
756 (WebCore::RenderObject::absoluteToLocal):
757 (WebCore::RenderObject::mapLocalToAbsolutePoint):
758 (WebCore::RenderObject::mapAbsoluteToLocalPoint):
759 * rendering/RenderObject.h:
760 * rendering/RenderTableCell.cpp:
761 (WebCore::RenderTableCell::mapLocalToAbsolutePoint):
762 (WebCore::RenderTableCell::mapAbsoluteToLocalPoint):
763 * rendering/RenderTableCell.h:
764 * rendering/RenderView.cpp:
765 (WebCore::RenderView::mapLocalToAbsolutePoint):
766 (WebCore::RenderView::mapAbsoluteToLocalPoint):
767 * rendering/RenderView.h:
768 * rendering/TransformState.cpp: Added.
769 (WebCore::TransformState::move):
770 (WebCore::TransformState::applyTransform):
771 (WebCore::TransformState::flatten):
772 * rendering/TransformState.h: Added.
773 (WebCore::TransformState::):
774 (WebCore::TransformState::TransformState):
775 (WebCore::TransformState::move):
776 * rendering/style/RenderStyle.h:
777 (WebCore::InheritedFlags::hasPerspective):
779 2009-02-24 Sam Weinig <sam@webkit.org>
781 Reviewed by David Hyatt.
783 Fix for https://bugs.webkit.org/show_bug.cgi?id=23990
784 Regression (r40837): JavaScript image popup doesn't work
786 Make the getClientRects and getBoundingClientRect methods return rects
787 relative to the viewport.
789 Test: fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport.html
792 (WebCore::Element::getClientRects):
793 (WebCore::Element::getBoundingClientRect):
795 2009-02-24 Ojan Vafai <ojan@chromium.org>
797 Reviewed by Eric Seidel.
799 SVG pages don't have a body or an html element!
800 Don't return early if there is no body.
802 * editing/VisiblePosition.cpp:
803 (WebCore::VisiblePosition::canonicalPosition):
805 2009-02-23 David Hyatt <hyatt@apple.com>
807 Reviewed by Eric Seidel
809 https://bugs.webkit.org/show_bug.cgi?id=23740, painting order wrong for normal flow elements with overflow: hidden
811 This patch reworks the painting of overflow. There is now the concept of a "self-painting layer." All
812 layers are considered to be self-painting except for overflow layers that are normal flow (and that don't have
813 reflections or masks).
815 If an overflow layer is not self-painting, then it ends up painted by its parent just like any other normal flow object.
816 The only difference is that the clip has to be pushed and popped when painting the object's children.
818 The lightweight clipping scheme used for controls has been extended to cover overflow now in this simplified case. With
819 the code consolidated into reusable push/pop functions, all of the renderers that use overflow have been patched to
820 use the new functions.
822 Hit testing has also been patched to check the overflow clip rect first before recurring into children.
824 Scrollbar paint has been moved into RenderBlock for now, since none of the table objects support scrollbars
825 yet, and scrollbar hit testing was already there anyway. Now the two code paths are more symmetrical.
827 Masks are now treated like normal flow layers (just like reflections).
829 A couple of test cases have been added to fast/overflow to test the stacking order.
831 * rendering/InlineFlowBox.cpp:
832 (WebCore::InlineFlowBox::nodeAtPoint):
833 (WebCore::InlineFlowBox::paint):
834 * rendering/RenderBlock.cpp:
835 (WebCore::RenderBlock::repaintOverhangingFloats):
836 (WebCore::RenderBlock::paint):
837 (WebCore::RenderBlock::paintChildren):
838 (WebCore::RenderBlock::paintObject):
839 (WebCore::RenderBlock::paintFloats):
840 (WebCore::RenderBlock::insertFloatingObject):
841 (WebCore::RenderBlock::floatRect):
842 (WebCore::RenderBlock::lowestPosition):
843 (WebCore::RenderBlock::rightmostPosition):
844 (WebCore::RenderBlock::leftmostPosition):
845 (WebCore::RenderBlock::addOverhangingFloats):
846 (WebCore::RenderBlock::nodeAtPoint):
847 (WebCore::RenderBlock::hitTestContents):
848 * rendering/RenderBox.cpp:
849 (WebCore::RenderBox::nodeAtPoint):
850 (WebCore::RenderBox::pushContentsClip):
851 (WebCore::RenderBox::popContentsClip):
852 * rendering/RenderBox.h:
853 (WebCore::RenderBox::paintObject):
854 * rendering/RenderBoxModelObject.cpp:
855 (WebCore::RenderBoxModelObject::hasSelfPaintingLayer):
856 * rendering/RenderBoxModelObject.h:
857 * rendering/RenderLayer.cpp:
858 (WebCore::RenderLayer::paintLayer):
859 (WebCore::RenderLayer::hitTestLayer):
860 (WebCore::RenderLayer::shouldBeNormalFlowOnly):
861 (WebCore::RenderLayer::isSelfPaintingLayer):
862 * rendering/RenderLayer.h:
863 * rendering/RenderTable.cpp:
864 (WebCore::RenderTable::paint):
865 (WebCore::RenderTable::paintObject):
866 (WebCore::RenderTable::nodeAtPoint):
867 * rendering/RenderTable.h:
868 * rendering/RenderTableCell.cpp:
869 (WebCore::RenderTableCell::paint):
870 * rendering/RenderTableRow.cpp:
871 (WebCore::RenderTableRow::nodeAtPoint):
872 (WebCore::RenderTableRow::paint):
873 * rendering/RenderTableRow.h:
874 * rendering/RenderTableSection.cpp:
875 (WebCore::RenderTableSection::paint):
876 (WebCore::RenderTableSection::paintObject):
877 (WebCore::RenderTableSection::nodeAtPoint):
878 * rendering/RenderTableSection.h:
879 * rendering/RenderTreeAsText.cpp:
881 (WebCore::writeLayers):
883 2009-02-24 David Levin <levin@chromium.org>
885 Reviewed by NOBODY (build fix).
887 Attempted build fix for wx-mac.
889 * WebCoreSources.bkl:
891 2009-02-24 David Levin <levin@chromium.org>
893 Reviewed by NOBODY (build fix).
895 Attempted build fixes for qt-linux and wx-mac.
900 2009-02-24 Ojan Vafai <ojan@dhcp-172-31-134-214.sfo.corp.google.com>
902 Reviewed by Sam Weinig.
904 Fix null pointer error. If the node is the Document, then ownerDocument()
905 returns null, document() does not.
907 * editing/VisiblePosition.cpp:
908 (WebCore::VisiblePosition::canonicalPosition):
910 2009-02-24 Jian Li <jianli@chromium.org>
912 Reviewed by NOBODY (attempted build fixes).
914 Fix build break for Windows and Linux.
917 * WebCore.vcproj/WebCore.vcproj:
919 2009-02-24 Dimitri Glazkov <dglazkov@chromium.org>
921 Reviewed by Eric Seidel.
923 https://bugs.webkit.org/show_bug.cgi?id=24131
924 Fix-up COM/RefCounted dichotomy in Chromium port.
926 * page/chromium/AccessibilityObjectWrapper.h:
927 (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Added
928 explicit setting of recount.
930 2009-02-24 Dimitri Glazkov <dglazkov@chromium.org>
932 Reviewed by Eric Seidel.
934 https://bugs.webkit.org/show_bug.cgi?id=24141
935 Add clarity to V8 interceptor helper function.
937 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
938 (WebCore::NAMED_PROPERTY_GETTER): Renamed to notHandledByInterceptor.
939 (WebCore::NAMED_PROPERTY_SETTER): Ditto.
940 (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
941 (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
943 2009-02-24 Simon Fraser <simon.fraser@apple.com>
945 Reviewed by Eric Seidel
947 Minor numeric cleanup: convert float literals to doubles.
949 * platform/graphics/transforms/RotateTransformOperation.cpp:
950 (WebCore::RotateTransformOperation::blend):
952 2009-02-24 Mark Mentovai <mark@chromium.org>
954 Reviewed by Eric Seidel.
956 https://bugs.webkit.org/show_bug.cgi?id=24139
959 * bindings/v8/ScriptInstance.h:
961 2009-02-24 Jian Li <jianli@chromium.org>
963 Reviewed by Alexey Proskuryakov.
965 Move worker related files from dom directory to worker directory under WebCore.
966 https://bugs.webkit.org/show_bug.cgi?id=24123
968 * DerivedSources.make:
972 * WebCore.vcproj/MigrateIDLAndScripts:
973 * WebCore.vcproj/WebCore.vcproj:
974 * WebCore.xcodeproj/project.pbxproj:
975 * platform/CrossThreadCopier.cpp: Renamed from WebCore/dom/CrossThreadCopier.cpp.
976 * platform/CrossThreadCopier.h: Renamed from WebCore/dom/CrossThreadCopier.h.
977 * workers/GenericWorkerTask.h: Renamed from WebCore/dom/GenericWorkerTask.h.
978 * workers/Worker.cpp: Renamed from WebCore/dom/Worker.cpp.
979 * workers/Worker.h: Renamed from WebCore/dom/Worker.h.
980 * workers/Worker.idl: Renamed from WebCore/dom/Worker.idl.
981 * workers/WorkerContext.cpp: Renamed from WebCore/dom/WorkerContext.cpp.
982 * workers/WorkerContext.h: Renamed from WebCore/dom/WorkerContext.h.
983 * workers/WorkerContext.idl: Renamed from WebCore/dom/WorkerContext.idl.
984 * workers/WorkerContextProxy.h: Renamed from WebCore/dom/WorkerContextProxy.h.
985 * workers/WorkerLocation.cpp: Renamed from WebCore/dom/WorkerLocation.cpp.
986 * workers/WorkerLocation.h: Renamed from WebCore/dom/WorkerLocation.h.
987 * workers/WorkerLocation.idl: Renamed from WebCore/dom/WorkerLocation.idl.
988 * workers/WorkerMessagingProxy.cpp: Renamed from WebCore/dom/WorkerMessagingProxy.cpp.
989 * workers/WorkerMessagingProxy.h: Renamed from WebCore/dom/WorkerMessagingProxy.h.
990 * workers/WorkerObjectProxy.h: Renamed from WebCore/dom/WorkerObjectProxy.h.
991 * workers/WorkerRunLoop.cpp: Renamed from WebCore/dom/WorkerRunLoop.cpp.
992 * workers/WorkerRunLoop.h: Renamed from WebCore/dom/WorkerRunLoop.h.
993 * workers/WorkerThread.cpp: Renamed from WebCore/dom/WorkerThread.cpp.
994 * workers/WorkerThread.h: Renamed from WebCore/dom/WorkerThread.h.
996 2009-02-05 Ojan Vafai <ojan@chromium.org> and Eric Seidel <eric@webkit.org>
998 Reviewed by Dave Hyatt.
1000 Make cursor positions match IE6/IE7/FF3 when clicking in margins/padding
1001 around divs inside editable regions.
1002 https://bugs.webkit.org/show_bug.cgi?id=23605
1004 Fix clicks outside editable regions from focusing the editable region.
1005 https://bugs.webkit.org/show_bug.cgi?id=23607
1007 Removed editing/selection/contenteditable-click-outside.html as it's
1008 not as useful as our new tests.
1010 Clean up RenderBlock::positionForCoordinates to remove dead code,
1011 duplicate code, and generally make it more readable.
1013 Tests: editing/selection/click-in-margins-inside-editable-div.html
1014 editing/selection/click-in-padding-with-multiple-line-boxes.html
1015 editing/selection/click-outside-editable-div.html
1017 * editing/VisiblePosition.cpp:
1018 (WebCore::VisiblePosition::canonicalPosition):
1019 * rendering/RenderBlock.cpp:
1020 (WebCore::positionForPointRespectingEditingBoundaries):
1021 (WebCore::positionForPointWithInlineChildren):
1022 (WebCore::RenderBlock::positionForCoordinates):
1023 (WebCore::RenderBlock::updateFirstLetter):
1025 2009-02-24 Sam Weinig <sam@webkit.org>
1027 Reviewed by Geoffrey Garen.
1029 Related to <rdar://problem/6590295>
1030 Allow disabling javascript: urls.
1033 * html/HTMLAnchorElement.cpp:
1034 (WebCore::HTMLAnchorElement::parseMappedAttribute):
1035 * loader/FrameLoader.cpp:
1036 (WebCore::FrameLoader::executeIfJavaScriptURL):
1038 (WebCore::Page::Page):
1039 (WebCore::Page::setJavaScriptURLsAreAllowed):
1040 (WebCore::Page::javaScriptURLsAreAllowed):
1043 2009-02-24 Simon Fraser <simon.fraser@apple.com>
1045 Fix build when ACCELERATED_COMPOSITING is turned on
1046 (overflowList() -> normalFlowList()).
1048 * rendering/RenderLayerBacking.cpp:
1049 (WebCore::RenderLayerBacking::hasNonCompositingContent):
1050 (WebCore::RenderLayerBacking::paintIntoLayer):
1051 * rendering/RenderLayerCompositor.cpp:
1052 (WebCore::RenderLayerCompositor::calculateCompositedBounds):
1053 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1054 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
1055 (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
1056 (WebCore::RenderLayerCompositor::layerHas3DContent):
1058 2009-02-24 Simon Fraser <simon.fraser@apple.com>
1060 Reviewed by Darin Adler
1062 https://bugs.webkit.org/show_bug.cgi?id=24135
1064 Round the FloatPoint returned by absoluteToLocal(), rather than
1067 * dom/MouseRelatedEvent.cpp:
1068 (WebCore::MouseRelatedEvent::receivedTarget):
1070 2009-02-24 Beth Dakin <bdakin@apple.com>
1072 Reviewed by Sam Weinig.
1074 Fix for https://bugs.webkit.org/show_bug.cgi?id=24004 REGRESSION:
1075 Ordered list item marker misaligned when line height is not 1.2
1076 -and corresponding <rdar://problem/6602506>
1078 This is a regression from http://trac.webkit.org/changeset/40880
1079 where createInlineBox was taken off of RenderObject and moved to
1080 RenderBox. The problem was that the RenderBox version still needs
1081 to be virtual because there is still an existing implementation in
1084 * rendering/RenderBox.h:
1085 * rendering/RenderListMarker.cpp:
1086 (WebCore::RenderListMarker::createInlineBox):
1087 * rendering/RenderListMarker.h:
1089 2009-02-24 Dimitri Glazkov <dglazkov@chromium.org>
1091 Reviewed by Eric Seidel.
1093 https://bugs.webkit.org/show_bug.cgi?id=24128
1094 Upstream more V8 custom bindings: constructors, XSLTProcessor.
1096 * bindings/v8/custom/V8DOMParserConstructor.cpp: Added.
1097 (WebCore::CALLBACK_FUNC_DECL):
1098 * bindings/v8/custom/V8MessageChannelConstructor.cpp: Added.
1099 (WebCore::CALLBACK_FUNC_DECL):
1100 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Added.
1101 (WebCore::CALLBACK_FUNC_DECL):
1102 * bindings/v8/custom/V8XMLSerializerConstructor.cpp: Added.
1103 (WebCore::CALLBACK_FUNC_DECL):
1104 * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: Added.
1105 (WebCore::CALLBACK_FUNC_DECL):
1106 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Added.
1107 (WebCore::CALLBACK_FUNC_DECL):
1109 2009-02-24 David Levin <levin@chromium.org>
1111 Reviewed by Alexey Proskuryakov.
1113 Bug 24090: WorkerThreadableLoader needs to be able to post tasks for a mode.
1114 <https://bugs.webkit.org/show_bug.cgi?id=24090>
1116 No observable change in behavior, so no test.
1118 * dom/WorkerMessagingProxy.cpp:
1119 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
1120 (WebCore::WorkerMessagingProxy::postTaskToWorkerContext):
1121 Fixed the bug that m_unconfirmedMessageCount was getting incremented for non-message tasks.
1123 (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext):
1125 * dom/WorkerMessagingProxy.h:
1126 * loader/ThreadableLoader.cpp:
1127 (WebCore::ThreadableLoader::create):
1128 * loader/WorkerThreadableLoader.cpp:
1129 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
1130 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
1131 (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
1132 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
1133 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
1134 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
1135 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
1136 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
1137 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
1138 Changed these methods to post task using a mode.
1140 * loader/WorkerThreadableLoader.h:
1141 (WebCore::WorkerThreadableLoader::create):
1143 2009-02-24 Alexey Proskuryakov <ap@webkit.org>
1145 Reviewed by Darin Adler.
1147 https://bugs.webkit.org/show_bug.cgi?id=24091
1148 <rdar://problem/6468660> Start of redirect chain ends up as master entry in Application Cache
1150 Test: http/tests/appcache/access-via-redirect.php
1152 * loader/appcache/ApplicationCacheGroup.cpp:
1153 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Use the URL we ended up with,
1154 not the original one.
1156 2009-02-24 Jian Li <jianli@chromium.org>
1158 Reviewed by Alexey Proskuryakov.
1160 Change to include WorkerObjectProxy.h instead of WorkerMessagingProxy.h in WorkerContext.cpp and WorkerScriptController.cpp.
1161 https://bugs.webkit.org/show_bug.cgi?id=24112
1163 * bindings/js/WorkerScriptController.cpp:
1164 * dom/WorkerContext.cpp:
1166 2009-02-23 Antti Koivisto <antti@apple.com>
1168 Reviewed by Oliver Hunt.
1170 <rdar://problem/6613796> Extended text codecs registered on webview creation
1172 Comparing a text encoding with string "GBK" ended up constructing
1173 TextEncoding("GBK") which in turn initialized all extended
1176 * platform/text/TextCodecICU.cpp:
1177 (WebCore::TextCodecICU::decode):
1179 2009-02-23 Sam Weinig <sam@webkit.org>
1183 * bridge/qt/qt_runtime.cpp:
1184 (JSC::Bindings::valueRealType):
1186 2009-02-23 Julien Chaffraix <jchaffraix@webkit.org>
1188 Reviewed by Darin Adler.
1190 Bug 23956: Safari crashes when cloneNode fails (cloning a XML element with an invalid nodeName)
1192 The crash occurred because Document::cloneNode would call Document::createElementNS. Unfortunately
1193 element created with createElement could have a wrong nodeName (createElement sets the string as the
1194 localName without checking for a prefix).
1196 The fix is to call Document::createElement(const QualifiedName&, bool) that will not do any checks on the QualifiedName
1197 and will always succeed.
1198 Also rolled-out the HTMLElement specialisation of clonedNode as it was equivalent to what is done now (added an ASSERT
1201 Test: fast/dom/cloneNode.html
1204 (WebCore::Element::cloneNode): Call createElement(const QualifiedName&, bool) instead of createElementNS as it will
1205 always return an element.
1207 * html/HTMLElement.cpp:
1208 * html/HTMLElement.h: Removed HTMLElement::clonedNode as it is equivalent to what is now done.
1210 2009-02-23 Dimitri Glazkov <dglazkov@chromium.org>
1212 Reviewed by Eric Seidel.
1214 https://bugs.webkit.org/show_bug.cgi?id=24109
1215 Upstream V8 Script abstractions, all except ScriptController.
1217 * bindings/v8/ScriptCachedFrameData.h: Added.
1218 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1219 (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
1220 (WebCore::ScriptCachedFrameData::restore):
1221 (WebCore::ScriptCachedFrameData::clear):
1222 (WebCore::ScriptCachedFrameData::domWindow):
1223 * bindings/v8/ScriptCallFrame.cpp: Added.
1224 (WebCore::ScriptCallFrame::ScriptCallFrame):
1225 (WebCore::ScriptCallFrame::~ScriptCallFrame):
1226 (WebCore::ScriptCallFrame::argumentAt):
1227 * bindings/v8/ScriptCallFrame.h: Added.
1228 (WebCore::ScriptCallFrame::functionName):
1229 (WebCore::ScriptCallFrame::sourceURL):
1230 (WebCore::ScriptCallFrame::lineNumber):
1231 (WebCore::ScriptCallFrame::argumentCount):
1232 * bindings/v8/ScriptCallStack.cpp: Added.
1233 (WebCore::ScriptCallStack::ScriptCallStack):
1234 (WebCore::ScriptCallStack::~ScriptCallStack):
1235 (WebCore::ScriptCallStack::at):
1236 * bindings/v8/ScriptCallStack.h: Added.
1237 (WebCore::ScriptCallStack::size):
1238 * bindings/v8/ScriptInstance.cpp: Added.
1239 (WebCore::V8ScriptInstance::V8ScriptInstance):
1240 (WebCore::V8ScriptInstance::~V8ScriptInstance):
1241 (WebCore::V8ScriptInstance::instance):
1242 (WebCore::V8ScriptInstance::clear):
1243 (WebCore::V8ScriptInstance::set):
1244 * bindings/v8/ScriptInstance.h: Added.
1245 (WebCore::V8ScriptInstance::create):
1246 * bindings/v8/ScriptSourceCode.h: Added.
1247 (WebCore::ScriptSourceCode::ScriptSourceCode):
1248 (WebCore::ScriptSourceCode::isEmpty):
1249 (WebCore::ScriptSourceCode::source):
1250 (WebCore::ScriptSourceCode::url):
1251 (WebCore::ScriptSourceCode::startLine):
1252 * bindings/v8/ScriptState.h: Added.
1253 (WebCore::ScriptState::hadException):
1254 (WebCore::ScriptState::setException):
1255 (WebCore::ScriptState::exception):
1256 * bindings/v8/ScriptString.h: Added.
1257 (WebCore::ScriptString::ScriptString):
1258 (WebCore::ScriptString::operator String):
1259 (WebCore::ScriptString::isNull):
1260 (WebCore::ScriptString::size):
1261 (WebCore::ScriptString::operator=):
1262 (WebCore::ScriptString::operator+=):
1263 * bindings/v8/ScriptValue.cpp: Added.
1264 (WebCore::ScriptValue::getString):
1265 * bindings/v8/ScriptValue.h: Added.
1266 (WebCore::ScriptValue::ScriptValue):
1267 (WebCore::ScriptValue::operator=):
1268 (WebCore::ScriptValue::operator==):
1269 (WebCore::ScriptValue::operator!=):
1270 (WebCore::ScriptValue::isNull):
1271 (WebCore::ScriptValue::isUndefined):
1272 (WebCore::ScriptValue::clear):
1273 (WebCore::ScriptValue::~ScriptValue):
1274 (WebCore::ScriptValue::v8Value):
1276 2009-02-23 Adam Treat <adam.treat@torchmobile.com>
1278 Reviewed by Timothy Hatcher.
1280 https://bugs.webkit.org/show_bug.cgi?id=24106
1281 The Qt port is crashing on exit because the tear down procedure involves
1282 the WebCore::InspectorController trying to access the JS execution context
1283 for a page that is being deleted. This patch amends the inspector so
1284 that it does not try and access the execution context of the WebCore::Page
1285 in the midst of deletion.
1287 * inspector/InspectorController.cpp:
1288 (WebCore::InspectorController::inspectedPageDestroyed):
1289 (WebCore::InspectorController::stopUserInitiatedProfiling):
1291 2009-02-23 David Levin <levin@chromium.org>
1293 Reviewed by Alexey Proskuryakov.
1295 Bug 24088: ThreadableLoaderClient::didFailWillSendRequestCheck isn't wired up completely for workers and could use a better name.
1296 <https://bugs.webkit.org/show_bug.cgi?id=24088>
1298 No observable change in behavior, so no test.
1300 * loader/DocumentThreadableLoader.cpp:
1301 (WebCore::DocumentThreadableLoader::create):
1302 * loader/ThreadableLoaderClient.h:
1303 (WebCore::ThreadableLoaderClient::didFailRedirectCheck):
1304 * loader/ThreadableLoaderClientWrapper.h:
1305 (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
1306 * loader/WorkerThreadableLoader.cpp:
1307 (WebCore::workerContextDidFailRedirectCheck):
1308 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
1309 * loader/WorkerThreadableLoader.h:
1310 * xml/XMLHttpRequest.cpp:
1311 (WebCore::XMLHttpRequest::didFinishLoading):
1312 * xml/XMLHttpRequest.h:
1314 2009-02-23 David Levin <levin@chromium.org>
1316 Reviewed by Alexey Proskuryakov.
1318 Bug 24047: Need to simplify nested if's in WorkerRunLoop::runInMode
1319 <https://bugs.webkit.org/show_bug.cgi?id=24047>
1321 Made a nested if inside of WorkerRunLoop::runInMode a lot simpler by
1322 using only MessageQueue::waitForMessageFilteredWithTimeout instead
1323 of three different MessageQueue methods.
1325 No observable change in behavior, so no test.
1327 * dom/WorkerRunLoop.cpp:
1328 (WebCore::ModePredicate::operator()):
1329 Minor clean-up to able to pass a const ref point for ModePredicate into runInMode.
1330 (WebCore::WorkerRunLoop::runInMode):
1331 * dom/WorkerRunLoop.h:
1333 2009-02-23 David Hyatt <hyatt@apple.com>
1335 In preparation for making layers for multicol objects (so that they can properly split child layers
1336 into multiple columns), rename all of the "overflowOnly" and "overflowList" members and functions
1337 of RenderLayer to use the term "normal flow" instead.
1339 Reviewed by Cameron Zwarich
1341 * rendering/RenderLayer.cpp:
1342 (WebCore::RenderLayer::RenderLayer):
1343 (WebCore::RenderLayer::~RenderLayer):
1344 (WebCore::RenderLayer::setHasVisibleContent):
1345 (WebCore::RenderLayer::enclosingCompositingLayer):
1346 (WebCore::RenderLayer::addChild):
1347 (WebCore::RenderLayer::removeChild):
1348 (WebCore::RenderLayer::paintLayer):
1349 (WebCore::RenderLayer::hitTestLayer):
1350 (WebCore::RenderLayer::dirtyNormalFlowList):
1351 (WebCore::RenderLayer::updateNormalFlowList):
1352 (WebCore::RenderLayer::collectLayers):
1353 (WebCore::RenderLayer::updateLayerListsIfNeeded):
1354 (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1355 (WebCore::RenderLayer::styleChanged):
1356 * rendering/RenderLayer.h:
1357 (WebCore::RenderLayer::isNormalFlowOnly):
1358 (WebCore::RenderLayer::normalFlowList):
1359 * rendering/RenderTreeAsText.cpp:
1360 (WebCore::writeLayers):
1362 2009-02-23 David Hyatt <hyatt@apple.com>
1364 Fix the stacking order for column rules in multi-column layout. Column rules should paint as part of the background of an element, just
1365 after all other components of the background have been painted. This allows negative z-index children to still paint on top of the
1366 column rules (rather than ending up above the background of the box but behind the column rules).
1368 Reviewed by Eric Seidel
1370 Added fast/multicol/column-rules-stacking.html
1372 * rendering/RenderBlock.cpp:
1373 (WebCore::RenderBlock::paintColumnRules):
1374 (WebCore::RenderBlock::paintColumnContents):
1375 (WebCore::RenderBlock::paintObject):
1376 * rendering/RenderBlock.h:
1378 2009-02-23 Adam Treat <adam.treat@torchmobile.com>
1380 Reviewed by David Hyatt.
1382 No testcases have been added or modified since this patch should not result in
1383 a behavior change for ports that have layout tests enabled.
1385 Currently, the implementation of GraphicsContext::drawLineForText amongst
1386 the various ports differ in that some of them are honoring the context's
1387 strokeStyle when drawing a text-decoration and some of them are not.
1388 For instance, Apple's Mac port *does not* honor the context's strokeStyle(),
1389 but the Cairo implementation does and has an explicit workaround that
1390 sets the strokeStyle() temporarily.
1392 This patch fixes so that all ports are consistent by explicitly making sure
1393 to set the GraphicsContext strokeStyle to SolidStroke whenever
1394 painting the text-decoration of an InlineFlowBox or InlineTextBox as these
1395 should always use a solid stroke.
1397 This patch addresses these bugs:
1398 https://bugs.webkit.org/show_bug.cgi?id=19364
1399 https://bugs.webkit.org/show_bug.cgi?id=15659
1401 * rendering/InlineFlowBox.cpp:
1402 (WebCore::InlineFlowBox::paintTextDecorations):
1403 * rendering/InlineTextBox.cpp:
1404 (WebCore::InlineTextBox::paintDecoration):
1406 2009-02-23 Scott Violet <sky@google.com>
1408 Reviewed by Eric Seidel.
1410 https://bugs.webkit.org/show_bug.cgi?id=24098
1411 Bugs in ClipboardChromium
1413 Fixes the following bugs in ClipboardChromium:
1414 * It's possible for the extension to be empty, resulting in a bad file
1415 name, for example, 'foo.' or just '.'.
1416 * We weren't restricting the size of the file to MAX_PATH.
1417 * We weren't removing characters that are invalid for file system names.
1419 * platform/chromium/ClipboardChromium.cpp:
1420 (WebCore::writeImageToDataObject):
1421 * platform/chromium/ClipboardChromium.h:
1422 * platform/chromium/ClipboardChromiumLinux.cpp: Added.
1423 (WebCore::ClipboardChromium::validateFileName):
1424 * platform/chromium/ClipboardChromiumMac.cpp: Added.
1425 (WebCore::ClipboardChromium::validateFileName):
1426 * platform/chromium/ClipboardChromiumWin.cpp: Added.
1427 (WebCore::isInvalidFileCharacter):
1428 (WebCore::ClipboardChromium::validateFileName):
1430 2009-02-23 Thiago Macieira <thiago.macieira@nokia.com>
1432 Reviewed by Simon Hausmann.
1434 Fix the Copyright notices in a few files
1436 * platform/qt/RenderThemeQt.h:
1438 2009-02-23 Xan Lopez <xan@gnome.org>
1440 Reviewed by Alexey Proskuryakov.
1442 https://bugs.webkit.org/show_bug.cgi?id=22624
1443 [SOUP][GTK] Need API to get SoupSession from WebKit.
1445 Allow to retrieve the Soup session and modify the code to take
1446 into account users changing features on it.
1448 * platform/network/ResourceHandle.h:
1449 * platform/network/soup/CookieJarSoup.cpp:
1450 (WebCore::defaultCookieJar):
1451 (WebCore::setDefaultCookieJar):
1452 * platform/network/soup/CookieJarSoup.h:
1453 * platform/network/soup/ResourceHandleSoup.cpp:
1454 (WebCore::createSoupSession):
1455 (WebCore::ensureSessionIsInitialized):
1456 (WebCore::ResourceHandle::startHttp):
1457 (WebCore::ResourceHandle::cancel):
1458 (WebCore::ResourceHandle::defaultSession):
1460 2009-02-23 Xan Lopez <xan@gnome.org>
1462 Reviewed by Alexey Proskuryakov.
1464 https://bugs.webkit.org/show_bug.cgi?id=22624
1465 [SOUP][GTK] Need API to get SoupSession from WebKit.
1467 Remove CURL support.
1471 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
1473 Reviewed by Mark Rowe.
1475 Test: fast/dom/empty-hash-and-search.html
1477 https://bugs.webkit.org/show_bug.cgi?id=21147
1478 hash property returns incorrect value for links w/o hash
1480 Make hash() and search() behavior for empty and missing parts match IE and Firefox.
1482 * platform/KURL.cpp:
1483 (WebCore::KURL::query): Changed to return query without '?', as it is already done for ref().
1484 (WebCore::KURL::prettyURL): Append the query with the question mark.
1486 * page/Location.cpp:
1487 (WebCore::Location::search): Return an empty string if query is empty or missing.
1488 (WebCore::Location::hash): Return an empty string for empty hashes, not only missing ones.
1490 * dom/WorkerLocation.cpp:
1491 (WebCore::WorkerLocation::search):
1492 (WebCore::WorkerLocation::hash):
1493 Match document.location fixes above.
1495 * html/HTMLAnchorElement.cpp:
1496 (WebCore::HTMLAnchorElement::hash):
1497 (WebCore::HTMLAnchorElement::search):
1498 Return an empty string for empty and missing parts.
1500 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
1502 Reviewed by Darin Adler.
1504 https://bugs.webkit.org/show_bug.cgi?id=20184
1505 SELECT with no name generates invalid query string
1507 Test: fast/forms/select-no-name.html
1509 * html/HTMLSelectElement.cpp:
1510 (WebCore::HTMLSelectElement::appendFormData): Added a check for empty name.
1512 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
1514 Apply review comments for the previous check-in (forgot to save the file, oops).
1516 * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren):
1518 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
1520 Reviewed by Darin Adler.
1522 https://bugs.webkit.org/show_bug.cgi?id=15707
1523 Crash when manipulating document from within an iframe onload function
1525 Test: fast/dom/onload-open.html
1527 * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren): Protect the container and
1528 the current node, because anything can happen when dispatching events.
1530 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
1532 Reviewed by Darin Adler.
1534 https://bugs.webkit.org/show_bug.cgi?id=18970
1535 Numerically named input fields cause document.forms loop problems
1537 Test: fast/forms/numeric-input-name.html
1539 * bindings/scripts/CodeGeneratorJS.pm: Try index getter before name getter, even if the
1540 latter overrides properties.
1542 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
1544 Reviewed by Sam Weinig.
1546 https://bugs.webkit.org/show_bug.cgi?id=24059
1547 Tokenizer::write() return value is never used
1550 * dom/XMLTokenizer.cpp:
1551 (WebCore::XMLTokenizer::write):
1552 * dom/XMLTokenizer.h:
1553 * html/HTMLTokenizer.cpp:
1554 (WebCore::HTMLTokenizer::write):
1555 * html/HTMLTokenizer.h:
1556 * loader/FTPDirectoryDocument.cpp:
1557 (WebCore::FTPDirectoryTokenizer::write):
1558 * loader/ImageDocument.cpp:
1559 (WebCore::ImageTokenizer::write):
1560 * loader/MediaDocument.cpp:
1561 (WebCore::MediaTokenizer::write):
1562 * loader/PluginDocument.cpp:
1563 (WebCore::PluginTokenizer::write):
1564 * loader/TextDocument.cpp:
1565 (WebCore::TextTokenizer::write):
1566 Made write() return void, not bool.
1568 2009-02-20 Geoffrey Garen <ggaren@apple.com>
1570 Reviewed by Sam Weinig.
1572 Updated for JavaScriptCore changes to timeout checking.
1574 * bindings/js/JSCustomPositionCallback.cpp:
1575 (WebCore::JSCustomPositionCallback::handleEvent):
1576 * bindings/js/JSCustomPositionErrorCallback.cpp:
1577 (WebCore::JSCustomPositionErrorCallback::handleEvent):
1578 * bindings/js/JSCustomSQLStatementCallback.cpp:
1579 (WebCore::JSCustomSQLStatementCallback::handleEvent):
1580 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1581 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1582 * bindings/js/JSCustomSQLTransactionCallback.cpp:
1583 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1584 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1585 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1586 * bindings/js/JSCustomVoidCallback.cpp:
1587 (WebCore::JSCustomVoidCallback::handleEvent):
1588 * bindings/js/JSCustomXPathNSResolver.cpp:
1589 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1590 * bindings/js/JSDOMWindowBase.cpp:
1591 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1592 (WebCore::JSDOMWindowBase::commonJSGlobalData):
1593 * bindings/js/JSEventListener.cpp:
1594 (WebCore::JSAbstractEventListener::handleEvent):
1595 * bindings/js/ScheduledAction.cpp:
1596 (WebCore::ScheduledAction::executeFunctionInContext):
1597 * bindings/js/ScriptController.cpp:
1598 (WebCore::ScriptController::evaluate):
1599 * bindings/js/WorkerScriptController.cpp:
1600 (WebCore::WorkerScriptController::evaluate):
1601 (WebCore::WorkerScriptController::forbidExecution):
1602 * bindings/objc/WebScriptObject.mm:
1603 (-[WebScriptObject callWebScriptMethod:withArguments:]):
1604 (-[WebScriptObject evaluateWebScript:]):
1605 * bridge/NP_jsobject.cpp:
1606 (_NPN_InvokeDefault):
1610 * bridge/jni/jni_jsobject.mm:
1611 (JavaJSObject::call):
1612 (JavaJSObject::eval):
1614 2009-02-21 Hironori Bono <hbono@chromium.org>
1616 Reviewed by Alexey Proskuryakov.
1618 https://bugs.webkit.org/show_bug.cgi?id=23786
1619 [Chromium] line-break characters in a complex text are treated as zero-width spaces
1621 This change prevents the UniscribeHelper class from treating the line-break characters
1624 Tests: fast/text/international/bidi-linebreak-001.html
1625 fast/text/international/bidi-linebreak-002.html
1626 fast/text/international/bidi-linebreak-003.html
1628 * platform/graphics/chromium/UniscribeHelper.cpp:
1629 (WebCore::UniscribeHelper::adjustSpaceAdvances):
1630 Make the UniscribeHelper::adjustSpaceAdvances() function treat all characters in
1631 the treatAsSpace() function (e.g. U+0020, U+000A, U+000D, U+00A0) as whitespaces,
1632 so does when Chromium renders a simple text.
1634 2009-02-20 Julien Chaffraix <jchaffraix@webkit.org>
1636 Reviewed by Alexey Proskuryakov.
1638 Bug 23940: Use Document::createElement(const QualifiedName&, bool) when creating a known element inside WebCore
1640 Document::createElement(const QualifiedName&, bool) does not check for the prefix as opposed the the one taking an AtomicString
1641 or Document::createElementNS. This is perfectly fine internally because we know the type of element created and the check is
1644 It also removes the use of an ExceptionCode argument which was here only to check that the prefix check was fine. Finally it
1645 enables us to use some generated QualifiedName.
1647 * bindings/js/JSOptionConstructor.cpp:
1648 (WebCore::constructHTMLOptionElement):
1650 (WebCore::Document::setTitle):
1651 * dom/XMLTokenizer.cpp:
1652 (WebCore::createXHTMLParserErrorHeader):
1653 (WebCore::XMLTokenizer::insertErrorMessageBlock):
1654 * editing/CompositeEditCommand.cpp:
1655 (WebCore::createBlockPlaceholderElement):
1656 * editing/htmlediting.cpp:
1657 (WebCore::createTabSpanElement):
1658 * html/HTMLSelectElement.cpp:
1659 (WebCore::HTMLSelectElement::setLength):
1660 * loader/FTPDirectoryDocument.cpp:
1661 (WebCore::FTPDirectoryTokenizer::appendEntry):
1662 (WebCore::FTPDirectoryTokenizer::createTDForFilename):
1663 (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
1664 (WebCore::FTPDirectoryTokenizer::createBasicDocument):
1665 * loader/ImageDocument.cpp:
1666 (WebCore::ImageDocument::createDocumentStructure):
1667 * loader/MediaDocument.cpp:
1668 (WebCore::MediaTokenizer::createDocumentStructure):
1669 * loader/PluginDocument.cpp:
1670 (WebCore::PluginTokenizer::createDocumentStructure):
1671 * loader/TextDocument.cpp:
1672 (WebCore::TextTokenizer::write):
1674 (WebCore::Frame::selectionComputedStyle):
1675 (WebCore::Frame::styleForSelectionStart):
1676 Document::createElement(const AtomicString&, ...) to Document::createElement(const QualifiedName&, ...) switch.
1678 * xml/XPathFunctions.cpp:
1679 (WebCore::XPath::FunLang::evaluate): Re-use langAttr instead of creating a new attribute.
1680 * page/DragController.cpp:
1681 (WebCore::documentFragmentFromDragData): Use the HTMLAnchorElement directly to get rid of the static cast.
1683 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
1685 Reviewed by Eric Seidel.
1687 https://bugs.webkit.org/show_bug.cgi?id=24060
1688 Fix up to accommodate for CanvasPixelArray return.
1690 * platform/graphics/skia/ImageBufferSkia.cpp:
1691 (WebCore::ImageBuffer::getImageData): Added an extra data() to call.
1692 (WebCore::ImageBuffer::putImageData): Ditto.
1694 2009-02-20 Eric Carlson <eric.carlson@apple.com>
1698 https://bugs.webkit.org/show_bug.cgi?id=24042
1699 Bug 24042: MediaPlayer should cache plug-in proxy
1701 The changes in https://bugs.webkit.org/show_bug.cgi?id=23917 assume that
1702 MediaPlayer will always have created the private media player object before
1703 the plug-in is instantiated and calls back with the proxy object. This is not
1704 true on all platforms because of threading latency, so MediaPlayer should
1705 cache the plug-in proxy so it can pass it to the media engine at a later time.
1707 * platform/graphics/MediaPlayer.cpp:
1708 (WebCore::NullMediaPlayerPrivate::setPoster): Null media engine implementation of proxy methods.
1709 (WebCore::NullMediaPlayerPrivate::deliverNotification): Ditto.
1710 (WebCore::NullMediaPlayerPrivate::setMediaPlayerProxy): Ditto.
1711 (WebCore::MediaPlayer::MediaPlayer): Initialize m_playerProxy.
1712 (WebCore::MediaPlayer::load): Pass m_playerProxy to newly created engine.
1713 (WebCore::MediaPlayer::setMediaPlayerProxy): Cache m_playerProxy.
1714 * platform/graphics/MediaPlayer.h: Declare m_playerProxy.
1716 2009-02-20 Eric Carlson <eric.carlson@apple.com>
1720 https://bugs.webkit.org/show_bug.cgi?id=24063
1721 Make it possible for a port to require a user gesture to play/pause an <audio> or <video> element
1723 * html/HTMLMediaElement.cpp:
1724 (WebCore::HTMLMediaElement::HTMLMediaElement): Rename m_loadRestrictions to m_Restrictions.
1725 Initialize m_internalCall.
1726 (WebCore::HTMLMediaElement::loadTimerFired): Increment m_internalCall around call to load().
1727 (WebCore::HTMLMediaElement::load): Call loadInternal if restrictions check out.
1728 (WebCore::HTMLMediaElement::loadInternal): New, guts of old load()
1729 (WebCore::HTMLMediaElement::setNetworkState): Fix bug introduced in r40943
1730 (WebCore::HTMLMediaElement::play): Call playInternal if restrictions check out.
1731 (WebCore::HTMLMediaElement::playInternal): New, guts of old play()
1732 (WebCore::HTMLMediaElement::pause): Call pauseInternal if restrictions check out.
1733 (WebCore::HTMLMediaElement::pauseInternal): New, guts of old pause()
1734 (WebCore::HTMLMediaElement::togglePlayState): Call playInternal/pauseInternal
1735 (WebCore::HTMLMediaElement::deliverNotification): Remove unnecessary white space.
1736 * html/HTMLMediaElement.h: Rename m_loadRestrictions to m_Restrictions, add m_internalCall,
1737 add RequireUserGestureRateChangeRestriction.
1739 2009-02-20 Darin Fisher <darin@chromium.org>
1741 Fix build bustage in FileSystemWin.cpp.
1743 Need to return CString() instead of 0 since there are now two CString
1744 constructors that take a pointer type.
1746 * platform/win/FileSystemWin.cpp:
1747 (WebCore::openTemporaryFile):
1749 2009-02-20 Dimitri Glazkov <dglazkov@chromium.org>
1751 Reviewed by Sam Weinig.
1753 https://bugs.webkit.org/show_bug.cgi?id=23999
1754 Change license headers to accurately reflect code history.
1756 * platform/ContentType.cpp:
1757 * platform/ContentType.h:
1759 2009-02-18 Dimitri Glazkov <dglazkov@chromium.org>
1761 Reviewed by Antti Koivisto.
1763 https://bugs.webkit.org/show_bug.cgi?id=23999
1764 Split off MIME type parsing into its own class.
1766 * GNUmakefile.am: Added ContentType sources.
1767 * WebCore.pro: Ditto.
1768 * WebCore.scons: Ditto.
1769 * WebCore.vcproj/WebCore.vcproj: Ditto.
1770 * WebCore.xcodeproj/project.pbxproj: Ditto.
1771 * WebCoreSources.bkl: Ditto.
1772 * html/HTMLMediaElement.cpp: Changed to use ContentType.
1773 (WebCore::HTMLMediaElement::selectMediaURL):
1774 * platform/ContentType.cpp: Added.
1775 (WebCore::ContentType::ContentType):
1776 (WebCore::ContentType::parameter):
1777 (WebCore::ContentType::type):
1778 * platform/ContentType.h: Added.
1779 (WebCore::ContentType::raw):
1780 * platform/MIMETypeRegistry.cpp:
1781 * platform/MIMETypeRegistry.h:
1782 * platform/graphics/MediaPlayer.cpp:
1783 (WebCore::MediaPlayer::load):
1784 * rendering/style/ContentData.h: Renamed ContentType to StyleContentType.
1785 * rendering/style/RenderStyleConstants.h: Ditto.
1788 2009-02-20 Holger Hans Peter Freyther <zecke@selfish.org>
1790 Unreviewed build fix.
1792 Use CString() instead of 0.
1794 * platform/gtk/FileSystemGtk.cpp:
1795 (WebCore::openTemporaryFile):
1796 * platform/qt/FileSystemQt.cpp:
1797 (WebCore::openTemporaryFile):
1799 2009-02-20 Gustavo Noronha Silva <gns@gnome.org>
1801 Reviewed by Holger Freyther.
1803 When dealing with local files, use a path instead of an URI. GFile
1804 has problems decoding URIs with percent signs on them.
1806 * platform/network/soup/ResourceHandleSoup.cpp:
1807 (WebCore::ResourceHandle::startGio):
1809 2009-02-20 Gustavo Noronha Silva <gns@gnome.org>
1811 Reviewed by Holger Freyther.
1813 Protect the ResourceHandle instance from being destroyed by
1814 didReceiveData inside the GIO readCallback call, so that
1815 cancelling caused by scripts is handled correctly.
1817 * platform/network/soup/ResourceHandleSoup.cpp:
1818 (WebCore::readCallback):
1820 2009-02-20 David Kilzer <ddkilzer@apple.com>
1822 Make IconDatabaseNone.cpp compile with -Wunused and pass check-for-exit-time-destructors
1824 Reviewed by Sam Weinig.
1826 * loader/icon/IconDatabaseNone.cpp:
1827 (WebCore::IconDatabase::defaultDatabaseFilename): Use DEFINE_STATIC_LOCAL().
1828 (WebCore::IconDatabase::open): Commented out unused parameter.
1829 (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto.
1830 (WebCore::IconDatabase::iconForPageURL): Ditto.
1831 (WebCore::IconDatabase::iconURLForPageURL): Ditto.
1832 (WebCore::IconDatabase::defaultIcon): Ditto.
1833 (WebCore::IconDatabase::retainIconForPageURL): Ditto.
1834 (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
1835 (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
1836 (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
1837 (WebCore::IconDatabase::setEnabled): Ditto.
1838 (WebCore::IconDatabase::pageURLMappingCount): Added stub.
1839 (WebCore::IconDatabase::retainedPageURLCount): Ditto.
1840 (WebCore::IconDatabase::iconRecordCount): Ditto.
1841 (WebCore::IconDatabase::iconRecordCountWithData): Ditto.
1843 2009-02-20 David Kilzer <ddkilzer@apple.com>
1845 Add comment to generated code when shadowing a built-in object
1847 Reviewed by Sam Weinig.
1849 * bindings/scripts/CodeGeneratorJS.pm: Added comment to
1850 generated code output.
1852 2009-02-20 Avi Drissman <avi@chromium.org>
1854 Reviewed by Eric Seidel.
1856 https://bugs.webkit.org/show_bug.cgi?id=24036
1857 Keyboard events need disambiguation on the Linux platform too.
1859 * platform/chromium/PlatformKeyboardEventChromium.cpp:
1860 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
1862 2009-02-19 Darin Fisher <darin@chromium.org>
1864 Reviewed by Eric Seidel.
1866 https://bugs.webkit.org/show_bug.cgi?id=24046
1868 Several improvements to CString:
1869 1- Make it possible to initialize a CString from a CStringBuffer
1870 2- Make it possible to get a CStringBuffer from a CString
1871 3- Change CStringBuffer::data() to return a const pointer to ward off mutation
1872 4- Remove unused releaseBuffer() methods.
1873 5- Make CStringBuffer::create() private to force consumers to get a CStringBuffer from a CString.
1875 * platform/text/CString.cpp:
1876 (WebCore::CString::init):
1877 (WebCore::CString::mutableData):
1878 (WebCore::CString::newUninitialized):
1879 (WebCore::CString::copyBufferIfNeeded):
1880 * platform/text/CString.h:
1881 (WebCore::CStringBuffer::data):
1882 (WebCore::CStringBuffer::length):
1883 (WebCore::CStringBuffer::create):
1884 (WebCore::CStringBuffer::mutableData):
1885 (WebCore::CString::CString):
1886 (WebCore::CString::buffer):
1888 2009-02-19 Dmitry Titov <dimich@chromium.org>
1890 Reviewed by Alexey Proskuryakov.
1892 https://bugs.webkit.org/show_bug.cgi?id=24017
1893 Remove some usage of Document in Worker.
1895 * dom/WorkerContext.h:
1896 (WebCore::WorkerContext::userAgent):
1898 (WebCore::Document::userAgent):
1900 * dom/ScriptExecutionContext.h:
1901 Added virtual ScriptExecutionContext::userAgent(const KURL&).
1902 Document implementation uses FrameLoader::userAgent and
1903 WorkerContext receives the string on creation and stores it in a member.
1906 (WebCore::Worker::Worker):
1907 (WebCore::Worker::notifyFinished):
1909 (WebCore::Worker::create):
1910 Instead of Document the Worker constructor now gets a ScriptExecutionContext.
1911 Start using some methods on SEC (like completeURL() and userAgent()).
1912 For others, explicitly case to Document and add a FIXME.
1913 Remove Worker::document() too.
1915 2009-02-20 Gustavo Noronha Silva <gns@gnome.org>
1917 Rubber-stamped by Holger Freyther.
1919 Do not set httpStatus to SOUP_STATUS_OK when serving local files
1920 to match other ports' behavior, fixing xmlhttprequest test
1923 * platform/network/soup/ResourceHandleSoup.cpp:
1924 (WebCore::queryInfoCallback):
1926 2009-02-19 Dan Bernstein <mitz@apple.com>
1928 Reviewed by Sam Weinig.
1930 - WebCore part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027
1931 Do not send loader callbacks during CSS styling
1933 Undo the iChat-specific quirk added in
1934 <http://trac.webkit.org/changeset/41071>. Instead, always suspend memory
1935 cache client callbacks during attach() and recalcStyle().
1937 * WebCore.base.exp: Removed
1938 Settings::setNeedsIChatMemoryCacheCallsQuirk().
1939 * dom/ContainerNode.cpp:
1940 (WebCore::ContainerNode::suspendPostAttachCallbacks): Disable memory
1941 cache client callbacks and remember to enable them afterwards if needed.
1942 (WebCore::ContainerNode::resumePostAttachCallbacks): Re-enable memory
1943 cache client callbacks if they were disabled in
1944 suspendPostAttachCallbacks().
1945 (WebCore::ContainerNode::attach): Use suspendPostAttachCallbacks() and
1946 resumePostAttachCallbacks().
1947 * dom/ContainerNode.h: Made suspendPostAttachCallbacks()
1948 and resumePostAttachCallbacks() non-static.
1950 (WebCore::Document::dispatchImageLoadEventsNow): Reverted iChat-specific
1952 * page/Settings.cpp: Removed m_needsIChatMemoryCacheCallsQuirk and
1954 (WebCore::Settings::Settings):
1957 2009-02-19 Holger Hans Peter Freyther <zecke@selfish.org>
1959 Unreviewed build fix.
1961 Build fix after r41092. Make the memoryUsage method
1962 public. It will be shadowed by cf/mac and for curl/soup/qt
1963 the implementation from ResourceResponseBase will be used.
1965 * platform/network/ResourceResponseBase.h:
1966 (WebCore::ResourceResponseBase::memoryUsage):
1968 2009-02-19 Beth Dakin <bdakin@apple.com>
1970 Reviewed by Dave Hyatt.
1972 Fix for <rdar://problem/6077775> Should be able to specify
1973 inactive ::selection color
1975 This patch makes the ::selction pseudo-element work with
1976 the :window-inactive pseudo type. This was, a user can specify a
1977 different ::selection style when a window is inactive.
1979 * css/CSSStyleSelector.cpp:
1980 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
1981 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1982 * rendering/RenderObject.cpp:
1983 (WebCore::RenderObject::selectionBackgroundColor):
1984 (WebCore::RenderObject::selectionForegroundColor):
1986 2009-02-19 Sam Weinig <sam@webkit.org>
1988 Reviewed by Beth Dakin.
1990 Patch for https://bugs.webkit.org/show_bug.cgi?id=24044
1991 Update querySelector/querySelectorAll to match the latest spec
1993 Update querySelector and querySelectorAll to match the latest version
1994 of the Selectors API spec. We now stringify null and undefined to "null"
1995 and "undefined" respectively instead of to "".
1997 Test: fast/dom/SelectorAPI/undefined-null-stringify.html
2000 * dom/DocumentFragment.idl:
2003 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
2005 Reviewed by Geoffrey Garen.
2007 https://bugs.webkit.org/show_bug.cgi?id=23732
2008 Rework CachedResource overhead accounting to allow platforms to diverge
2011 * loader/CachedResource.cpp:
2012 (WebCore::CachedResource::overheadSize): Changed to ask ResourceResponse
2013 for its size and to use actual URL size.
2014 * platform/network/ResourceResponseBase.h:
2015 (WebCore::ResourceResponseBase::size): Added default size method.
2016 * platform/network/cf/ResourceResponse.h:
2017 (WebCore::ResourceResponse::size): Added Win/CF size method
2018 * platform/network/mac/ResourceResponse.h:
2019 (WebCore::ResourceResponse::size): Added Mac size method.
2021 2009-02-19 Anders Carlsson <andersca@apple.com>
2023 Reviewed by Kevin Decker.
2025 - Fix for <rdar://problem/6604968>
2027 On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
2028 after the call to -[NSView displayRectIgnoringOpacity:inContext:].
2030 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2031 (WebCore::MediaPlayerPrivate::paint):
2033 2009-02-19 David Hyatt <hyatt@apple.com>
2035 Fix a bug where reflections didn't work properly if opacity was < 1. Make sure that replaced elements
2036 also consider reflections to be part of their visual overflow. This had already been done for blocks
2037 and lines, but it wasn't being done yet for replaced elements.
2039 Also make sure that when the object being reflected has opacity < 1 that we don't end up popping the outer
2040 transparency layer early. Since the reflected object paints twice, we don't want to end the transparency
2041 layer it pushed until we're done painting the real object (rather than the reflection).
2043 Reviewed by Dan Bernstein
2045 Added fast/reflections/reflection-masks-opacity.html
2047 * rendering/RenderLayer.cpp:
2048 (WebCore::RenderLayer::paintLayer):
2049 * rendering/RenderPartObject.cpp:
2050 (WebCore::RenderPartObject::layout):
2051 * rendering/RenderReplaced.cpp:
2052 (WebCore::RenderReplaced::layout):
2053 (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect):
2054 * rendering/RenderReplaced.h:
2056 2009-02-19 David Levin <levin@chromium.org>
2058 Reviewed by Alexey Proskuryakov.
2060 Bug 23980: WorkerRunLoop needs a way to run in a given mode similar to CFRunLoopInMode.
2061 <https://bugs.webkit.org/show_bug.cgi?id=23980>
2063 WorkerRunLoop has the ability to run in a mode which filters the tasks to be run.
2064 * When WorkerRunLoop::runInMode is called, only task for that mode will run.
2065 * When WorkerRunLoop::run is called (or the default mode is used), then all tasks
2066 will run regardless of their posted mode.
2068 Here's a demonstration of the api:
2070 RefPtr<NameResolution> nameResolution = NameResolution::create(workerRunLoop);
2072 // Internally nameResolution will do workerRunLoop.postTaskForMode(task, "MyCoolMode")
2073 // for any tasks that need to be run during this loop.
2074 nameResolution->setTaskMode("MyCoolMode");
2076 nameResolution->start();
2077 while (!nameResolution->done()) {
2078 // Only tasks which are posted for "MyCoolMode" will run.
2079 workerRunLoop.runInMode(context, "MyCoolMode");
2082 No observable change in behavior, so no test.
2084 * dom/WorkerRunLoop.cpp:
2085 (WebCore::ModePredicate::ModePredicate):
2086 (WebCore::ModePredicate::operator()):
2087 (WebCore::WorkerRunLoop::WorkerRunLoop):
2088 (WebCore::WorkerRunLoop::~WorkerRunLoop):
2089 (WebCore::WorkerRunLoop::setSharedTimer):
2090 (WebCore::WorkerRunLoop::resetSharedTimer):
2091 (WebCore::WorkerRunLoop::run):
2092 (WebCore::WorkerRunLoop::runInMode):
2093 (WebCore::WorkerRunLoop::postTask):
2094 (WebCore::WorkerRunLoop::postTaskForMode):
2095 * dom/WorkerRunLoop.h:
2096 (WebCore::WorkerRunLoop::Task::create):
2097 (WebCore::WorkerRunLoop::Task::mode):
2098 (WebCore::WorkerRunLoop::Task::performTask):
2099 (WebCore::WorkerRunLoop::Task::Task):
2101 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
2103 Reviewed by Eric Seidel.
2105 https://bugs.webkit.org/show_bug.cgi?id=24034
2106 Fix up Selection->VisibleSelection change.
2108 * page/chromium/EventHandlerChromium.cpp:
2109 (WebCore::EventHandler::passMousePressEventToSubframe): Renamed Selection
2110 to VisibleSelection.
2112 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
2114 Reviewed by Eric Seidel.
2116 https://bugs.webkit.org/show_bug.cgi?id=24041
2117 Correct Skia type conversion issues, fix Chromium Linux build.
2119 * platform/graphics/chromium/FontLinux.cpp:
2120 (WebCore::Font::drawGlyphs): changed parameters to RGBA32, not WebCore::Color.
2122 2009-02-19 Jungshik Shin <jshin@chromium.org>
2124 Reviewed by Eric Seidel.
2126 https://bugs.webkit.org/show_bug.cgi?id=20531
2127 Chromium-part follow-up to the patch landed in r40636
2129 Remove a static member function alternateFamilyName
2130 from Chromium's Win/Linux ports of FontCache. In r40636,
2131 alternateFamilyName was customized using #ifdef PLATFORM(WIN_OS).
2132 So, there's no more need for the static member function per
2135 * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2136 * platform/graphics/chromium/FontCacheLinux.cpp:
2138 2009-02-19 Simon Fraser <simon.fraser@apple.com>
2140 Reviewed by Adele Peterson.
2142 Call documentWillBecomeInactive() from Document::detach to ensure that
2143 media elements are shut down, because they may be kept alive by references
2144 from JS past document teardown.
2146 documentWillBecomeInactive() calls renderView()->willMoveOffscreen(), so no
2147 need to do that in detach() as well.
2149 We no longer need to call documentWillBecomeInactive() from ~Page() (which
2150 was added for <https://bugs.webkit.org/show_bug.cgi?id=21116>), since this
2151 supersedes that change.
2154 (WebCore::Document::detach):
2156 (WebCore::Page::~Page):
2158 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
2160 Reviewed by Eric Seidel.
2162 https://bugs.webkit.org/show_bug.cgi?id=24028
2163 Fix up Skia path changes.
2165 * platform/graphics/skia/GraphicsContextSkia.cpp:
2166 (WebCore::GraphicsContext::strokePath): Removed illegal indirection.
2167 * platform/graphics/skia/PathSkia.cpp:
2168 (WebCore::boundingBoxForCurrentStroke): Changed call name.
2170 2009-02-19 Gustavo Noronha Silva <gns@gnome.org>
2172 Reviewed by Alexey Proskuryakov.
2174 Ignore ports on local URLs. This fixes a regression in
2175 fast/loader/file-URL-with-port-number.html
2177 * platform/network/soup/ResourceHandleSoup.cpp:
2178 (WebCore::ResourceHandle::startGio):
2180 2009-02-19 Gustavo Noronha Silva <gns@gnome.org>
2182 Reviewed by Alexey Proskuryakov.
2184 https://bugs.webkit.org/show_bug.cgi?id=24011
2185 KURL's setPort doesn't unset port if 0 is given
2187 Make setPort remove port if 0 is given to it, as promised by the
2188 comment in KURL's header.
2190 * platform/KURL.cpp:
2191 (WebCore::KURL::setPort):
2193 2009-02-18 Dan Bernstein <mitz@apple.com>
2195 Reviewed by Brady Eidson.
2197 - WebCore part of fixing <rdar://problem/6507512> Crash in iChat at CSSStyleSelector::adjustRenderStyle
2199 The crash results from re-entry into
2200 CSSMutableStyleDeclaration::setCssText, which in turn is caused by
2201 the first style change causing a cached image to load from the memory
2202 cache, causing load delegate dispatch, and iChat's delegate method
2203 calling back into WebKit.
2205 The workaround is to use defer delegate callbacks for memory cache. In
2206 this case, deferring callbacks during image load event dispatch was
2207 found to be sufficient.
2209 The crash is a regression. See also the discussion in
2210 <https://bugs.webkit.org/show_bug.cgi?id=22521>.
2212 * WebCore.base.exp: Added
2213 Settings::setNeedsIChatMemoryCacheCallsQuirk().
2215 (WebCore::Document::dispatchImageLoadEventsNow): If the quirk is
2216 enabled, defer memory cache callbacks during image load event dispatch.
2217 * page/Settings.cpp:
2218 (WebCore::Settings::Settings): Initialize
2219 m_needsIChatMemoryCacheCallsQuirk.
2220 (WebCore::Settings::setNeedsIChatMemoryCacheCallsQuirk): Added this
2223 (WebCore::Settings::needsIChatMemoryCacheCallsQuirk): Added this getter.
2225 2009-02-18 Adam Roben <aroben@apple.com>
2227 Export WebCore::handCursor and Cursor.h
2229 Reviewed by John Sullivan.
2231 * WebCore.base.exp: Added WebCore::handCursor.
2232 * WebCore.xcodeproj/project.pbxproj: Made Cursor.h private.
2234 2009-02-18 Ojan Vafai <ojan@chromium.org>
2236 Reviewed by Alexey Proskuryakov.
2238 https://bugs.webkit.org/show_bug.cgi?id=23992
2239 REGRESSION: crash on windows loading http://www.stickam.com/liveStreams.do
2241 Unable to reduce to a layout test.
2244 (WebCore::Frame::contentRenderer):
2246 2009-02-18 Evan Stade <estade@chromium.org>
2248 Reviewed by Eric Seidel.
2250 https://bugs.webkit.org/show_bug.cgi?id=23861
2251 Stroke font outlines on chromium linux
2253 TEST=LayoutTests/svg/custom/pointer-events-text.svg
2255 * platform/graphics/chromium/FontLinux.cpp:
2256 (WebCore::Font::drawGlyphs):
2258 2009-02-18 Evan Stade <estade@chromium.org>
2260 Reviewed by Eric Seidel.
2262 https://bugs.webkit.org/show_bug.cgi?id=23860
2263 Resync some graphics/skia files with their chromium counterparts
2265 This comes from chromium patches <http://codereview.chromium.org/17633>
2266 and <http://codereview.chromium.org/17454>
2268 * platform/graphics/skia/GraphicsContextSkia.cpp:
2269 (WebCore::GraphicsContext::clipPath):
2270 (WebCore::GraphicsContext::fillPath):
2271 * platform/graphics/skia/PlatformContextSkia.cpp:
2272 (PlatformContextSkia::addPath):
2273 (PlatformContextSkia::currentPath):
2274 * platform/graphics/skia/PlatformContextSkia.h:
2276 2009-02-18 Gustavo Noronha Silva <gns@gnome.org>
2280 Build fix after r41060.
2284 2009-02-18 Dimitri Glazkov <dglazkov@chromium.org>
2286 Reviewed by Eric Seidel.
2288 https://bugs.webkit.org/show_bug.cgi?id=24005
2289 Add an include to fix Chromium build.
2291 * page/animation/AnimationController.cpp: Add UnusedParam.h include.
2293 2009-02-18 Gustavo Noronha Silva <gns@gnome.org>
2295 Reviewed by Holger Freyther.
2297 Fix symbols.filter location, and add other missing files to the
2298 autotools build, so that make dist works.
2302 2009-02-18 Zan Dobersek <zandobersek@gmail.com>
2304 Rubber-stamped by Holger Hans Peter Freyther.
2306 Allow POST method for local requests.
2308 * platform/network/soup/ResourceHandleSoup.cpp:
2309 (WebCore::ResourceHandle::startGio):
2311 2009-02-18 Gustavo Noronha Silva <gns@gnome.org>
2313 Reviewed by Holger Hans Peter Freyther.
2315 Use KURL in startGio instead of passing a string with the URL, so
2316 that we can handle removing refs and queries more elegantly. This
2317 is fixing more regressions that came from the curl->soup switch.
2319 Original work by Zan Dobersek.
2321 * platform/network/ResourceHandle.h:
2322 * platform/network/soup/ResourceHandleSoup.cpp:
2323 (WebCore::ResourceHandle::start):
2324 (WebCore::ResourceHandle::startGio):
2326 2009-02-18 Holger Hans Peter Freyther <zecke@selfish.org>
2328 Reviewed by Alexey Proskuryakov.
2330 Implement ResourceHandle::loadResourceSynchronously in ResourceHandleSoup.cpp
2332 The implementation is needed to have synchronous loading, e.g. for
2333 JavaScript interaction. This is fixing various regressions that
2334 came from the curl->soup switch.
2336 * platform/network/soup/ResourceHandleSoup.cpp:
2337 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
2338 (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
2339 (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
2340 (WebCore::WebCoreSynchronousLoader::didReceiveData):
2341 (WebCore::WebCoreSynchronousLoader::didFinishLoading):
2342 (WebCore::WebCoreSynchronousLoader::didFail):
2343 (WebCore::WebCoreSynchronousLoader::run):
2344 (WebCore::ResourceHandle::loadResourceSynchronously):
2346 2009-02-18 Xan Lopez <xan@gnome.org>
2348 Reviewed by Mark Rowe.
2350 https://bugs.webkit.org/show_bug.cgi?id=23989
2352 Based on a patch by Bo Yang <techrazy.yang@gmail.com>
2354 Make the cursor cache global, that's all we really need and
2355 otherwise we can miss cursor transitions in some situations (see
2356 the bug for one testcase). Also remove some now useless code.
2358 * platform/Widget.h:
2359 * platform/gtk/WidgetGtk.cpp:
2360 (WebCore::Widget::Widget):
2361 (WebCore::Widget::~Widget):
2362 (WebCore::Widget::setCursor):
2364 2009-02-17 Adam Roben <aroben@apple.com>
2368 * loader/FrameLoader.cpp:
2369 (WebCore::toPlugInElement): Don't rely on #if being processed before
2372 2009-02-17 David Levin <levin@chromium.org>
2374 Reviewed by Alexey Proskuryakov.
2376 Bug 23977: Unnecessary timer related headers in files.
2377 <https://bugs.webkit.org/show_bug.cgi?id=23977>
2379 No observable change in behavior, so no test.
2382 * dom/WorkerRunLoop.cpp:
2383 * dom/WorkerRunLoop.h:
2385 2009-02-17 Peter Abrahamsen <rainhead@gmail.com>
2387 Reviewed by Sam Weinig.
2389 https://bugs.webkit.org/show_bug.cgi?id=23958
2390 <rdar://problem/6587815>
2392 Updated XMLHttpRequest with new header names from the latest Access
2393 Control draft: http://www.w3.org/TR/access-control/
2394 - Access-Control-Origin becomes Access-Control-Allow-Origin
2395 - Access-Control-Credentials becomes Access-Control-Allow-Credentials
2397 * xml/XMLHttpRequest.cpp:
2398 (WebCore::XMLHttpRequest::accessControlCheck):
2400 2009-02-17 Kevin Ollivier <kevino@theolliviers.com>
2402 wx build fix. Add missing constructor used for empty values.
2404 * platform/graphics/wx/FontPlatformData.h:
2405 (WebCore::FontPlatformData::FontPlatformData):
2407 2009-02-17 Antti Koivisto <antti@apple.com>
2409 Reviewed by Dave Kilzer.
2411 <rdar://problem/6592446> dynamically updating page doesn't seem to draw when updated
2413 Need update after callback.
2415 * bindings/js/JSCustomPositionCallback.cpp:
2416 (WebCore::JSCustomPositionCallback::handleEvent):
2417 * bindings/js/JSCustomPositionErrorCallback.cpp:
2418 (WebCore::JSCustomPositionErrorCallback::handleEvent):
2420 2009-02-17 Eric Carlson <eric.carlson@apple.com>
2422 Reviewed by Antti Koivisto.
2424 https://bugs.webkit.org/show_bug.cgi?id=23917
2425 Allow a WebKit plug-in to act as a proxy for the <audio> and <video>
2428 * DerivedSources.make: add media element proxy exports to .exp file when feature is defined.
2430 * WebCore.VideoProxy.exp: New, define the informal protocol exported by a media element proxy.
2432 * WebCore.xcodeproj/project.pbxproj: Add MediaPlayerProxy.h.
2434 * html/HTMLMediaElement.cpp:
2435 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_needWidgetUpdate.
2436 (WebCore::HTMLMediaElement::attributeChanged): Don't detach+attach when PLUGIN_PROXY_FOR_VIDEO, the
2437 proxy plug-in handles the poster frame.
2438 (WebCore::HTMLMediaElement::rendererIsNeeded): New logic for PLUGIN_PROXY_FOR_VIDEO.
2439 (WebCore::HTMLMediaElement::createRenderer): Create RenderPartObject when PLUGIN_PROXY_FOR_VIDEO.
2440 (WebCore::HTMLMediaElement::attach): Set m_needWidgetUpdate when PLUGIN_PROXY_FOR_VIDEO
2441 (WebCore::HTMLMediaElement::load): Don't reallocate MediaPlayer when PLUGIN_PROXY_FOR_VIDEO, we keep the
2442 same plug-in for the life of the element.
2443 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): update m_networkState when media player
2444 network state changes to EMPTY, otherwise we can get out of sync with engine.
2445 (WebCore::HTMLMediaElement::defaultEventHandler): pass event to widget when PLUGIN_PROXY_FOR_VIDEO
2446 (WebCore::HTMLMediaElement::deliverNotification): New, deliver notification from proxy plug-in to
2448 (WebCore::HTMLMediaElement::setMediaPlayerProxy): New, pass proxy object to media player.
2449 (WebCore::HTMLMediaElement::initialURL): New, return the url from the "src" attr or the appropriate
2450 <source> element to be used as the initial url for the proxy.
2451 (WebCore::HTMLMediaElement::finishParsingChildren): New, allocate MediaPlayer and update widget.
2452 * html/HTMLMediaElement.h: Declare new methods for proxy, add m_needWidgetUpdate.
2453 (WebCore::HTMLMediaElement::setNeedWidgetUpdate):
2455 * html/HTMLVideoElement.cpp:
2456 (WebCore::HTMLVideoElement::attach): Poster image is handled by proxy when PLUGIN_PROXY_FOR_VIDEO.
2457 (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
2458 * html/HTMLVideoElement.h:
2460 * loader/FrameLoader.cpp:
2461 (WebCore::toPlugInElement): Allow cast if element is <video> or <audio>
2463 * platform/graphics/MediaPlayer.cpp:
2464 (WebCore::MediaPlayer::MediaPlayer): Remove white space.
2465 (WebCore::MediaPlayer::setPoster): New, forward call to private player.
2466 (WebCore::MediaPlayer::deliverNotification): Ditto.
2467 (WebCore::MediaPlayer::setMediaPlayerProxy): Ditto.
2468 * platform/graphics/MediaPlayer.h:
2469 (WebCore::MediaPlayer::mediaPlayerClient):
2471 * platform/graphics/mac/MediaPlayerProxy.h: New, defines media player proxy interface.
2473 * rendering/RenderPart.cpp:
2474 (WebCore::RenderPart::RenderPart): Change constructor to take Element* instead of Node* as a
2475 non-element node doesn't need a renderer
2476 * rendering/RenderPart.h: Ditto.
2478 * rendering/RenderPartObject.cpp:
2479 (WebCore::RenderPartObject::RenderPartObject): Ditto.
2480 (WebCore::RenderPartObject::updateWidget): Package params for proxy plug-in when element is
2482 * rendering/RenderPartObject.h:
2484 2009-02-17 David Hyatt <hyatt@apple.com>
2486 Reviewed by Eric Seidel
2488 Fix for https://bugs.webkit.org/show_bug.cgi?id=23985
2490 Don't allow legends to be anything but display:block.
2492 Added fast/forms/inline-ignored-on-legend.html
2496 * WebCore.vcproj/WebCore.vcproj:
2497 * WebCore.xcodeproj/project.pbxproj:
2498 * WebCoreSources.bkl:
2500 * html/HTMLLegendElement.cpp:
2501 * html/HTMLLegendElement.h:
2502 * rendering/RenderLegend.cpp: Removed.
2503 * rendering/RenderLegend.h: Removed.
2504 * wml/WMLInsertedLegendElement.cpp:
2505 * wml/WMLInsertedLegendElement.h:
2507 2009-02-13 Brett Wilson <brettw@dhcp-172-22-71-167.mtv.corp.google.com>
2509 Reviewed by Simon Fraser.
2511 https://bugs.webkit.org/attachment.cgi?id=27666
2512 Fix Chromium build build: forgotten include in RenderObject, sync
2513 RenderTheme to the recent changes in RenderObject.
2515 * rendering/RenderObject.cpp:
2516 * rendering/RenderThemeChromiumMac.mm:
2517 (WebCore::RenderThemeChromiumMac::updatePressedState):
2519 2009-02-17 Gustavo Noronha Silva <gns@gnome.org>
2521 Reviewed by Darin Adler.
2523 https://bugs.webkit.org/show_bug.cgi?id=22966
2524 crash when destroying a webview that opened a page containing <script>
2527 Fix m_group being set to 0 instead of to m_singlePageGroup when
2528 GroupName is set to empty
2531 (WebCore::Page::setGroupName):
2533 2009-02-16 Beth Dakin <bdakin@apple.com>
2535 Reviewed by Sam Weinig.
2537 Fix for <rdar://problem/6386623>
2539 I made m_numParsedProperties and m_maxParsedProperties unsigned
2540 instead of int, and then added an early return from addPropery() if
2541 m_maxParsedProperties exceeds the max value.
2543 * css/CSSParser.cpp:
2544 (WebCore::CSSParser::addProperty):
2545 (WebCore::CSSParser::rollbackLastProperties):
2546 (WebCore::CSSParser::clearProperties):
2547 (WebCore::CSSParser::createFontFaceRule):
2548 (WebCore::CSSParser::deleteFontFaceOnlyValues):
2551 2009-02-16 Justin Garcia <justin.garcia@apple.com>
2553 Reviewed by Mark Rowe.
2555 https://bugs.webkit.org/show_bug.cgi?id=16309
2556 HTML5: The third execCommand argument for insert{un}orderedlist should be ignored
2558 When we originally implemented this command, MSDN documentation said that IE set the
2559 id attribute of inserted lists to the third argument to execCommand, but IE doesn't
2560 do this nor do any other browsers.
2562 * editing/EditorCommand.cpp:
2563 (WebCore::executeInsertOrderedList):
2564 (WebCore::executeInsertUnorderedList):
2565 * editing/IndentOutdentCommand.cpp:
2566 (WebCore::IndentOutdentCommand::outdentParagraph):
2567 * editing/InsertListCommand.cpp:
2568 (WebCore::InsertListCommand::insertList):
2569 (WebCore::InsertListCommand::InsertListCommand):
2570 (WebCore::InsertListCommand::doApply):
2571 * editing/InsertListCommand.h:
2572 (WebCore::InsertListCommand::create):
2574 2009-02-16 Dan Bernstein <mitz@apple.com>
2576 Reviewed by Geoffrey Garen.
2578 - fix <rdar://problem/6561077> REGRESSION (r39634): Unable to select an item in stocks widget with the mouse
2580 Test: platform/mac/fast/events/pointer-events-dashboard.html
2582 * css/CSSStyleSelector.cpp:
2583 (WebCore::CSSStyleSelector::applyProperty): Do not apply the
2584 pointer-events property in Dashboard backwards compatibility mode,
2585 in order to work around misuse of that property by the Stocks widget.
2587 2009-02-16 Justin Garcia <justin.garcia@apple.com>
2589 Reviewed by Eric Seidel.
2591 https://bugs.webkit.org/show_bug.cgi?id=15381
2592 execCommand justify modifies the contentEditable node
2594 * editing/CompositeEditCommand.cpp:
2595 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Avoid modifying not just
2596 the body element, but any root editable element.
2598 2009-02-16 Chris Fleizach <cfleizach@apple.com>
2600 Reviewed by Adele Peterson.
2602 Bug 23979: AX: alt tag not returned for <input type="image">
2603 https://bugs.webkit.org/show_bug.cgi?id=23979
2605 Test: accessibility/input-image-alt.html
2607 * page/AccessibilityRenderObject.cpp:
2608 (WebCore::AccessibilityRenderObject::accessibilityDescription):
2610 2009-02-16 Kevin Watters <kevinwatters@gmail.com>
2612 Reviewed by Kevin Ollivier.
2614 The ref data is not properly set unless we use the CreateMatrix function.
2616 https://bugs.webkit.org/show_bug.cgi?id=23978
2618 * platform/graphics/wx/TransformationMatrixWx.cpp:
2619 (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
2621 2009-02-16 Dan Bernstein <mitz@apple.com>
2623 Reviewed by John Sullivan.
2625 - fix <rdar://problem/6516829> FontPlatformData constructor passes NULL to CTFontCopyGraphicsFont and CTFontGetPlatformFont
2627 * platform/graphics/FontCache.cpp:
2628 (WebCore::FontDataCacheKeyTraits::emptyValue): Changed to use the
2629 FontPlatformData(float, bool, bool) constructor.
2630 * platform/graphics/mac/FontCacheMac.mm:
2631 (WebCore::FontCache::createFontPlatformData): Changed to pass a valid
2632 NSFont to the FontPlatformData constructor, instead of implicitly
2633 passing 0 and then calling setFont().
2634 * platform/graphics/mac/FontPlatformData.h: Made the NSFont parameter
2635 of the constructor mandatory.
2637 2009-02-15 David Kilzer <ddkilzer@apple.com>
2639 Move duplicate caretWidth constants to RenderObject.h
2641 Reviewed by Dan Bernstein.
2643 No test since no change in behavior.
2645 * rendering/RenderBlock.cpp:
2646 (WebCore::RenderBlock::localCaretRect): Removed caretWidth.
2647 * rendering/RenderBox.cpp:
2648 (WebCore::RenderBox::localCaretRect): Ditto.
2649 * rendering/RenderObject.h: Added caretWidth definition.
2650 * rendering/RenderText.cpp:
2651 (WebCore::RenderText::localCaretRect): Removed caretWidth.
2653 2009-02-13 Dimitri Glazkov <dglazkov@chromium.org>
2655 Reviewed by Eric Seidel.
2657 https://bugs.webkit.org/show_bug.cgi?id=23955
2658 V8HTMLPlugInCustom returns undefined, which fools interceptors.
2660 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
2661 (WebCore::NAMED_PROPERTY_GETTER): Use deferToInterceptor() return value.
2662 (WebCore::NAMED_PROPERTY_SETTER): Ditto.
2663 (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
2664 (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
2666 2009-02-13 Dimitri Glazkov <dglazkov@chromium.org>
2668 Reviewed by Eric Seidel.
2670 https://bugs.webkit.org/show_bug.cgi?id=23954
2671 Add V8 custom bindings for CanvasRenderingContext2D.
2673 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Added.
2675 (WebCore::toCanvasStyle):
2676 (WebCore::ACCESSOR_GETTER):
2677 (WebCore::ACCESSOR_SETTER):
2679 2009-02-13 Anders Carlsson <andersca@apple.com>
2681 Reviewed by Darin Adler and Dan Bernstein.
2683 <rdar://problem/6583187>
2685 * page/NavigatorBase.cpp:
2686 Handle PPC64 and X86_64 as well.
2688 2009-02-13 Darin Adler <darin@apple.com>
2690 Reviewed by Mark Rowe.
2692 Fix broken tokenizer regression test that reflected a lifetime bug
2693 in the document.write optimization. The test failure was trivial to
2694 reproduce in COLLECT_ON_EVERY_ALLOCATION mode.
2696 * bindings/js/JSHTMLDocumentCustom.cpp:
2697 (WebCore::documentWrite): Convert strings to String rather than passing
2698 the pointer and length to SegmentedString. The optimization is thus
2699 mostly gone. However, there are two ways to bring it back: 1) Apply
2700 the patch that makes UString and String share the same buffers.
2701 2) Add a UString feature to SegmentedString; simple to do but might
2702 risk slowing down normal document parsing.
2704 2009-02-13 Adam Treat <adam.treat@torchmobile.com>
2706 Caught by Darin Adler.
2708 No reason to check m_tokenizer twice for 0 in a row.
2711 (WebCore::Document::write):
2713 2009-02-13 Lyon Chen <lyon.chen@torchmobile.com>
2715 Reviewed by Dave Hyatt.
2717 Take into account y() + height() when calculating getLowerRightCorner.
2719 * dom/ContainerNode.cpp:
2720 (WebCore::ContainerNode::getLowerRightCorner):
2722 2009-02-13 Antti Koivisto <antti@apple.com>
2724 Reviewed by Dave Hyatt.
2726 Most of this code was in RenderBox, restore the copyright lines.
2728 * rendering/RenderBoxModelObject.cpp:
2729 * rendering/RenderBoxModelObject.h:
2731 2009-02-13 David Hyatt <hyatt@apple.com>
2733 Get rid of printBoxDecorations, since it is dead code.
2735 Reviewed by Dan Bernstein
2737 * rendering/RenderObject.h:
2739 2009-02-13 Adam Treat <adam.treat@torchmobile.com>
2741 Reviewed by Darin Adler.
2743 https://bugs.webkit.org/show_bug.cgi?id=23952
2744 Add Document::write overload which takes a SegmentedString since this
2745 is what the tokenizer expects anyway. Modified JSHTMLDocument so it once
2746 again calls Document::write instead of injecting the string directly into
2747 the tokenizer. This ensures that all document.write's are funneled through
2748 one method again, but should still be just as fast for JSHTMLDocumentCustom.
2750 * bindings/js/JSHTMLDocumentCustom.cpp:
2751 (WebCore::documentWrite):
2753 (WebCore::Document::write):
2756 2009-02-13 David Hyatt <hyatt@apple.com>
2758 Reviewed by Simon Fraser
2760 Remove updateWidgetPosition on RenderObject. Change RenderView's set of widgets
2761 to have a tighter type: RenderWidget instead of RenderObject. Devirtualize
2762 updateWidgetPosition, since all RenderWidgets (except for applets) are now
2765 * rendering/RenderObject.cpp:
2766 * rendering/RenderObject.h:
2767 * rendering/RenderPart.cpp:
2768 * rendering/RenderPart.h:
2769 * rendering/RenderView.cpp:
2770 (WebCore::RenderView::updateWidgetPositions):
2771 (WebCore::RenderView::addWidget):
2772 (WebCore::RenderView::removeWidget):
2773 * rendering/RenderView.h:
2774 * rendering/RenderWidget.cpp:
2775 (WebCore::RenderWidget::updateWidgetPosition):
2776 * rendering/RenderWidget.h:
2778 2009-02-13 David Hyatt <hyatt@apple.com>
2780 Reviewed by Eric Seidel
2782 Remove isEditable() on RenderObject. It is dead code.
2784 * rendering/RenderObject.cpp:
2785 * rendering/RenderObject.h:
2787 2009-02-13 David Hyatt <hyatt@apple.com>
2789 Reviewed by Eric Seidel
2791 Add isTextControl() to RenderObject. Patch call sites thats asked isTextField() || isTextArea() to just use
2792 isTextControl() instead.
2794 Add a toRenderTextControl converter for doing checked casting to RenderTextControls.
2797 (WebCore::Document::setFocusedNode):
2798 * dom/InputElement.cpp:
2799 (WebCore::InputElement::updateSelectionRange):
2800 * editing/ReplaceSelectionCommand.cpp:
2801 (WebCore::ReplacementFragment::ReplacementFragment):
2802 * editing/TextIterator.cpp:
2803 (WebCore::TextIterator::handleReplacedElement):
2804 * html/HTMLInputElement.cpp:
2805 (WebCore::HTMLInputElement::selectionStart):
2806 (WebCore::HTMLInputElement::selectionEnd):
2807 (WebCore::HTMLInputElement::setSelectionStart):
2808 (WebCore::HTMLInputElement::setSelectionEnd):
2809 (WebCore::HTMLInputElement::select):
2810 (WebCore::HTMLInputElement::defaultEventHandler):
2811 (WebCore::HTMLInputElement::selection):
2812 * html/HTMLTextAreaElement.cpp:
2813 (WebCore::HTMLTextAreaElement::selectionStart):
2814 (WebCore::HTMLTextAreaElement::selectionEnd):
2815 (WebCore::HTMLTextAreaElement::setSelectionStart):
2816 (WebCore::HTMLTextAreaElement::setSelectionEnd):
2817 (WebCore::HTMLTextAreaElement::select):
2818 (WebCore::HTMLTextAreaElement::setSelectionRange):
2819 (WebCore::HTMLTextAreaElement::appendFormData):
2820 (WebCore::HTMLTextAreaElement::updateValue):
2821 (WebCore::HTMLTextAreaElement::selection):
2822 * page/AccessibilityRenderObject.cpp:
2823 (WebCore::AccessibilityRenderObject::isNativeTextControl):
2824 (WebCore::AccessibilityRenderObject::text):
2825 (WebCore::AccessibilityRenderObject::selectedText):
2826 (WebCore::AccessibilityRenderObject::selectedTextRange):
2827 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
2828 (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
2829 (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
2830 (WebCore::AccessibilityRenderObject::observableObject):
2832 (WebCore::Frame::notifyRendererOfSelectionChange):
2833 * rendering/RenderObject.h:
2834 (WebCore::RenderObject::isTextControl):
2835 (WebCore::objectIsRelayoutBoundary):
2836 * rendering/RenderTextControl.h:
2837 (WebCore::RenderTextControl::isTextControl):
2838 (WebCore::toRenderTextControl):
2839 * rendering/TextControlInnerElements.cpp:
2840 (WebCore::TextControlInnerTextElement::defaultEventHandler):
2841 * wml/WMLInputElement.cpp:
2842 (WebCore::WMLInputElement::select):
2843 (WebCore::WMLInputElement::defaultEventHandler):
2844 (WebCore::WMLInputElement::isConformedToInputMask):
2846 2009-02-13 David Hyatt <hyatt@apple.com>
2848 Get rid of isEdited/setEdited on RenderObject. Devirtualize isEdited/setEdited on RenderTextControl.
2849 Callers were already asking if the renderer was a text field (or a text area), so it was especially
2850 pointless to waste a second virtual function call after making one just to determine the object type.
2852 Reviewed by Simon Fraser
2855 (WebCore::Document::setFocusedNode):
2856 * html/HTMLInputElement.cpp:
2857 (WebCore::HTMLInputElement::defaultEventHandler):
2858 * rendering/RenderObject.h:
2859 * rendering/RenderTextControl.h:
2860 (WebCore::RenderTextControl::isEdited):
2861 (WebCore::RenderTextControl::setEdited):
2863 2009-02-13 Scott Violet <sky@google.com>
2865 Reviewed by Eric Seidel.
2867 https://bugs.webkit.org/show_bug.cgi?id=23934
2868 Skia platform doesn't render text decoration shadows.
2870 Makes Skia render text decoration shadows correctly. We weren't
2871 preparing the SkPaint correctly and didn't have a couple of checks
2872 CG has. Additionally makes the fillColor/strokeColor methods
2875 This behavior is covered by existing layout tests (see bug for list).
2877 * platform/graphics/chromium/FontChromiumWin.cpp:
2878 (WebCore::Font::drawGlyphs):
2879 (WebCore::Font::drawComplexText):
2880 * platform/graphics/skia/GraphicsContextSkia.cpp:
2881 (WebCore::GraphicsContext::drawLineForText):
2882 * platform/graphics/skia/PlatformContextSkia.cpp:
2883 (PlatformContextSkia::effectiveFillColor):
2884 (PlatformContextSkia::effectiveStrokeColor):
2885 * platform/graphics/skia/PlatformContextSkia.h:
2887 2009-02-12 Darin Fisher <darin@chromium.org>
2889 Reviewed by Eric Seidel.
2891 https://bugs.webkit.org/show_bug.cgi?id=23944
2892 KURLGoogle's pre-parsed canonicalSpec constructor should take a CString
2895 * platform/KURLGoogle.cpp:
2896 (WebCore::KURLGooglePrivate::setUtf8):
2897 (WebCore::KURLGooglePrivate::setAscii):
2898 (WebCore::KURLGooglePrivate::init):
2899 (WebCore::KURLGooglePrivate::replaceComponents):
2900 (WebCore::KURL::KURL):
2901 * platform/KURLGooglePrivate.h:
2903 2009-02-13 David Hyatt <hyatt@apple.com>
2905 Remove leftmost/rightmost/lowestPosition from RenderObject. They only need to be called on boxes.
2907 Reviewed by Dan Bernstein
2909 * rendering/RenderBlock.cpp:
2910 (WebCore::RenderBlock::lowestPosition):
2911 (WebCore::RenderBlock::rightmostPosition):
2912 (WebCore::RenderBlock::leftmostPosition):
2913 * rendering/RenderLayer.cpp:
2914 (WebCore::RenderLayer::computeScrollDimensions):
2915 * rendering/RenderMedia.cpp:
2916 (WebCore::RenderMedia::lowestPosition):
2917 (WebCore::RenderMedia::rightmostPosition):
2918 (WebCore::RenderMedia::leftmostPosition):
2919 * rendering/RenderObject.h:
2920 * rendering/RenderTableSection.cpp:
2921 (WebCore::RenderTableSection::lowestPosition):
2922 (WebCore::RenderTableSection::rightmostPosition):
2923 (WebCore::RenderTableSection::leftmostPosition):
2925 2009-02-12 Simon Fraser <simon.fraser@apple.com>
2927 Fix build with ACCELERATED_COMPOSITING turned on.
2929 toRenderBox()->x() asserts for a layer on an inline; use
2930 m_owningLayer->renderBoxX() instead.
2932 * rendering/RenderLayerBacking.cpp:
2933 (WebCore::RenderLayerBacking::paintIntoLayer):
2935 2009-02-12 Darin Adler <darin@apple.com>
2937 Reviewed by Oliver Hunt.
2939 Speed up document.write a bit.
2941 * bindings/js/JSHTMLDocumentCustom.cpp:
2942 (WebCore::documentWrite): Added. Uses SegmentedString to avoid conversion from
2943 UString to String and to avoid appending strings. Also added code to handle
2944 newlines efficiently.
2945 (WebCore::JSHTMLDocument::write): Changed to use documentWrite.
2946 (WebCore::JSHTMLDocument::writeln): Ditto.
2949 (WebCore::Document::prepareToWrite): Added. Refactored the initialization part
2950 of write into a separate function for use in the JavaScript binding.
2951 (WebCore::Document::write): Changed to call prepareToWrite.
2953 * dom/Document.h: Added declaration for prepareToWrite.
2955 2009-02-13 Prasanth Ullattil <pullatti@trolltech.com>
2957 Reviewed by Simon Hausmann.
2959 Fixes crash in the Qt port on Windows with comboboxes
2961 The focusWidget in the input context is not reset properly.
2962 The QApplication::setFocusWidget() wont reset the IC if the reason is
2963 PopupFocusReason, this is not ideal. For the time being we are going
2964 to do this from webkit itself.
2966 * platform/qt/QWebPopup.cpp:
2967 (WebCore::QWebPopup::hidePopup):
2969 2009-02-12 Kevin Ollivier <kevino@theolliviers.com>
2971 wx build fix, typo while tweaking last patch for commit.
2973 * platform/wx/wxcode/gtk/fontprops.cpp:
2976 2009-02-12 miggilin <mr.diggilin@gmail.com>
2978 Reviewed by Kevin Ollivier.
2980 Use Cairo/PANGO to fix text measurements and implement proper
2981 non-kerned text drawing on wxGTK.
2983 https://bugs.webkit.org/show_bug.cgi?id=17727
2985 * platform/graphics/GlyphBuffer.h:
2986 * platform/graphics/wx/FontPlatformDataWx.cpp:
2987 (WebCore::fontWeightToWxFontWeight):
2988 * platform/graphics/wx/SimpleFontDataWx.cpp:
2989 (WebCore::SimpleFontData::platformWidthForGlyph):
2990 * platform/wx/wxcode/fontprops.h:
2991 * platform/wx/wxcode/gtk/fontprops.cpp:
2992 (wxFontProperties::wxFontProperties):
2994 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
2995 (WebCore::pangoFontMap):
2996 (WebCore::createPangoFontForFont):
2997 (WebCore::createScaledFontForFont):
2998 (WebCore::pango_font_get_glyph):
2999 (WebCore::drawTextWithSpacing):
3000 * platform/wx/wxcode/non-kerned-drawing.h:
3002 2009-02-12 Chris Marrin <cmarrin@apple.com>
3004 Reviewed by Simon Fraser
3006 https://bugs.webkit.org/show_bug.cgi?id=23942
3008 Hook up 3D CSS transforms to the accelerated compositor backend.
3009 Not enabled by default.
3011 * page/animation/AnimationBase.cpp:
3012 (WebCore::blendFunc):
3013 (WebCore::ensurePropertyMap):
3014 * page/animation/CompositeAnimation.cpp:
3015 (WebCore::CompositeAnimationPrivate::updateTransitions):
3016 * page/animation/ImplicitAnimation.cpp:
3017 (WebCore::ImplicitAnimation::willNeedService):
3018 * page/animation/KeyframeAnimation.cpp:
3019 (WebCore::KeyframeAnimation::willNeedService):
3020 * platform/graphics/GraphicsLayer.cpp:
3021 (WebCore::GraphicsLayer::TransformValueList::makeFunctionList):
3022 (WebCore::GraphicsLayer::dumpProperties):
3023 * platform/graphics/mac/GraphicsLayerCA.mm:
3024 (WebCore::copyTransform):
3025 (WebCore::getValueFunctionNameForTransformOperation):
3026 (WebCore::GraphicsLayerCA::animateTransform):
3027 * rendering/RenderBox.cpp:
3028 (WebCore::RenderBox::updateBoxModelInfoFromStyle):
3029 * rendering/RenderLayer.cpp:
3030 (WebCore::RenderLayer::updateTransform):
3031 (WebCore::RenderLayer::hasTransformStyle3D):
3032 (WebCore::RenderLayer::hasPerspective):
3033 (WebCore::RenderLayer::perspectiveTransform):
3034 * rendering/RenderLayer.h:
3035 * rendering/RenderLayerBacking.cpp:
3036 (WebCore::RenderLayerBacking::updateGraphicsLayers):
3037 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3038 (WebCore::RenderLayerBacking::computeTransformOrigin):
3039 (WebCore::RenderLayerBacking::computePerspectiveOrigin):
3040 * rendering/RenderLayerBacking.h:
3041 * rendering/RenderLayerCompositor.cpp:
3042 (WebCore::RenderLayerCompositor::has3DContent):
3043 (WebCore::requiresCompositingLayerForTransform):
3044 (WebCore::RenderLayerCompositor::requiresCompositingLayer):
3045 (WebCore::RenderLayerCompositor::layerHas3DContent):
3046 * rendering/RenderLayerCompositor.h:
3048 2009-02-12 David Hyatt <hyatt@apple.com>
3050 Reviewed by Eric Seidel
3052 Get rid of containingBlockHeight(), since it had only one implementation (despite being virtual) and just returned
3053 containingBlock()->availableHeight(). The latter reads better anyway. Rename containingBlockWidth() to
3054 containingBlockWidthForContent() and move it to RenderBoxModelObject.
3056 * rendering/RenderBlock.cpp:
3057 (WebCore::RenderBlock::localCaretRect):
3058 * rendering/RenderBox.cpp:
3059 (WebCore::RenderBox::containingBlockWidthForContent):
3060 (WebCore::RenderBox::calcWidth):
3061 (WebCore::RenderBox::calcReplacedWidthUsing):
3062 * rendering/RenderBox.h:
3063 * rendering/RenderBoxModelObject.cpp:
3064 (WebCore::RenderBoxModelObject::relativePositionOffsetX):
3065 (WebCore::RenderBoxModelObject::relativePositionOffsetY):
3066 (WebCore::RenderBoxModelObject::containingBlockWidthForContent):
3067 * rendering/RenderBoxModelObject.h:
3068 * rendering/RenderInline.cpp:
3069 (WebCore::RenderInline::marginLeft):
3070 (WebCore::RenderInline::marginRight):
3071 * rendering/RenderObject.cpp:
3072 * rendering/RenderObject.h:
3073 * rendering/RenderSVGContainer.cpp:
3074 (WebCore::RenderSVGContainer::calcReplacedWidth):
3076 2009-02-12 Simon Fraser <simon.fraser@apple.com>
3078 Fix non-Mac builds by adding Matrix3DTransformOperation.* and
3079 PerspectiveTransformOperation.*. Cleaned out some cruft in
3080 the WebCore.vcproj fle.
3085 * WebCore.vcproj/WebCore.vcproj:
3087 2009-02-12 David Smith <catfish.man@gmail.com>
3089 Reviewed by Dave Hyatt.
3091 Fix https://bugs.webkit.org/show_bug.cgi?id=23935
3092 Nested :not() and non-simple selectors in :not() should be invalid
3094 * css/CSSGrammar.y: Reject nested :not()
3095 * css/CSSStyleSelector.cpp:
3096 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ASSERT() rather than checking, since the parser enforces it now
3098 2009-02-12 Kevin Ollivier <kevino@theolliviers.com>
3102 * WebCoreSources.bkl:
3104 2009-02-12 Simon Fraser <simon.fraser@apple.com>
3106 Fix build with ACCELERATED_COMPOSITING turned on.
3108 Need to cast toRenderBox() in order to call overflowClipRect().
3110 * rendering/RenderLayerBacking.cpp:
3111 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3113 2009-02-12 Oliver Hunt <oliver@apple.com>
3115 Reviewed by NOBODY (Build fix).
3121 2009-02-12 David Hyatt <hyatt@apple.com>
3123 Rename getOverflowClipRect and getClipRect to overflowClipRect and clipRect. Move them to RenderBox, since these methods
3124 only apply to boxes. Devirtualize clipRect, since it was not subclassed. Move controlClip stuff to RenderBox also.
3126 Reviewed by Simon Fraser
3128 * editing/Editor.cpp:
3129 (WebCore::Editor::insideVisibleArea):
3130 * rendering/RenderBox.cpp:
3131 (WebCore::RenderBox::overflowClipRect):
3132 (WebCore::RenderBox::clipRect):
3133 * rendering/RenderBox.h:
3134 (WebCore::RenderBox::hasControlClip):
3135 (WebCore::RenderBox::controlClipRect):
3136 * rendering/RenderForeignObject.cpp:
3137 (WebCore::RenderForeignObject::paint):
3138 * rendering/RenderLayer.cpp:
3139 (WebCore::RenderLayer::calculateClipRects):
3140 (WebCore::RenderLayer::calculateRects):
3141 * rendering/RenderLayerBacking.cpp:
3142 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3143 * rendering/RenderObject.h:
3144 (WebCore::RenderObject::hasClip):
3145 (WebCore::RenderObject::hasOverflowClip):
3146 * rendering/RenderTable.cpp:
3147 (WebCore::RenderTable::overflowClipRect):
3148 * rendering/RenderTable.h:
3150 2009-02-12 Simon Fraser <simon.fraser@apple.com>
3152 Fix build with ACCELERATED_COMPOSITING turned on (simple copy/paste error)
3154 * platform/graphics/mac/GraphicsLayerCA.mm:
3155 (WebCore::GraphicsLayerCA::setBasicAnimation):
3157 2009-02-12 Julien Chaffraix <jchaffraix@webkit.org>
3161 Release build fix when VIDEO is disabled (it should also
3162 help the builds with WORKERS or XSLT disabled).
3164 * bindings/js/JSDOMWindowBase.cpp:
3165 (jsDOMWindowBaseAudio): Added an UNUSED_PARAM for exec and slot when
3167 (jsDOMWindowBaseWorker): Ditto for WORKERS.
3168 (jsDOMWindowBaseXSLTProcessor): Ditto for XSLT.
3170 2009-02-12 Eric Carlson <eric.carlson@apple.com>
3172 Reviewed by Simon Fraser.
3174 https://bugs.webkit.org/show_bug.cgi?id=23923
3175 Implement mediaPlayerVolumeChanged so a media engine can report autonomous volume changes.
3176 Supporting this requires that we know when we are processing a media engine callback so
3177 we don't turn around and tell the media player to change the volume when it is reporting
3180 * html/HTMLMediaElement.cpp:
3181 (WebCore::HTMLMediaElement::HTMLMediaElement): initialize m_processingMediaPlayerCallback
3182 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): call begin/endProcessingMediaPlayerCallback
3183 (WebCore::HTMLMediaElement::setNetworkState): logic split out of mediaPlayerNetworkStateChanged
3184 to make it easier to maintain m_processingMediaPlayerCallback.
3185 (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): call begin/endProcessingMediaPlayerCallback
3186 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto.
3187 (WebCore::HTMLMediaElement::mediaPlayerRepaint): Ditto.
3188 (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): New
3189 (WebCore::HTMLMediaElement::updateVolume): Don't change media engine volume if we are processing
3190 a callback from the engine.
3191 * html/HTMLMediaElement.h:
3192 (WebCore::HTMLMediaElement::processingMediaPlayerCallback): New, return true if (m_processingMediaPlayerCallback>0)
3193 (WebCore::HTMLMediaElement::beginProcessingMediaPlayerCallback): New, increment m_processingMediaPlayerCallback
3194 (WebCore::HTMLMediaElement::endProcessingMediaPlayerCallback): New, decrement m_processingMediaPlayerCallback
3196 2009-02-12 Eric Carlson <eric.carlson@apple.com>
3198 Reviewed by Simon Fraser.
3200 Support MPEG content on Mac and Windows.
3201 <rdar://problem/5917509>
3202 https://bugs.webkit.org/show_bug.cgi?id=23495
3204 Test: media/audio-mpeg-supported.html
3206 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3207 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
3209 * platform/graphics/win/QTMovieWin.cpp:
3210 (QTMovieWin::disableUnsupportedTracks):
3212 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: fix typo added in r40925
3214 2009-02-12 David Hyatt <hyatt@apple.com>
3216 Reviewed by Sam Weinig
3218 Move containsFloats, hasOverhangingFloats, shrinkToAvoidFloats and avoidsFloats down to
3219 RenderBox, since these methods only apply to boxes.
3221 * rendering/RenderBlock.cpp:
3222 (WebCore::RenderBlock::collapseMargins):
3223 (WebCore::RenderBlock::clearFloatsIfNeeded):
3224 (WebCore::RenderBlock::layoutBlockChildren):
3225 (WebCore::RenderBlock::clearFloats):
3226 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
3227 (WebCore::RenderBlock::calcBlockPrefWidths):
3228 * rendering/RenderBlock.h:
3229 (WebCore::RenderBlock::containsFloats):
3230 (WebCore::RenderBlock::hasOverhangingFloats):
3231 * rendering/RenderBox.cpp:
3232 (WebCore::RenderBox::shrinkToAvoidFloats):
3233 (WebCore::RenderBox::avoidsFloats):
3234 * rendering/RenderBox.h:
3235 * rendering/RenderObject.cpp:
3236 * rendering/RenderObject.h:
3237 (WebCore::RenderObject::isFloatingOrPositioned):
3238 * rendering/RenderView.h:
3240 2009-02-12 Chris Marrin <cmarrin@apple.com>
3242 Reviewed by Dave Hyatt
3244 https://bugs.webkit.org/show_bug.cgi?id=23908
3246 Added parsing of 3d transform functions and properties
3247 (perspective, perspective-origin, transform-style-3d,
3248 and backface-visibility).
3250 Test: transforms/3d/cssmatrix-3d-interface.xhtml
3252 * css/CSSComputedStyleDeclaration.cpp:
3254 (WebCore::computedTransform):
3255 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3256 * css/CSSMutableStyleDeclaration.cpp:
3257 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
3258 * css/CSSParser.cpp:
3259 (WebCore::CSSParser::parseValue):
3260 (WebCore::CSSParser::parseFillProperty):
3261 (WebCore::CSSParser::parseTransformOriginShorthand):
3262 (WebCore::TransformOperationInfo::TransformOperationInfo):
3263 (WebCore::CSSParser::parseTransform):
3264 (WebCore::CSSParser::parseTransformOrigin):
3265 (WebCore::CSSParser::parsePerspectiveOrigin):
3267 * css/CSSPrimitiveValue.h:
3268 (WebCore::CSSPrimitiveValue::isUnitTypeLength):
3269 * css/CSSPropertyNames.in:
3270 * css/CSSStyleSelector.cpp:
3271 (WebCore::CSSStyleSelector::adjustRenderStyle):
3272 (WebCore::convertToLength):
3273 (WebCore::CSSStyleSelector::applyProperty):
3274 (WebCore::CSSStyleSelector::mapFillSize):
3275 (WebCore::CSSStyleSelector::mapFillXPosition):
3276 (WebCore::CSSStyleSelector::mapFillYPosition):
3277 (WebCore::getTransformOperationType):
3278 (WebCore::CSSStyleSelector::createTransformOperations):
3279 * css/CSSValueKeywords.in:
3280 * css/WebKitCSSTransformValue.cpp:
3281 (WebCore::WebKitCSSTransformValue::cssText):
3282 * css/WebKitCSSTransformValue.h:
3283 (WebCore::WebKitCSSTransformValue::):
3284 * css/WebKitCSSTransformValue.idl:
3285 * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
3286 * platform/graphics/transforms/Matrix3DTransformOperation.h:
3287 * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
3288 * platform/graphics/transforms/PerspectiveTransformOperation.h:
3289 * platform/graphics/transforms/RotateTransformOperation.cpp:
3290 (WebCore::RotateTransformOperation::blend):
3291 * platform/graphics/transforms/RotateTransformOperation.h:
3292 (WebCore::RotateTransformOperation::RotateTransformOperation):
3293 * platform/graphics/transforms/ScaleTransformOperation.h:
3294 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
3295 * platform/graphics/transforms/TransformOperation.h:
3296 (WebCore::TransformOperation::is3DOperation):
3297 * platform/graphics/transforms/TransformOperations.h:
3298 (WebCore::TransformOperations::has3DOperation):
3299 * platform/graphics/transforms/TranslateTransformOperation.h:
3300 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
3302 2009-02-12 Kevin Ollivier <kevino@theolliviers.com>
3308 2009-02-12 Brady Eidson <beidson@apple.com>
3310 Reviewed by Darin Adler
3312 Fix potential ref-count or null-deref problems with C++ objects as Obj-C members.
3314 * platform/mac/SharedBufferMac.mm: Change to use RefPtr<> instead of ref()/deref().
3315 (-[WebCoreSharedBufferData dealloc]):
3316 (-[WebCoreSharedBufferData finalize]):
3317 (-[WebCoreSharedBufferData initWithSharedBuffer:]):
3319 2009-02-12 David Hyatt <hyatt@apple.com>
3321 Remove calcWidth from RenderObject. Nobody ever called it on RenderObjects.
3323 Reviewed by Sam Weinig
3325 * rendering/RenderObject.h:
3327 2009-02-12 David Hyatt <hyatt@apple.com>
3329 Reviewed by Mark Rowe
3331 Fix for regression where form controls would paint yellow highlights. The containsComposition check needs to
3332 null check node() now.
3334 * rendering/InlineTextBox.cpp:
3335 (WebCore::InlineTextBox::paint):
3337 2009-02-12 Simon Fraser <simon.fraser@apple.com>
3341 Change Animation::setDirection() to take the new enum value, and fix
3344 Fix build error in MediaPlayerPrivateQTKit.h.
3346 * css/CSSStyleSelector.cpp:
3347 (WebCore::CSSStyleSelector::mapAnimationDirection):
3348 * platform/animation/Animation.h:
3349 (WebCore::Animation::setDirection):
3350 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3352 2009-02-12 David Hyatt <hyatt@apple.com>
3354 Reviewed by Simon Fraser
3356 Remove the overrideSize methods from RenderObject. Devirtualize all of the accessors on RenderBox.
3358 * rendering/RenderBox.h:
3359 * rendering/RenderObject.h:
3361 2009-02-12 Eric Carlson <eric.carlson@apple.com>
3363 Darin Adler, Antti Koivisto, Holger Hans Peter Freyther
3365 Bug 23797: A platform should be able to use more than one media engine for <video> and <audio>
3366 https://bugs.webkit.org/show_bug.cgi?id=23797
3368 * WebCore.xcodeproj/project.pbxproj: add MediaPlayerPrivate.h
3370 * html/HTMLMediaElement.cpp:
3371 (WebCore::HTMLMediaElement::load): selectMediaURL now also returns a MIME type, pass it to
3372 MediaPlayer::load so it can choose the right media engine
3373 (WebCore::HTMLMediaElement::selectMediaURL): renamed from pickMedia. use MIMETypeRegistry
3374 functions to strip params from the url and extract the codecs parameter. call
3375 MediaPlayer::supportsType to see if we can open the file since only a media engine can
3376 answer questions about supported type+codecs.
3377 * html/HTMLMediaElement.h:
3379 * platform/MIMETypeRegistry.cpp:
3380 (WebCore::MIMETypeRegistry::getParameterFromMIMEType): New, find and return a MIME type parameter
3381 (WebCore::MIMETypeRegistry::stripParametersFromMIMEType): New, strip all parameters from a MIME type
3382 * platform/MIMETypeRegistry.h:
3384 * platform/graphics/MediaPlayer.cpp:
3385 (WebCore::NullMediaPlayerPrivate::NullMediaPlayerPrivate):
3386 (WebCore::NullMediaPlayerPrivate::load):
3387 (WebCore::NullMediaPlayerPrivate::cancelLoad):
3388 (WebCore::NullMediaPlayerPrivate::play):
3389 (WebCore::NullMediaPlayerPrivate::pause):
3390 (WebCore::NullMediaPlayerPrivate::naturalSize):
3391 (WebCore::NullMediaPlayerPrivate::hasVideo):
3392 (WebCore::NullMediaPlayerPrivate::setVisible):
3393 (WebCore::NullMediaPlayerPrivate::duration):
3394 (WebCore::NullMediaPlayerPrivate::currentTime):
3395 (WebCore::NullMediaPlayerPrivate::seek):
3396 (WebCore::NullMediaPlayerPrivate::seeking):
3397 (WebCore::NullMediaPlayerPrivate::setEndTime):
3398 (WebCore::NullMediaPlayerPrivate::setRate):
3399 (WebCore::NullMediaPlayerPrivate::paused):
3400 (WebCore::NullMediaPlayerPrivate::setVolume):
3401 (WebCore::NullMediaPlayerPrivate::networkState):
3402 (WebCore::NullMediaPlayerPrivate::readyState):
3403 (WebCore::NullMediaPlayerPrivate::maxTimeSeekable):
3404 (WebCore::NullMediaPlayerPrivate::maxTimeBuffered):
3405 (WebCore::NullMediaPlayerPrivate::dataRate):
3406 (WebCore::NullMediaPlayerPrivate::totalBytesKnown):
3407 (WebCore::NullMediaPlayerPrivate::totalBytes):
3408 (WebCore::NullMediaPlayerPrivate::bytesLoaded):
3409 (WebCore::NullMediaPlayerPrivate::setRect):
3410 (WebCore::NullMediaPlayerPrivate::paint):
3411 (WebCore::createNullMediaPlayer):
3412 Do nothing media player so MediaPlayer doesn't have to NULL check before calling current engine.
3414 (WebCore::MediaPlayerFactory::MediaPlayerFactory): New, factory constructor.
3415 (WebCore::installedMediaEngines): New, returns vector of all installed engines.
3416 (WebCore::addMediaEngine): New, add a media engine to the cache.
3417 (WebCore::chooseBestEngineForTypeAndCodecs): New, return an engine that might support a MIME type.
3418 (WebCore::MediaPlayer::MediaPlayer): create NULL media player so we have a default. Initialize m_currentMediaEngine.
3419 (WebCore::MediaPlayer::~MediaPlayer): don't need to delete m_private, it is now an OwnPtr.
3420 (WebCore::MediaPlayer::load): Take MIME type as well as url, since we need it to find the right
3421 media engine. If no MIME type is provided, try to devine one from the url. Choose a media engine
3422 based on the MIME type and codecs parameter.
3423 (WebCore::MediaPlayer::currentTime): Remove excess white space.
3424 (WebCore::MediaPlayer::supportsType): Take codecs param as well as MIME type. Return enum so we can
3425 indicate "maybe" condition.
3426 (WebCore::MediaPlayer::getSupportedTypes): Build up list of MIME types by consulting all engines.
3427 (WebCore::MediaPlayer::isAvailable): return true if any media engine is installed.
3429 * platform/graphics/MediaPlayer.h:
3430 (WebCore::MediaPlayer::):
3431 (WebCore::MediaPlayer::frameView): accessor function.
3433 * platform/graphics/MediaPlayerPrivate.h: New, declares abstract interface for media engines.
3434 (WebCore::MediaPlayerPrivateInterface::~MediaPlayerPrivateInterface):
3435 (WebCore::MediaPlayerPrivateInterface::totalBytesKnown):
3437 * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Add support for engine factory
3439 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3440 (WebCore::MediaPlayerPrivate::create): New, media engine factory function
3441 (WebCore::MediaPlayerPrivate::registerMediaEngine): Register engine with MediaPlayer factory
3442 (WebCore::MediaPlayerPrivate::load): URL is a const String.
3443 (WebCore::MediaPlayerPrivate::duration): Declare const.
3444 (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
3445 (WebCore::MediaPlayerPrivate::hasVideo): Ditto.
3446 (WebCore::MediaPlayerPrivate::networkState): Ditto.
3447 (WebCore::MediaPlayerPrivate::readyState): Ditto.
3448 (WebCore::MediaPlayerPrivate::maxTimeBuffered): Ditto.
3449 (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto.
3450 (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
3451 (WebCore::MediaPlayerPrivate::bytesLoaded): Ditto.
3452 (WebCore::MediaPlayerPrivate::totalBytesKnown): Ditto.
3453 (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
3454 (WebCore::MediaPlayerPrivate::supportsType): Return MediaPlayer::SupportsType enum instead of bool.
3455 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
3456 (WebCore::MediaPlayerPrivate::isAvailable):
3458 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3459 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3460 (WebCore::MediaPlayerPrivateQTKit::create): New, media engine factory function
3461 (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Register engine with MediaPlayer factory
3462 (WebCore::MediaPlayerPrivate::createQTMovieView): don't access MediaPlayer->m_frameView directly,
3463 use accessor function.
3464 (WebCore::MediaPlayerPrivate::setUpVideoRendering): Ditto.
3465 (WebCore::MediaPlayerPrivate::paint): Ditto.
3466 (WebCore::mimeTypeCache): New.
3467 (WebCore::MediaPlayerPrivate::getSupportedTypes): New, media engine factory function.
3468 (WebCore::MediaPlayerPrivate::supportsType): return MediaPlayer::SupportsType enum instead of bool
3469 (-[WebCoreMovieObserver initWithCallback:]): fix formatting
3471 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3472 (WebCore::MediaPlayerPrivate::create):
3473 (WebCore::MediaPlayerPrivate::registerMediaEngine):
3474 (WebCore::MediaPlayerPrivate::supportsType):
3475 (WebCore::MediaPlayerPrivate::load): URL is a const String.
3476 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
3477 (WebCore::MediaPlayerPrivate::isAvailable):
3479 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3480 (WebCore::MediaPlayerPrivate::create): New, media engine factory function
3481 (WebCore::MediaPlayerPrivate::registerMediaEngine): New, register engine with MediaPlayer factory
3482 (WebCore::MediaPlayerPrivate::load): URL is a const String.
3483 (WebCore::MediaPlayerPrivate::paint): don't access MediaPlayer->m_frameView directly,
3484 use accessor function.
3485 (WebCore::mimeTypeCache): New.
3486 (WebCore::MediaPlayerPrivateQTWin::getSupportedTypes): New, media engine factory function.
3487 (WebCore::MediaPlayerPrivateQTWin::supportsType): return MediaPlayer::SupportsType enum instead of bool
3488 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
3490 2009-02-12 Julien Chaffraix <jchaffraix@webkit.org>
3492 Reviewed by Darin Adler.
3494 Test: fast/dom/prefixed-image-tag.xhtml
3496 Bug 23915: Remove setPrefix work-around in Document::createElement(QualifiedName, bool)
3498 Instead we now directly propage the QualifiedName inside the generated Factory.
3500 Test: fast/dom/prefixed-image-tag.xhtml
3503 (WebCore::Document::createElement): Removed the setPrefix work-around
3504 and replaced it with an ASSERT to catch mistakes inside the Factory code.
3505 Remove the unneeded ExceptionCode argument.
3507 (WebCore::Document::createElementNS): Removed ExceptionCode argument.
3508 * dom/Document.h: Updated the signature.
3509 * dom/XMLTokenizerLibxml2.cpp:
3510 (WebCore::XMLTokenizer::startElementNs): Removed ExceptionCode argument.
3511 * dom/XMLTokenizerQt.cpp: Ditto.
3512 (WebCore::XMLTokenizer::parseStartElement): Ditto.
3514 * dom/make_names.pl: Implemented the QualifiedName propogation logic
3517 2009-02-12 Simon Fraser <simon.fraser@apple.com>
3519 Reviewed by Dave Hyatt
3521 https://bugs.webkit.org/show_bug.cgi?id=23188
3523 Define enum values for Animation::direction(), and one for
3524 IterationCountInfinite to make the code more self-documenting.
3526 Order the member vars of Animation to optimize packing.
3528 * css/CSSComputedStyleDeclaration.cpp:
3529 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3530 * platform/animation/Animation.cpp:
3531 (WebCore::Animation::Animation):
3532 (WebCore::Animation::operator=):
3533 (WebCore::Animation::animationsMatch):
3534 * platform/animation/Animation.h:
3535 (WebCore::Animation::):
3536 (WebCore::Animation::direction):
3537 (WebCore::Animation::initialAnimationDirection):
3538 * platform/graphics/mac/GraphicsLayerCA.mm:
3539 (WebCore::GraphicsLayerCA::setBasicAnimation):
3540 (WebCore::GraphicsLayerCA::setKeyframeAnimation):
3542 2009-02-12 Christian Dywan <christian@twotoasts.de>
3544 Reviewed by Holger Freyther.
3546 * platform/network/soup/ResourceHandleSoup.cpp:
3547 (WebCore::ResourceHandle::startHttp): Don't use O_CLOEXEC for now.
3549 2009-02-12 Julien Chaffraix <jchaffraix@webkit.org>
3551 Reviewed by Darin Adler.
3553 Bug 23826: Potential bug with before/after rule while moving element from one document to another
3555 Moved the document before/after toggle from the constructor to insertedIntoDocument.
3557 Test: fast/css-generated-content/beforeAfter-interdocument.html
3559 * html/HTMLQuoteElement.cpp:
3560 (WebCore::HTMLQuoteElement::HTMLQuoteElement):
3561 (WebCore::HTMLQuoteElement::insertedIntoDocument):
3562 * html/HTMLQuoteElement.h:
3564 2009-02-12 David Hyatt <hyatt@apple.com>
3566 Reviewed by Simon Fraser
3568 Fix for https://bugs.webkit.org/show_bug.cgi?id=23912
3570 I have no idea why this broke. As far as I can tell the old code never should have worked in
3571 the first place. Add code to handleWheelEvent that will find an enclosing renderer for a node
3572 in order to attempt a wheel scroll.
3574 * page/EventHandler.cpp:
3575 (WebCore::EventHandler::handleWheelEvent):
3577 2009-02-12 David Hyatt <hyatt@apple.com>
3579 Move the functions that paint borders, box shadows and border images into RenderBoxModelObject. drawBorder and drawBorderArc, because they are used
3580 for outlines as well as borders, need to stay in RenderObject. Rename them to drawLineForBoxSide and drawArcForBoxSide in order to reflect their
3581 more generic use. Rename the BorderSide struct to BoxSide, since the concept of "side" is just a rectangle concept and not a border concept.
3583 Reviewed by Simon Fraser
3585 * rendering/InlineFlowBox.cpp:
3586 (WebCore::InlineFlowBox::paintFillLayer):
3587 (WebCore::InlineFlowBox::paintBoxShadow):
3588 (WebCore::InlineFlowBox::paintBoxDecorations):
3589 (WebCore::InlineFlowBox::paintMask):
3590 * rendering/RenderBlock.cpp:
3591 (WebCore::RenderBlock::paintColumns):
3592 * rendering/RenderBoxModelObject.cpp:
3593 (WebCore::RenderBoxModelObject::paintNinePieceImage):
3594 (WebCore::RenderBoxModelObject::paintBorder):
3595 (WebCore::RenderBoxModelObject::paintBoxShadow):
3596 * rendering/RenderBoxModelObject.h:
3597 * rendering/RenderFieldset.cpp:
3598 (WebCore::RenderFieldset::paintBorderMinusLegend):
3599 * rendering/RenderInline.cpp:
3600 (WebCore::RenderInline::paintOutlineForLine):
3601 * rendering/RenderObject.cpp:
3602 (WebCore::RenderObject::drawLineForBoxSide):
3603 (WebCore::RenderObject::drawArcForBoxSide):
3604 (WebCore::RenderObject::paintOutline):
3605 * rendering/RenderObject.h:
3607 (WebCore::RenderObject::hasBoxDecorations):
3608 * rendering/RenderTableCell.cpp:
3609 (WebCore::CollapsedBorders::addBorder):
3610 (WebCore::RenderTableCell::paintCollapsedBorder):
3612 2009-02-12 Eric Carlson <eric.carlson@apple.com>
3614 Reviewed by Simon Fraser
3616 Bug 18322: video element should have ui when scripting is disabled
3617 https://bugs.webkit.org/show_bug.cgi?id=18322
3619 * html/HTMLMediaElement.cpp:
3620 (WebCore::HTMLMediaElement::controls): always return 'true' when JavaScript is disabled.
3621 * manual-tests/media-cont