1 2009-07-09 Roland Steiner <rolandsteiner@google.com>
3 Reviewed by Maciej Stachowiak.
5 Added InlineBox::baselinePosition() and lineHeight() methods
6 (adapted remaining code accordingly to use those methods)
8 No change in functionality.
10 * rendering/InlineBox.h:
11 (WebCore::InlineBox::baselinePosition):
12 (WebCore::InlineBox::lineHeight):
13 * rendering/InlineFlowBox.cpp:
14 (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
15 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
16 (WebCore::InlineFlowBox::placeBoxesVertically):
18 2009-07-09 Oliver Hunt <oliver@apple.com>
20 Reviewed by Maciej Stachowiak.
22 Bug 27142 - canPlayType() should return empty string for unsupported content
23 <https://bugs.webkit.org/show_bug.cgi?id=27142>
25 Return "" instead of "no" for unsupport media types.
27 * html/HTMLMediaElement.cpp:
28 (WebCore::HTMLMediaElement::canPlayType):
30 2009-07-09 Roland Steiner <rolandsteiner@google.com>
32 Reviewed by Maciej Stachowiak.
34 Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags
35 in that their end tags are optional if followed by <rp>/<rt>.
37 Also specify a new accessibility role "annotation" for <rp> and <rt>.
39 Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing
40 is not affected by whether ruby is rendered properly or not (in fact, it may
41 be more profound without ruby layouting, since the contents of <rp> are not hidden).
43 Test: fast/ruby/parse-rp.html
45 * accessibility/AccessibilityObject.h:
47 * accessibility/AccessibilityRenderObject.cpp:
48 (WebCore::AccessibilityRenderObject::roleValue):
49 * html/HTMLElement.cpp:
50 (WebCore::HTMLElement::endTagRequirement):
51 (WebCore::HTMLElement::tagPriority):
52 (WebCore::inlineTagList):
53 * html/HTMLParser.cpp:
54 (WebCore::HTMLParser::rpCreateErrorCheck):
55 (WebCore::HTMLParser::rtCreateErrorCheck):
56 (WebCore::HTMLParser::getNode):
58 * html/HTMLTagNames.in:
60 2009-07-09 Dmitry Titov <dimich@chromium.org>
62 Not reviewed, fix for previous commit.
64 The change http://trac.webkit.org/changeset/45695 did not correctly
65 enabled GTL and QT build flags. This caused layout tests failure.
66 This is speculative fix for those failures.
68 * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag.
70 * page/DOMWindow.idl: touched to cause recompile.
71 * workers/WorkerContext.idl: ditto.
73 2009-07-09 Drew Wilson <atwilson@google.com>
75 Reviewed by Alexey Proskuryakov.
77 https://bugs.webkit.org/show_bug.cgi?id=26903
79 Turned on CHANNEL_MESSAGING by default because the MessageChannel API
80 is now implemented for Web Workers and is reasonably stable.
82 Tests: fast/events/message-channel-gc-2.html
83 fast/events/message-channel-gc-3.html
84 fast/events/message-channel-gc-4.html
85 fast/events/message-channel-gc.html
86 fast/events/message-channel-listener-circular-ownership.html
87 fast/events/message-port-clone.html
88 fast/events/message-port-constructor-for-deleted-document.html
89 fast/events/message-port-deleted-document.html
90 fast/events/message-port-deleted-frame.html
91 fast/events/message-port-inactive-document.html
92 fast/events/message-port-no-wrapper.html
93 fast/events/message-port.html
94 fast/workers/worker-cloneport.html
95 fast/workers/worker-messageport-gc.html
96 fast/workers/worker-messageport.html
98 * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING.
99 * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto.
100 * WebCore/WebCore.vcproj/build-generated-files.sh: ditto.
101 * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers.
102 * WebCore/workers/WorkerContext.idl: ditto.
105 2009-07-09 Pierre d'Herbemont <pdherbemont@apple.com>
107 Reviewed by Simon Fraser.
109 Full page zoom breaks remaining and elapsed time display in the <video> controller.
110 https://bugs.webkit.org/show_bug.cgi?id=27123
112 We are changing the size of the time remaining and time elapsed field, to
113 automatically hide them, when the controller is too short.
115 Because we toggle the size between 0 and the previous value of the
116 controller, we miss any width change that may occur during full page zoom,
117 and we fail to restore a correct width.
119 This change fixes that problem by using a cloned style on which we
120 set the width to 0, and restoring the previous style when going back to
123 We take care about properly using the cloned style or the pseudo style,
124 by overriding styleForElement().
126 * rendering/MediaControlElements.cpp:
127 (WebCore::MediaControlElement::styleForElement):
128 (WebCore::MediaControlElement::attach):
129 (WebCore::MediaControlElement::updateStyle):
130 (WebCore::MediaControlInputElement::styleForElement):
131 (WebCore::MediaControlInputElement::attach):
132 (WebCore::MediaControlInputElement::updateStyle):
133 (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
134 (WebCore::MediaControlTimeDisplayElement::styleForElement):
135 (WebCore::MediaControlTimeDisplayElement::setVisible):
136 * rendering/MediaControlElements.h:
137 * rendering/RenderMedia.cpp:
138 (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure
139 we take in account the zoom level when deciding if we should hide the
140 ellapsed and remaining time.
142 2009-07-09 Michael Nordman <michaeln@google.com>
144 Reviewed by Darin Adler.
146 Fix chromium build bustage due to Widget being a RefCounted class.
147 https://bugs.webkit.org/show_bug.cgi?id=27139
149 * platform/chromium/PopupMenuChromium.cpp:
150 * platform/chromium/PopupMenuChromium.h:
152 2009-07-09 Chris Fleizach <cfleizach@apple.com>
154 Reviewed by Darin Adler.
156 Bug 27130 - Need to implement ARIA role="toolbar"
157 https://bugs.webkit.org/show_bug.cgi?id=27130
159 Test: platform/mac/accessibility/aria-toolbar.html
161 * accessibility/AccessibilityRenderObject.cpp:
162 (WebCore::RoleEntry::):
163 * accessibility/mac/AccessibilityObjectWrapper.mm:
164 (-[AccessibilityObjectWrapper roleDescription]):
166 2009-07-09 Dimitri Glazkov <dglazkov@chromium.org>
168 Reviewed by Darin Fisher.
170 [Chromium] Upstream WebCore.gypi, the project file for Chromium build.
171 https://bugs.webkit.org/show_bug.cgi?id=27135
173 * WebCore.gypi: Added.
175 2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
177 A more robust fix for <rdar://problem/6930280> Reproducible crash at
178 USA Today photo gallery
180 Reviewed by Steve Falkenburg.
182 * plugins/win/PluginMessageThrottlerWin.cpp:
183 (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
184 Protect the PluginView from destruction before calling its window proc.
186 2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
188 <rdar://problem/6978804> WER #16: Repro Access Violation in
189 WebCore::PluginView::bindingInstance (1310178023)
191 Reviewed by Darin Adler.
193 * plugins/PluginView.cpp:
194 (WebCore::PluginView::bindingInstance):
195 Protect the PluginView from destruction before calling NPN_GetValue. If
196 the renderer for the PluginView was destroyed during the call, and the
197 PluginView's ref count is now 1, return null.
199 2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
201 Speculative fix for <rdar://problem/6991251> WER #13: Crash in
202 WebKit!WebCore::PluginView::performRequest+203 (1311461169)
204 Reviewed by Darin Adler.
206 * plugins/PluginView.cpp:
207 (WebCore::PluginView::performRequest):
208 Protect the PluginView from destruction before performing a load.
209 Removed some trailing whitespace.
211 2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
215 * inspector/JavaScriptDebugServer.cpp:
216 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
218 2009-07-09 Beth Dakin and Jon Honeycutt <bdakin@apple.com>
220 Reviewed by Dave Hyatt.
222 Make Widget RefCounted to fix or make fixable:
224 <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs
225 at WebCore::Widget::afterMouseDown() after clicking To Do's close
227 <rdar://problem/6978804> WER #16: Repro Access Violation in
228 WebCore::PluginView::bindingInstance (1310178023)
230 <rdar://problem/6991251> WER #13: Crash in WebKit!
231 WebCore::PluginView::performRequest+203 (1311461169)
233 * loader/EmptyClients.h:
234 (WebCore::EmptyFrameLoaderClient::createPlugin):
235 Changed to return PassRefPtr
236 (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
239 * loader/FrameLoader.cpp:
240 (WebCore::FrameLoader::loadSubframe):
241 (WebCore::FrameLoader::loadPlugin):
242 Make the widget variable a RefPtr. Use .get() when passing it to
243 RenderPart::setWidget().
244 (WebCore::FrameLoader::createJavaAppletWidget):
245 Make the widget variable a RefPtr.
247 * loader/FrameLoader.h:
248 Changed the return type of createJavaAppletWidget().
250 * loader/FrameLoaderClient.h:
251 Change the return types of createPlugin() and
252 createJavaAppletWidget().
255 (WebCore::Frame::createView):
256 No need to call .get() since setWidget() takes a RefPtr.
258 * page/FrameView.cpp:
259 (WebCore::FrameView::layoutIfNeededRecursive):
260 children() now returns a HashSet of RefPtrs.
263 Remove inheritance from RefCounted; we pick this up from ScrollView
266 * platform/ScrollView.cpp:
267 (WebCore::ScrollView::addChild):
268 addChild() now takes a PassRefPtr and m_children now keeps a
271 * platform/ScrollView.h:
272 ScrollView constructor is now protected.
273 (WebCore::ScrollView::children):
274 m_children is now a HashSet of RefPtrs.
276 * platform/Scrollbar.h:
277 Remove inheritance from RefCounted; we pick this up from ScrollView
281 Inherit from RefCounted. Cleaned up some whitespace. Make m_widget
284 * plugins/PluginView.cpp:
285 (WebCore::PluginView::create):
286 Adopt the PluginView when returning it.
288 * plugins/PluginView.h:
289 Changed create() to return a PassRefPtr.
291 * rendering/RenderApplet.cpp:
292 Receive result in a RefPtr when calling createJavaAppletWidget().
294 * rendering/RenderPart.cpp:
295 (WebCore::RenderPart::setWidget):
296 setWidget() now takes a PassRefPtr. Also removed the manual ref of
297 FrameViews. This is handled by having m_widget be a RefPtr. Removed
300 * rendering/RenderPart.h:
301 Removed override of deleteWidget().
303 * rendering/RenderWidget.cpp:
304 (WebCore::RenderWidget::destroy):
305 (WebCore::RenderWidget::setWidget):
306 (WebCore::RenderWidget::paint):
307 (WebCore::RenderWidget::setOverlapTestResult):
308 (WebCore::RenderWidget::updateWidgetPosition):
310 (WebCore::RenderWidget::clearWidget):
311 Don't call deleteWidget(). It was removed.
313 * rendering/RenderWidget.h:
314 Removed deleteWidget(). Made m_widget a RefPtr.
315 (WebCore::RenderWidget::widget):
318 2009-07-09 Chris Fleizach <cfleizach@apple.com>
320 Reviewed by Darin Adler.
322 Bug 27129 - AX: possible assertion for a non-native image in accessibility
323 https://bugs.webkit.org/show_bug.cgi?id=27129
325 It's possible for an image that is not really an image to assert, because its renderer
326 is turned into a RenderImage.
328 Test: accessibility/non-native-image-crash.html
330 * accessibility/AccessibilityRenderObject.cpp:
331 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
332 (WebCore::RoleEntry::):
333 * accessibility/mac/AccessibilityObjectWrapper.mm:
334 (-[AccessibilityObjectWrapper roleDescription]):
336 2009-07-09 Simon Fraser <simon.fraser@apple.com>
338 Build fix for SnowLeopard.
340 Avoid using the contentsTransform methods if not on Leopard, because
341 we don't need to call them.
343 * platform/graphics/mac/GraphicsLayerCA.mm:
344 (WebCore::GraphicsLayerCA::updateContentsTransform):
345 * platform/graphics/mac/WebLayer.mm:
346 (-[WebLayer setNeedsDisplayInRect:]):
347 * platform/graphics/mac/WebTiledLayer.mm:
348 (-[WebTiledLayer setNeedsDisplayInRect:]):
350 2009-07-09 Simon Fraser <simon.fraser@apple.com>
352 Reviewed by Dave Hyatt
354 Improve the appearance of text in compositing layers when -[CALayer geometryFlipped]
356 <rdar://problem/6120614>
358 * platform/graphics/GraphicsLayer.h:
359 (WebCore::GraphicsLayer::setContentsOrientation):
360 (WebCore::GraphicsLayer::contentsOrientation):
361 * platform/graphics/GraphicsLayer.cpp:
362 (WebCore::GraphicsLayer::GraphicsLayer):
363 Add a m_contentsOrientation member and getter/setter to control whether
364 the contents of this layer have a transform applied to them before display.
366 * platform/graphics/mac/GraphicsLayerCA.h:
367 New method to return the default contents orientation.
369 * platform/graphics/mac/GraphicsLayerCA.mm:
370 (WebCore::flipTransform):
371 Convenience method to return a transform with a Y flip.
373 (WebCore::GraphicsLayerCA::GraphicsLayerCA):
374 (WebCore::GraphicsLayerCA::setSize):
375 After the size changes we have to update the contentsTransform.
377 (WebCore::GraphicsLayerCA::setGeometryOrientation):
378 (WebCore::GraphicsLayerCA::geometryOrientation):
379 If -setGeometryFlipped: is not available, use a children transform.
381 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
382 Tiled layers have issues with flipped contentsTransform, so just use
383 top-down drawing for them. Call updateContentsTransform() to set the
384 new contents transform after swapping layers.
386 (WebCore::GraphicsLayerCA::defaultContentsOrientation):
387 Use bottom-up when -geometryFlipped is not available, otherwise top-down.
389 (WebCore::GraphicsLayerCA::updateContentsTransform):
390 Set the layer contents transform based on contentsOrientation().
392 (WebCore::GraphicsLayerCA::setContentsLayer):
393 We have to manually flip contents layers if we're not using -geometryFlipped.
395 * platform/graphics/mac/WebLayer.h:
396 * platform/graphics/mac/WebLayer.mm:
397 Do early return if layerContents is nil. Flip the CTM if the layer has
398 bottom-up coordinates, so that CG sees a CTM with no flip.
399 Do the CGContextRestoreGState() after drawing the debug indicator.
401 (-[WebLayer setNeedsDisplayInRect:]):
402 * platform/graphics/mac/WebTiledLayer.mm:
403 (-[WebTiledLayer setNeedsDisplayInRect:]):
404 Need to map the dirty rect through the contentsTransform.
406 2009-07-09 Alexey Proskuryakov <ap@webkit.org>
408 Reviewed by Geoff Garen.
410 <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects.
412 Can't test this functionality with layout tests.
415 * history/HistoryItem.cpp:
416 (WebCore::HistoryItem::recordVisitAtTime):
417 (WebCore::HistoryItem::visited):
418 * history/HistoryItem.h:
419 Only increase visit count if explicitly told to. Now, some visits change last access time,
420 but do not increase visit count.
422 2009-07-09 Eric Carlson <eric.carlson@apple.com>
424 Reviewed by Simon Fraser.
426 <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3
428 Require QuickTime 7.6.3 or higher to enable the new media controller UI.
430 * rendering/RenderThemeMac.mm:
431 (WebCore::mediaControllerTheme):
433 2009-07-09 Sam Weinig <sam@webkit.org>
435 Reviewed by Beth Dakin.
437 Remove incorrect comment.
439 * page/MouseEventWithHitTestResults.h:
441 2009-07-09 Mads Ager <ager@chromium.org>
443 Reviewed by Dimitri Glazkov.
445 Update the V8 bindings codegenerator to use the RGBColor::create
446 method to handle refcounts for RGBColor objects correctly.
448 * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects.
450 2009-07-09 Eric Carlson <eric.carlson@apple.com>
452 Reviewed by Adele Peterson.
454 Crash in RenderMedia::styleDidChange.
455 <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with
456 media element (RenderMedia::styleDidChange + 115)
458 Speculative fix for crash in styleDidChange. Null check controller elements before tell
459 them to update style.
461 * rendering/RenderMedia.cpp:
462 (WebCore::RenderMedia::styleDidChange):
464 2009-07-09 Adam Barth <abarth@webkit.org>
466 Reviewed by Dimitri Glazkov.
468 [V8] Move V8DOMWrapper to its own file
469 https://bugs.webkit.org/show_bug.cgi?id=27121
471 * bindings/v8/V8DOMWrapper.cpp: Added.
472 (WebCore::GetToStringName):
473 (WebCore::ConstructorToString):
474 (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
475 (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
476 (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
477 (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
478 (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
479 (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
480 (WebCore::V8DOMWrapper::getTemplate):
481 (WebCore::V8DOMWrapper::convertToV8Object):
482 (WebCore::V8DOMWrapper::setHiddenWindowReference):
483 (WebCore::V8DOMWrapper::domWrapperType):
484 (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
485 (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
486 (WebCore::V8DOMWrapper::lookupDOMWrapper):
487 (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
488 (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
489 (WebCore::V8DOMWrapper::instantiateV8Object):
490 (WebCore::V8DOMWrapper::setDOMWrapper):
491 (WebCore::V8DOMWrapper::maybeDOMWrapper):
492 (WebCore::V8DOMWrapper::isDOMEventWrapper):
493 (WebCore::V8DOMWrapper::isWrapperOfType):
494 (WebCore::V8DOMWrapper::htmlElementType):
495 (WebCore::V8DOMWrapper::svgElementType):
496 (WebCore::V8DOMWrapper::convertEventToV8Object):
498 (WebCore::V8DOMWrapper::convertNodeToV8Object):
499 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
500 (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
501 (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
502 (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
503 (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
504 (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
505 (WebCore::V8DOMWrapper::convertWindowToV8Object):
506 * bindings/v8/V8DOMWrapper.h: Added.
507 (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
508 (WebCore::V8DOMWrapper::wrapCPointer):
509 (WebCore::V8DOMWrapper::extractCPointer):
510 (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
511 (WebCore::V8DOMWrapper::convertToV8Object):
512 (WebCore::V8DOMWrapper::convertToNativeObject):
513 (WebCore::V8DOMWrapper::convertToNativeEvent):
514 (WebCore::V8DOMWrapper::extractCPointerImpl):
515 (WebCore::V8DOMWrapper::instantiateV8Object):
516 * bindings/v8/V8Proxy.cpp:
517 * bindings/v8/V8Proxy.h:
519 2009-07-09 David Hyatt <hyatt@apple.com>
521 Reviewed by Adele Peterson.
523 Crash in setFocusedFrame.
524 <rdar://7032869> Crashing in setFocusedFrame on blogger.com.
526 Speculative fix for crasher in setFocusedFrame. Make sure to ref both frames and fire
527 the events only after the local member has been updated.
529 * page/FocusController.cpp:
530 (WebCore::FocusController::setFocusedFrame):
532 2009-07-09 Eric Carlson <eric.carlson@apple.com>
534 Reviewed by Adele Peterson.
536 Possible crashes when mouse clicks not dispatched because range input destroyed while
537 thumb is being dragged (e.g. scrub to end of movie)
538 <rdar://problem/7037494>
539 https://bugs.webkit.org/show_bug.cgi?id=27101
541 Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to
542 get mouse events even when the mouse is moved outside of the node. This is done by putting
543 EventHandler into a mode where it sends all mouse events to the node regardless of the
544 actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the
545 node is deleted while in this mode, the mouseUp is never sent and EventHandler continues
546 to try to send events to the deleted node. This sometimes results in a crash, and sometimes
547 in a page that doesn't respond to click events.
549 Tests: fast/forms/search-delete-while-cancel-button-clicked.html
550 fast/forms/slider-delete-while-dragging-thumb.html
551 media/audio-delete-while-slider-thumb-clicked.html
552 media/audio-delete-while-step-button-clicked.html
554 * rendering/MediaControlElements.cpp:
555 (WebCore::MediaControlSeekButtonElement::detach):
556 New, call setCapturingMouseEventsNode if capturing mouse events.
557 * rendering/MediaControlElements.h:
560 * rendering/RenderSlider.cpp:
561 (WebCore::SliderThumbElement::detach):
562 New, call setCapturingMouseEventsNode if capturing mouse events.
564 * rendering/TextControlInnerElements.cpp:
565 (WebCore::SearchFieldCancelButtonElement::detach):
566 New, call setCapturingMouseEventsNode if capturing mouse events.
567 * rendering/TextControlInnerElements.h:
570 2009-07-09 Yury Semikhatsky <yurys@chromium.org>
572 Reviewed by Dimitri Glazkov.
574 Enter the Frame's context before creating new objects in setContextDebugId.
576 https://bugs.webkit.org/show_bug.cgi?id=27112
578 * bindings/v8/V8Proxy.cpp:
579 (WebCore::V8Proxy::setContextDebugId):
581 2009-07-09 Simon Hausmann <hausmann@webkit.org>
585 * WebCore.pro: Add new storage impl files to the build.
587 2009-07-08 Adam Barth <abarth@webkit.org>
589 Rubber stamped by Eric Seidel.
591 [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper
592 https://bugs.webkit.org/show_bug.cgi?id=27107
594 This patch is just renaming. Code motion will occur next.
596 * bindings/scripts/CodeGeneratorV8.pm:
597 * bindings/v8/ScriptController.cpp:
598 (WebCore::ScriptController::processingUserGesture):
599 (WebCore::createScriptObject):
600 (WebCore::ScriptController::createScriptObjectForPluginElement):
601 * bindings/v8/ScriptObject.cpp:
602 (WebCore::ScriptGlobalObject::set):
603 * bindings/v8/ScriptObjectQuarantine.cpp:
604 (WebCore::getQuarantinedScriptObject):
605 * bindings/v8/V8AbstractEventListener.cpp:
606 (WebCore::V8AbstractEventListener::handleEvent):
607 (WebCore::V8AbstractEventListener::getReceiverObject):
608 * bindings/v8/V8Collection.cpp:
609 (WebCore::toOptionsCollectionSetter):
610 * bindings/v8/V8Collection.h:
611 (WebCore::getV8Object):
612 (WebCore::getNamedPropertyOfCollection):
613 (WebCore::nodeCollectionNamedPropertyGetter):
614 (WebCore::getIndexedPropertyOfCollection):
615 (WebCore::nodeCollectionIndexedPropertyGetter):
616 (WebCore::nodeCollectionIndexedPropertyEnumerator):
617 (WebCore::collectionIndexedPropertyEnumerator):
618 (WebCore::collectionStringOrNullIndexedPropertyGetter):
619 * bindings/v8/V8DOMMap.cpp:
620 (WebCore::DOMData::handleWeakObject):
621 (WebCore::DOMData::removeObjectsFromWrapperMap):
622 * bindings/v8/V8GCController.cpp:
623 (WebCore::enumerateDOMObjectMap):
624 (WebCore::DOMObjectVisitor::visitDOMWrapper):
625 (WebCore::GCPrologueVisitor::visitDOMWrapper):
626 (WebCore::GCEpilogueVisitor::visitDOMWrapper):
627 * bindings/v8/V8Helpers.cpp:
628 (WebCore::wrapNPObject):
629 * bindings/v8/V8NodeFilterCondition.cpp:
630 (WebCore::V8NodeFilterCondition::acceptNode):
631 * bindings/v8/V8Proxy.cpp:
632 (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
633 (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
634 (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
635 (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
636 (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
637 (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
638 (WebCore::V8Proxy::evaluateInNewContext):
639 (WebCore::V8Proxy::getConstructor):
640 (WebCore::V8DOMWrapper::getTemplate):
641 (WebCore::V8Proxy::retrieveWindow):
642 (WebCore::V8Proxy::updateDocumentWrapperCache):
643 (WebCore::V8Proxy::clearForNavigation):
644 (WebCore::V8Proxy::installDOMWindow):
645 (WebCore::setDOMExceptionHelper):
646 (WebCore::V8DOMWrapper::convertToV8Object):
647 (WebCore::V8DOMWrapper::setHiddenWindowReference):
648 (WebCore::V8DOMWrapper::domWrapperType):
649 (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
650 (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
651 (WebCore::V8DOMWrapper::lookupDOMWrapper):
652 (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
653 (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
654 (WebCore::V8DOMWrapper::instantiateV8Object):
655 (WebCore::V8DOMWrapper::setDOMWrapper):
656 (WebCore::V8DOMWrapper::maybeDOMWrapper):
657 (WebCore::V8DOMWrapper::isDOMEventWrapper):
658 (WebCore::V8DOMWrapper::isWrapperOfType):
659 (WebCore::V8DOMWrapper::htmlElementType):
660 (WebCore::V8DOMWrapper::svgElementType):
661 (WebCore::V8DOMWrapper::convertEventToV8Object):
662 (WebCore::V8DOMWrapper::convertNodeToV8Object):
663 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
664 (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
665 (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
666 (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
667 (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
668 (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
669 (WebCore::V8DOMWrapper::convertWindowToV8Object):
670 (WebCore::V8Proxy::bindJsObjectToWindow):
671 * bindings/v8/V8Proxy.h:
672 (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
673 (WebCore::V8DOMWrapper::wrapCPointer):
674 (WebCore::V8DOMWrapper::extractCPointer):
675 (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
676 (WebCore::V8DOMWrapper::convertToV8Object):
677 (WebCore::V8DOMWrapper::convertToNativeObject):
678 (WebCore::V8DOMWrapper::convertToNativeEvent):
679 (WebCore::V8DOMWrapper::extractCPointerImpl):
680 (WebCore::V8DOMWrapper::instantiateV8Object):
681 (WebCore::V8Proxy::constructDOMObject):
683 * bindings/v8/V8SVGPODTypeWrapper.h:
684 (WebCore::V8SVGPODTypeUtil::toSVGPODType):
685 * bindings/v8/WorkerContextExecutionProxy.cpp:
686 (WebCore::WorkerContextExecutionProxy::retrieve):
687 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
688 (WebCore::WorkerContextExecutionProxy::GetConstructor):
689 (WebCore::WorkerContextExecutionProxy::ToV8Object):
690 (WebCore::WorkerContextExecutionProxy::EventToV8Object):
691 (WebCore::WorkerContextExecutionProxy::toV8):
692 * bindings/v8/custom/V8AttrCustom.cpp:
693 (WebCore::ACCESSOR_SETTER):
694 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
695 (WebCore::NAMED_PROPERTY_GETTER):
696 (WebCore::NAMED_PROPERTY_SETTER):
697 * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
698 (WebCore::INDEXED_PROPERTY_GETTER):
699 (WebCore::INDEXED_PROPERTY_SETTER):
700 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
702 (WebCore::toCanvasStyle):
703 (WebCore::ACCESSOR_GETTER):
704 (WebCore::ACCESSOR_SETTER):
705 (WebCore::CALLBACK_FUNC_DECL):
706 * bindings/v8/custom/V8ClientRectListCustom.cpp:
707 (WebCore::INDEXED_PROPERTY_GETTER):
708 * bindings/v8/custom/V8ClipboardCustom.cpp:
709 (WebCore::ACCESSOR_GETTER):
710 (WebCore::CALLBACK_FUNC_DECL):
711 * bindings/v8/custom/V8CustomBinding.cpp:
712 (WebCore::ACCESSOR_GETTER):
713 (WebCore::INDEXED_ACCESS_CHECK):
714 (WebCore::NAMED_ACCESS_CHECK):
715 (WebCore::V8Custom::GetTargetFrame):
716 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
717 (WebCore::V8CustomSQLStatementCallback::handleEvent):
718 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
719 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
720 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
721 (WebCore::V8CustomSQLTransactionCallback::handleEvent):
722 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
723 (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
724 * bindings/v8/custom/V8DOMWindowCustom.cpp:
725 (WebCore::V8Custom::WindowSetTimeoutImpl):
726 (WebCore::ACCESSOR_SETTER):
727 (WebCore::CALLBACK_FUNC_DECL):
728 (WebCore::ACCESSOR_GETTER):
729 (WebCore::INDEXED_PROPERTY_GETTER):
730 (WebCore::NAMED_PROPERTY_GETTER):
731 (WebCore::V8Custom::ClearTimeoutImpl):
732 (WebCore::NAMED_ACCESS_CHECK):
733 (WebCore::INDEXED_ACCESS_CHECK):
734 * bindings/v8/custom/V8DatabaseCustom.cpp:
735 (WebCore::CALLBACK_FUNC_DECL):
736 * bindings/v8/custom/V8DocumentCustom.cpp:
737 (WebCore::CALLBACK_FUNC_DECL):
738 * bindings/v8/custom/V8DocumentLocationCustom.cpp:
739 (WebCore::ACCESSOR_GETTER):
740 (WebCore::ACCESSOR_SETTER):
741 * bindings/v8/custom/V8ElementCustom.cpp:
742 (WebCore::CALLBACK_FUNC_DECL):
743 (WebCore::ACCESSOR_SETTER):
744 (WebCore::ACCESSOR_GETTER):
745 * bindings/v8/custom/V8EventCustom.cpp:
746 (WebCore::ACCESSOR_SETTER):
747 (WebCore::ACCESSOR_GETTER):
748 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
749 (WebCore::CALLBACK_FUNC_DECL):
750 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
751 (WebCore::CALLBACK_FUNC_DECL):
752 * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
753 (WebCore::getNamedItems):
755 (WebCore::NAMED_PROPERTY_GETTER):
756 (WebCore::CALLBACK_FUNC_DECL):
757 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
758 (WebCore::NAMED_PROPERTY_GETTER):
759 (WebCore::CALLBACK_FUNC_DECL):
760 (WebCore::ACCESSOR_GETTER):
761 * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
762 (WebCore::INDEXED_PROPERTY_GETTER):
763 (WebCore::NAMED_PROPERTY_GETTER):
764 (WebCore::CALLBACK_FUNC_DECL):
765 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
766 (WebCore::ACCESSOR_SETTER):
767 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
768 (WebCore::NAMED_PROPERTY_GETTER):
769 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
770 (WebCore::ACCESSOR_SETTER):
771 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
772 (WebCore::CALLBACK_FUNC_DECL):
773 * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
774 (WebCore::ACCESSOR_GETTER):
775 (WebCore::ACCESSOR_SETTER):
776 (WebCore::CALLBACK_FUNC_DECL):
777 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
778 (WebCore::CALLBACK_FUNC_DECL):
779 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
780 (WebCore::CALLBACK_FUNC_DECL):
781 (WebCore::ACCESSOR_GETTER):
782 (WebCore::ACCESSOR_SETTER):
783 (WebCore::INDEXED_PROPERTY_GETTER):
784 (WebCore::INDEXED_PROPERTY_SETTER):
785 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
786 (WebCore::NAMED_PROPERTY_GETTER):
787 (WebCore::NAMED_PROPERTY_SETTER):
788 (WebCore::INDEXED_PROPERTY_GETTER):
789 (WebCore::INDEXED_PROPERTY_SETTER):
790 * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
791 (WebCore::NAMED_PROPERTY_GETTER):
792 (WebCore::INDEXED_PROPERTY_SETTER):
793 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
794 (WebCore::CALLBACK_FUNC_DECL):
795 (WebCore::removeElement):
796 * bindings/v8/custom/V8InspectorControllerCustom.cpp:
797 (WebCore::CALLBACK_FUNC_DECL):
798 * bindings/v8/custom/V8LocationCustom.cpp:
799 (WebCore::ACCESSOR_SETTER):
800 (WebCore::ACCESSOR_GETTER):
801 (WebCore::CALLBACK_FUNC_DECL):
802 (WebCore::INDEXED_ACCESS_CHECK):
803 (WebCore::NAMED_ACCESS_CHECK):
804 * bindings/v8/custom/V8MessageChannelConstructor.cpp:
805 (WebCore::CALLBACK_FUNC_DECL):
806 * bindings/v8/custom/V8MessagePortCustom.cpp:
807 (WebCore::ACCESSOR_GETTER):
808 (WebCore::ACCESSOR_SETTER):
809 (WebCore::CALLBACK_FUNC_DECL):
810 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
811 (WebCore::INDEXED_PROPERTY_GETTER):
812 (WebCore::NAMED_PROPERTY_GETTER):
813 * bindings/v8/custom/V8NavigatorCustom.cpp:
814 (WebCore::ACCESSOR_GETTER):
815 * bindings/v8/custom/V8NodeCustom.cpp:
816 (WebCore::CALLBACK_FUNC_DECL):
817 * bindings/v8/custom/V8NodeIteratorCustom.cpp:
819 (WebCore::CALLBACK_FUNC_DECL):
820 * bindings/v8/custom/V8NodeListCustom.cpp:
821 (WebCore::NAMED_PROPERTY_GETTER):
822 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
823 (WebCore::CALLBACK_FUNC_DECL):
824 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
825 (WebCore::CALLBACK_FUNC_DECL):
826 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
827 (WebCore::CALLBACK_FUNC_DECL):
828 * bindings/v8/custom/V8SVGLengthCustom.cpp:
829 (WebCore::ACCESSOR_GETTER):
830 (WebCore::CALLBACK_FUNC_DECL):
831 * bindings/v8/custom/V8SVGMatrixCustom.cpp:
832 (WebCore::CALLBACK_FUNC_DECL):
833 * bindings/v8/custom/V8StorageCustom.cpp:
834 (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
835 (WebCore::storageGetter):
836 (WebCore::storageSetter):
837 (WebCore::storageDeleter):
838 * bindings/v8/custom/V8StyleSheetListCustom.cpp:
839 (WebCore::NAMED_PROPERTY_GETTER):
840 * bindings/v8/custom/V8TreeWalkerCustom.cpp:
842 (WebCore::CALLBACK_FUNC_DECL):
843 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
844 (WebCore::CALLBACK_FUNC_DECL):
845 * bindings/v8/custom/V8WorkerContextCustom.cpp:
846 (WebCore::ACCESSOR_GETTER):
847 (WebCore::ACCESSOR_SETTER):
848 (WebCore::SetTimeoutOrInterval):
849 (WebCore::CALLBACK_FUNC_DECL):
850 * bindings/v8/custom/V8WorkerCustom.cpp:
851 (WebCore::CALLBACK_FUNC_DECL):
852 (WebCore::ACCESSOR_GETTER):
853 (WebCore::ACCESSOR_SETTER):
854 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
855 (WebCore::CALLBACK_FUNC_DECL):
856 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
857 (WebCore::ACCESSOR_GETTER):
858 (WebCore::ACCESSOR_SETTER):
859 (WebCore::CALLBACK_FUNC_DECL):
860 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
861 (WebCore::ACCESSOR_GETTER):
862 (WebCore::ACCESSOR_SETTER):
863 (WebCore::CALLBACK_FUNC_DECL):
864 * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
865 (WebCore::CALLBACK_FUNC_DECL):
867 2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
869 Reviewed by Simon Fraser.
871 Make sure we can click outside the slider thumb and start dragging.
872 https://bugs.webkit.org/show_bug.cgi?id=26229
874 Previously we were assuming that if the thumb hasn't been clicked, we
875 wouldn't issue any value change upon dragging.
877 We need to handle the two different cases:
878 - Clicked in the thumb, we need to make sure the cursor is always pointing
879 the same slider thumb point.
880 - Clicked outside, the cursor should always be pointing to the center of
883 For simplicity, we don't remember the original point of the mouse down,
884 but a vector between that point and the thumb.
886 * rendering/RenderSlider.cpp:
887 (WebCore::SliderThumbElement::SliderThumbElement):
888 (WebCore::SliderThumbElement::defaultEventHandler):
889 (WebCore::RenderSlider::mouseEventVectorToThumb): Utility function.
890 * rendering/RenderSlider.h:
892 2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
894 Reviewed by Simon Fraser.
896 https://bugs.webkit.org/show_bug.cgi?id=27100
897 <rdar://problem/7042621>
899 Don't display "loading" in the <video> controller when
900 there is no src specified.
902 * rendering/MediaControlElements.cpp:
903 (WebCore::MediaControlStatusDisplayElement::update): The only
904 way to find out if we have an element is currentSrc(). networkState()
905 will always report LOADING according to the spec.
907 2009-07-08 Adam Barth <abarth@webkit.org>
909 Reviewed by Eric Seidel.
911 [V8] Move V8GCController functions to their own file
912 https://bugs.webkit.org/show_bug.cgi?id=27102
914 * bindings/v8/V8GCController.cpp: Added.
915 * bindings/v8/V8GCController.h: Added.
916 * bindings/v8/V8Proxy.cpp:
917 * bindings/v8/V8Proxy.h:
919 2009-07-08 Jeremy Orlow <jorlow@chromium.org>
921 Reviewed by Darin Fisher.
923 Split StorageArea and StorageNamespace into an interface and implementation.
924 https://bugs.webkit.org/show_bug.cgi?id=27072
926 I need to split StorageNamespace and StorageArea into an interface and
927 implementation. In a later patch, I'll implement a proxy interface
928 that'll run inside the Chromium renderer process.
930 Additionally, fix the alphabetical ordering of files I recently added
931 in the project files.
933 This is a continuation of other refactoring work:
934 https://bugs.webkit.org/show_bug.cgi?id=25376
937 * WebCore.vcproj/WebCore.vcproj:
938 * WebCore.xcodeproj/project.pbxproj:
939 * WebCoreSources.bkl:
940 * storage/StorageArea.cpp:
941 (WebCore::StorageArea::create):
942 * storage/StorageArea.h:
943 (WebCore::StorageArea::~StorageArea):
944 * storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp.
945 (WebCore::StorageAreaImpl::create):
946 (WebCore::StorageAreaImpl::~StorageAreaImpl):
947 (WebCore::StorageAreaImpl::StorageAreaImpl):
948 (WebCore::StorageAreaImpl::copy):
949 (WebCore::StorageAreaImpl::length):
950 (WebCore::StorageAreaImpl::key):
951 (WebCore::StorageAreaImpl::getItem):
952 (WebCore::StorageAreaImpl::setItem):
953 (WebCore::StorageAreaImpl::removeItem):
954 (WebCore::StorageAreaImpl::clear):
955 (WebCore::StorageAreaImpl::contains):
956 (WebCore::StorageAreaImpl::importItem):
957 (WebCore::StorageAreaImpl::securityOrigin):
958 (WebCore::StorageAreaImpl::close):
959 (WebCore::StorageAreaImpl::blockUntilImportComplete):
960 (WebCore::StorageAreaImpl::dispatchStorageEvent):
961 * storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h.
962 * storage/StorageAreaSync.h:
963 * storage/StorageNamespace.cpp:
964 (WebCore::StorageNamespace::localStorageNamespace):
965 (WebCore::StorageNamespace::sessionStorageNamespace):
966 * storage/StorageNamespace.h:
967 (WebCore::StorageNamespace::~StorageNamespace):
968 * storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp.
969 (WebCore::StorageNamespaceImpl::localStorageNamespace):
970 (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
971 (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
972 (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
973 (WebCore::StorageNamespaceImpl::copy):
974 (WebCore::StorageNamespaceImpl::storageArea):
975 (WebCore::StorageNamespaceImpl::close):
976 * storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h.
978 2009-07-08 Adam Barth <abarth@webkit.org>
980 Reviewed by Eric Seidel.
982 [V8] Move garbage collector related functions from V8Proxy to V8GCController
983 https://bugs.webkit.org/show_bug.cgi?id=26967
985 This patch just moves the functions around in V8Proxy. We'll actually
986 move them to a separate file in another patch.
988 * bindings/v8/NPV8Object.cpp:
990 * bindings/v8/ScheduledAction.cpp:
991 (WebCore::ScheduledAction::ScheduledAction):
992 (WebCore::ScheduledAction::~ScheduledAction):
993 * bindings/v8/ScriptController.cpp:
994 (WebCore::ScriptController::gcProtectJSWrapper):
995 (WebCore::ScriptController::gcUnprotectJSWrapper):
996 * bindings/v8/ScriptInstance.cpp:
997 (WebCore::V8ScriptInstance::clear):
998 (WebCore::V8ScriptInstance::set):
999 * bindings/v8/ScriptValue.h:
1000 (WebCore::ScriptValue::ScriptValue):
1001 (WebCore::ScriptValue::operator=):
1002 (WebCore::ScriptValue::clear):
1003 * bindings/v8/V8AbstractEventListener.cpp:
1004 (WebCore::V8AbstractEventListener::disposeListenerObject):
1005 * bindings/v8/V8LazyEventListener.cpp:
1006 (WebCore::V8LazyEventListener::~V8LazyEventListener):
1007 (WebCore::V8LazyEventListener::getListenerFunction):
1008 (WebCore::V8LazyEventListener::getWrappedListenerFunction):
1009 * bindings/v8/V8NodeFilterCondition.cpp:
1010 (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
1011 (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
1012 * bindings/v8/V8Proxy.cpp:
1013 (WebCore::V8GCController::registerGlobalHandle):
1014 (WebCore::V8GCController::unregisterGlobalHandle):
1015 (WebCore::V8GCController::gcProtect):
1016 (WebCore::V8GCController::gcUnprotect):
1017 (WebCore::V8Proxy::destroyGlobal):
1018 (WebCore::V8Proxy::updateDocumentWrapper):
1019 (WebCore::V8Proxy::clearDocumentWrapper):
1020 (WebCore::V8Proxy::disposeContextHandles):
1021 (WebCore::V8Proxy::initContextIfNeeded):
1022 * bindings/v8/V8Proxy.h:
1024 (WebCore::GlobalHandleInfo::GlobalHandleInfo):
1025 * bindings/v8/custom/V8CustomEventListener.cpp:
1026 (WebCore::V8EventListener::V8EventListener):
1028 2009-07-08 Daniel Bates <dbates@intudata.com>
1030 Reviewed by Adam Barth.
1032 https://bugs.webkit.org/show_bug.cgi?id=26918
1034 Prevents injection of HTML Base tag.
1036 Tests: http/tests/security/xssAuditor/base-href-control-char.html
1037 http/tests/security/xssAuditor/base-href-null-char.html
1038 http/tests/security/xssAuditor/base-href-safe.html
1039 http/tests/security/xssAuditor/base-href-safe2.html
1040 http/tests/security/xssAuditor/base-href-scheme-relative.html
1041 http/tests/security/xssAuditor/base-href.html
1043 * html/HTMLBaseElement.cpp:
1044 (WebCore::HTMLBaseElement::parseMappedAttribute):
1045 (WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL
1046 to determine if it is safe to use base element URL.
1047 * html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL.
1048 * page/XSSAuditor.cpp:
1049 (WebCore::XSSAuditor::canSetBaseElementURL):
1050 * page/XSSAuditor.h:
1052 2009-07-08 Nate Chapin <japhet@chromium.org>
1054 Reviewed by Dimitri Glazkov.
1056 Upstream V8 npruntime bindings.
1058 https://bugs.webkit.org/show_bug.cgi?id=27094
1060 * bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org.
1061 (StringKey::operator==):
1062 (StringKey::StringKeyHash::hash):
1063 (StringKey::StringKeyHash::equal):
1064 (StringKeyHashTraits::constructDeletedValue):
1065 (StringKeyHashTraits::isDeletedValue):
1066 (getStringIdentifierMap):
1067 (getIntIdentifierMap):
1068 * bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org.
1069 * bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org.
1070 * bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org.
1072 2009-07-08 Dumitru Daniliuc <dumi@chromium.org>
1074 Reviewed by Darin Fisher.
1076 Extending the PlatformFileHandle definition from PLATFORM(WIN) to
1079 https://bugs.webkit.org/show_bug.cgi?id=27013
1081 * platform/FileSystem.h:
1083 2009-07-08 Daniel Bates <dbates@intudata.com>
1085 Reviewed by Adam Barth.
1087 https://bugs.webkit.org/show_bug.cgi?id=27071
1089 Resolves issue when HTTP parameters contain null- and non-null-control- characters.
1091 Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html
1092 http/tests/security/xssAuditor/embed-tag-control-char.html
1093 http/tests/security/xssAuditor/embed-tag-null-char.html
1094 http/tests/security/xssAuditor/embed-tag.html
1095 http/tests/security/xssAuditor/link-onclick-control-char.html
1096 http/tests/security/xssAuditor/link-onclick-null-char.html
1097 http/tests/security/xssAuditor/object-embed-tag-control-char.html
1098 http/tests/security/xssAuditor/object-embed-tag-null-char.html
1099 http/tests/security/xssAuditor/object-embed-tag.html
1100 http/tests/security/xssAuditor/object-tag.html
1101 http/tests/security/xssAuditor/script-tag-post-control-char.html
1102 http/tests/security/xssAuditor/script-tag-post-null-char.html
1103 http/tests/security/xssAuditor/script-tag-with-source-control-char.html
1104 http/tests/security/xssAuditor/script-tag-with-source-null-char.html
1106 * page/XSSAuditor.cpp:
1107 (WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL.
1108 (WebCore::XSSAuditor::canEvaluate):
1109 (WebCore::XSSAuditor::canCreateInlineEventListener):
1110 (WebCore::XSSAuditor::canLoadObject):
1111 (WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters,
1112 and matchNonNullControlCharacters.
1113 (WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters,
1114 and matchNonNullControlCharacters.
1115 * page/XSSAuditor.h:
1117 2009-07-08 Marc-Antoine Ruel <maruel@chromium.org>
1119 Reviewed by Dimitri Glazkov.
1121 Add DerivesSourcesAllInOne.cpp to help with release windows compilation.
1122 https://bugs.webkit.org/show_bug.cgi?id=27093
1124 This is specific for v8, no change in behavior.
1126 * bindings/v8/DerivedSourcesAllInOne.cpp: Added.
1128 2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
1130 Reviewed by Simon Fraser.
1132 https://bugs.webkit.org/show_bug.cgi?id=27086
1134 Make sure the Media controller doesn't fade in for no reason.
1135 This is happening because a update() call to the controller
1136 panel may reset the opacity to 1.0, given that it reloads the
1139 We also add a different fade in and fade out time to soften
1140 the fade out effect.
1142 No test case because this depends on how the movie is loaded.
1144 * rendering/RenderMedia.cpp:
1145 (WebCore::RenderMedia::RenderMedia):
1146 (WebCore::RenderMedia::updateControls):
1147 (WebCore::RenderMedia::updateControlVisibility): Simplify
1148 , and make sure we stop the timer if there is no animation
1150 (WebCore::RenderMedia::opacityAnimationTimerFired):
1151 * rendering/RenderMedia.h:
1153 2009-07-08 David Kilzer <ddkilzer@apple.com>
1155 Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER)
1157 <https://bugs.webkit.org/show_bug.cgi?id=27081>
1159 Reviewed by Timothy Hatcher.
1161 * platform/cf/RunLoopTimerCF.cpp: This code is only used on
1162 Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code
1163 in that macro as well.
1165 2009-07-08 Greg Bolsinga <bolsinga@apple.com>
1167 Reviewed by Darin Adler.
1169 Add -[WebView _isProcessingUserGesture]
1170 https://bugs.webkit.org/show_bug.cgi?id=27084
1172 Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture()
1175 * WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture()
1176 * html/HTMLMediaElement.cpp:
1177 (WebCore::HTMLMediaElement::processingUserGesture):
1178 * loader/FrameLoader.cpp:
1179 (WebCore::FrameLoader::requestFrame):
1180 (WebCore::FrameLoader::isProcessingUserGesture):
1181 * loader/FrameLoader.h:
1183 2009-07-08 Alexey Proskuryakov <ap@webkit.org>
1185 Reviewed (an earlier version) by Geoff Garen.
1187 https://bugs.webkit.org/show_bug.cgi?id=27090
1188 Remove lockBackForwardList argument from HTMLFormElement::submit()
1190 No change in behavior, so no tests.
1192 * bindings/js/JSHTMLFormElementCustom.cpp:
1193 (WebCore::JSHTMLFormElement::submit):
1194 * html/HTMLFormElement.cpp:
1195 (WebCore::HTMLFormElement::submit):
1196 * html/HTMLFormElement.h:
1197 * loader/FrameLoader.cpp:
1198 (WebCore::FrameLoader::submitForm):
1199 (WebCore::FrameLoader::scheduleFormSubmission):
1200 * loader/FrameLoader.h:
1201 Don't pass lockBackForwardList around when it's known to be false.
1203 2009-07-08 Marc-Antoine Ruel <maruel@chromium.org>
1205 Reviewed by Adam Barth.
1207 Fix V8 idl codegen to use unique constant names
1208 <https://bugs.webkit.org/show_bug.cgi?id=27089>
1210 Embed the interface name in the global constant names so coagulating all
1211 the .cc files into one compile unit works with V8 bindings.
1213 Nothing added; Still compiles and pass tests.
1215 * bindings/scripts/CodeGeneratorV8.pm:
1217 2009-07-08 Brent Fulgham <bfulgham@webkit.org>
1219 Build fix: Add missing #includes for Windows (cURL) build.
1220 The <winsock2.h> and <windows.h> headers were not being
1221 included in Windows cURL builds.
1223 * platform/network/ResourceHandleInternal.h:
1224 * platform/network/curl/ResourceHandleManager.h:
1226 2009-07-08 Shinichiro Hamaji <hamaji@chromium.org>
1228 Reviewed by David Kilzer.
1230 WebKit needs a style linting tool
1231 https://bugs.webkit.org/show_bug.cgi?id=25884
1233 Fix bunch of style issues in WebCore/rendering.
1234 This patch is created to demonstrate cpplint.py.
1236 No testcase because it's just a style fixes.
1238 * rendering/AutoTableLayout.cpp:
1239 (WebCore::AutoTableLayout::recalcColumn):
1240 (WebCore::AutoTableLayout::layout):
1241 * rendering/InlineFlowBox.cpp:
1242 (WebCore::InlineFlowBox::placeEllipsisBox):
1243 * rendering/InlineTextBox.cpp:
1244 (WebCore::InlineTextBox::paintTextMatchMarker):
1245 * rendering/MediaControlElements.cpp:
1246 (WebCore::MediaControlTimelineElement::defaultEventHandler):
1247 * rendering/MediaControlElements.h:
1248 * rendering/RenderArena.cpp:
1249 * rendering/RenderBlock.cpp:
1250 (WebCore::RenderBlock::startDelayUpdateScrollInfo):
1251 (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
1252 (WebCore::RenderBlock::updateScrollInfoAfterLayout):
1253 (WebCore::RenderBlock::positionNewFloats):
1254 (WebCore::RenderBlock::newLine):
1255 (WebCore::RenderBlock::floatBottom):
1256 (WebCore::RenderBlock::leftBottom):
1257 (WebCore::RenderBlock::rightBottom):
1258 * rendering/RenderBox.cpp:
1259 (WebCore::RenderBox::calcReplacedWidthUsing):
1260 * rendering/RenderFieldset.cpp:
1261 (WebCore::RenderFieldset::layoutLegend):
1262 * rendering/RenderFlexibleBox.cpp:
1263 (WebCore::FlexBoxIterator::FlexBoxIterator):
1264 (WebCore::FlexBoxIterator::reset):
1265 (WebCore::FlexBoxIterator::first):
1266 (WebCore::FlexBoxIterator::next):
1267 (WebCore::RenderFlexibleBox::layoutVerticalBox):
1268 * rendering/RenderFrameSet.cpp:
1269 (WebCore::borderStartEdgeColor):
1270 * rendering/RenderFrameSet.h:
1271 * rendering/RenderImage.cpp:
1272 * rendering/RenderLayer.cpp:
1273 (WebCore::RenderLayer::updateVisibilityStatus):
1274 (WebCore::RenderLayer::calculateClipRects):
1275 (WebCore::RenderLayer::calculateRects):
1276 * rendering/RenderListBox.cpp:
1277 (WebCore::RenderListBox::panScroll):
1278 * rendering/RenderMarquee.cpp:
1279 (WebCore::RenderMarquee::updateMarqueeStyle):
1280 * rendering/RenderMedia.cpp:
1281 (WebCore::RenderMedia::updateControls):
1282 * rendering/RenderObject.cpp:
1283 (WebCore::RenderObject::drawLineForBoxSide):
1284 (WebCore::RenderObject::localCaretRect):
1285 * rendering/RenderSVGImage.cpp:
1286 (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
1287 * rendering/RenderSlider.h:
1288 * rendering/RenderTable.cpp:
1289 (WebCore::RenderTable::outerBorderBottom):
1290 * rendering/RenderTableCol.h:
1291 * rendering/RenderTextControlSingleLine.cpp:
1292 (WebCore::RenderTextControlSingleLine::itemIsSeparator):
1293 * rendering/RenderThemeChromiumSkia.cpp:
1294 (WebCore::RenderThemeChromiumSkia::supportsHover):
1295 * rendering/RenderThemeChromiumWin.cpp:
1296 (WebCore::RenderThemeChromiumWin::supportsFocusRing):
1297 * rendering/SVGCharacterLayoutInfo.cpp:
1298 (WebCore::SVGCharacterLayoutInfo::addStackContent):
1299 * rendering/SVGCharacterLayoutInfo.h:
1300 * rendering/TextControlInnerElements.h:
1301 * rendering/bidi.cpp:
1302 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
1304 2009-07-07 Oliver Hunt <oliver@apple.com>
1306 Reviewed by Maciej Stachowiak.
1308 Reduce complexity of lifetime management in DynamicNodeList caches
1309 <https://bugs.webkit.org/show_bug.cgi?id=27068>
1311 Switch the Cache object used by DynamicNodeList into a normal
1312 refcounted object rather than having a weird flag controlled
1313 refcounting system, where positive refcount did not automatically
1314 imply the cache object would actually still be live.
1316 * dom/DynamicNodeList.cpp:
1317 (WebCore::DynamicNodeList::DynamicNodeList):
1318 (WebCore::DynamicNodeList::~DynamicNodeList):
1319 (WebCore::DynamicNodeList::Caches::Caches):
1320 (WebCore::DynamicNodeList::Caches::create):
1321 * dom/DynamicNodeList.h:
1323 (WebCore::Node::childNodes):
1324 (WebCore::Node::getElementsByTagNameNS):
1325 (WebCore::Node::getElementsByName):
1326 (WebCore::Node::getElementsByClassName):
1327 (WebCore::NodeListsNodeData::invalidateCaches):
1328 (WebCore::NodeListsNodeData::isEmpty):
1329 * dom/NodeRareData.h:
1330 (WebCore::NodeListsNodeData::NodeListsNodeData):
1332 2009-07-07 Simon Fraser <simon.fraser@apple.com>
1334 Reviewed by Dan Bernstein.
1336 -webkit-perspective should be a Length
1337 https://bugs.webkit.org/show_bug.cgi?id=27066
1339 -webkit-perspective should not take a magic valueless number, but should
1340 be a normal Length value which responds to zooming. Treat valueless numbers
1341 as pixels for backward compatibility.
1343 Test: transforms/3d/general/perspective-units.html
1345 * css/CSSParser.cpp:
1346 (WebCore::CSSParser::parseValue):
1347 * css/CSSStyleSelector.cpp:
1348 (WebCore::CSSStyleSelector::applyProperty):
1350 2009-07-07 Pierre d'Herbemont <pdherbemont@apple.com>
1352 Reviewed by Simon Fraser.
1354 https://bugs.webkit.org/show_bug.cgi?id=27047
1356 We need to make sure that when we reattach, we also reattach
1357 the children in every MediaControlElement. Else we may end up
1358 having no remaining or elapsed time.
1360 We have to handle that, because we are using a special shadow
1361 tree in the DOM, and that we are ourselves handling
1362 attaching/detaching the renderer.
1364 The strategy here is to try to implement ::attach(), and try
1365 to reuse as much code as we can from the super class, including
1366 children attachement.
1368 Test: media/controls-after-reload.html
1370 * rendering/MediaControlElements.cpp:
1371 (WebCore::MediaControlElement::styleForElement): Code factoring.
1372 (WebCore::MediaControlElement::rendererIsNeeded): Code factoring.
1373 (WebCore::MediaControlElement::attach): Implement attach
1374 and call super class so that children are also attached.
1375 (WebCore::MediaControlElement::updateStyle): Use attach()
1376 (WebCore::MediaControlInputElement::styleForElement): Code factoring.
1377 (WebCore::MediaControlInputElement::rendererIsNeeded): Code factoring.
1378 (WebCore::MediaControlInputElement::attach): See above.
1379 (WebCore::MediaControlInputElement::updateStyle): Use attach()
1380 * rendering/MediaControlElements.h:
1381 * rendering/RenderMedia.cpp:
1382 (WebCore::RenderMedia::updateControls): Directly run attach() on
1383 the m_panel, which is a root node for our shadow tree.
1385 2009-07-07 Simon Fraser <simon.fraser@apple.com>
1387 Reviewed by Dan Bernstein.
1389 Repaint issue after layer drops out of composited mode.
1390 <https://bugs.webkit.org/show_bug.cgi?id=27022>
1392 RenderLayers cache repaint rects in the form of m_repaintRect and m_outlineBox,
1393 and expect these to stay valid from one style change to the next. These rects
1394 are relative to the repaint container, so if a layer stops being composited,
1395 we need to recompute them.
1397 Test: compositing/repaint/layer-repaint-rects.html
1399 * rendering/RenderLayer.cpp:
1400 (WebCore::RenderLayer::computeRepaintRects):
1401 * rendering/RenderLayer.h:
1402 * rendering/RenderLayerCompositor.cpp:
1403 (WebCore::RenderLayerCompositor::updateBacking):
1405 2009-07-07 Dan Bernstein <mitz@apple.com>
1407 Reviewed by Dave Hyatt and Darin Adler.
1409 - fix https://bugs.webkit.org/show_bug.cgi?id=26963
1410 <rdar://problem/7030998> Reproducible crash at
1411 FontCache::getFontData() when a custom font is used in a pseudo-style
1413 Test: fast/css/pseudo-cache-stale.html
1416 (WebCore::Element::pseudoStyleCacheIsInvalid): Added. Given the old
1417 style and the new style, goes over cached pseudo-styles in the old
1418 style and re-resolves the same style types off the new style. If any of
1419 the new pseudo-styles is different from the currently cached
1420 corresponding style, returns true. Otherwise, returns false.
1421 (WebCore::Element::recalcStyle): Validate the pseudo-style cache before
1422 deciding to keep the existing style.
1424 * rendering/RenderObject.cpp:
1425 (WebCore::RenderObject::uncachedFirstLineStyle): Added this version that
1426 returns an uncached first-line style based off the given style.
1427 (WebCore::RenderObject::getUncachedPseudoStyle): Added the 'ownStyle'
1429 * rendering/RenderObject.h:
1430 * rendering/style/RenderStyle.cpp:
1431 (WebCore::RenderStyle::getPseudoStyleCache): Added. Returns the cached
1432 pseudo-styles in the passed-in vector.
1433 * rendering/style/RenderStyle.h:
1435 2009-07-07 Dan Bernstein <mitz@apple.com>
1437 Reviewed by Simon Fraser.
1439 - fix https://bugs.webkit.org/show_bug.cgi?id=27042
1440 <rdar://problem/7010981> Incomplete painting of newly created floats
1442 Tests: fast/repaint/float-in-new-block-with-layout-delta.html
1443 fast/repaint/float-new-in-block.html
1445 * rendering/RenderBlock.cpp:
1446 (WebCore::RenderBlock::layoutBlockChildren): If the child has never been
1447 laid out before, paint its overhanging floats in addition to itself.
1448 * rendering/RenderBlock.h:
1449 (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added and
1450 initialized a boolean everHadLayout member.
1451 * rendering/bidi.cpp:
1452 (WebCore::RenderBlock::layoutInlineChildren): Paint floats that have
1453 never been laid out before and did not move from (0, 0).
1455 2009-07-07 Brady Eidson <beidson@apple.com>
1457 Contributions from both Darin Adler and Brady Eidson.
1458 Reviewed by Darin Adler.
1460 <rdar://problem/7024039> REGRESSION (r42158): Back-forward navigation does not work correctly on nytimes.com
1462 In r42158 we lost some exclusions to making back/forward items for subframe navigations when a main frame
1463 navigation was still in progress.
1465 This patch makes things even better than it used to be by:
1466 - Locking back/forward history at the time the navigation is scheduled, not after the load has committed.
1467 - Locking back/forward history if *any* ancestor frame is still loading instead of just the main frame.
1469 Test: fast/loader/subframe-navigate-during-main-frame-load.html
1471 * loader/FrameLoader.cpp:
1472 (WebCore::FrameLoader::submitForm): Move out the history locking logic into a standalone function so it can be
1473 used from multiple sites.
1474 (WebCore::mustLockBackForwardList): Returns true if any ancestor frame is still loading.
1475 (WebCore::FrameLoader::scheduleLocationChange): Respect mustLockBackForwardList() in addition to the passed in
1476 lockBackForwardList flag.
1477 (WebCore::FrameLoader::scheduleFormSubmission): Ditto.
1479 2009-07-07 Nate Chapin <japhet@chromium.org>
1481 Reviewed by Darin Fisher.
1483 Upstream DOMObjectsInclude.h from src.chromium.org.
1485 https://bugs.webkit.org/show_bug.cgi?id=27035
1487 * bindings/v8/DOMObjectsInclude.h: Added.
1489 2009-07-07 Nate Chapin <japhet@chromium.org>
1491 Reviewed by David Levin.
1493 Relanding r45559, which was rolled back at r45574.
1495 https://bugs.webkit.org/show_bug.cgi?id=26857
1497 * bindings/scripts/CodeGeneratorV8.pm: Updated a function name in auto-generated bindings.
1498 * bindings/v8/V8Binding.cpp: Moved from src.chromium.org.
1499 * bindings/v8/V8Binding.h: Contents moved from src.chromium.org.
1500 * bindings/v8/V8LazyEventListener.cpp:
1501 (WebCore::V8LazyEventListener::getListenerFunction):
1502 * bindings/v8/V8Proxy.cpp:
1503 (WebCore::handleConsoleMessage):
1504 (WebCore::V8Proxy::compileScript):
1505 (WebCore::V8Proxy::sourceName):
1506 * bindings/v8/WorkerContextExecutionProxy.cpp:
1507 (WebCore::handleConsoleMessage):
1508 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1509 (WebCore::NAMED_PROPERTY_SETTER):
1510 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1511 (WebCore::CALLBACK_FUNC_DECL):
1512 * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
1513 (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
1514 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1515 (WebCore::CALLBACK_FUNC_DECL):
1516 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1517 (WebCore::CALLBACK_FUNC_DECL):
1518 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
1519 (WebCore::ACCESSOR_SETTER):
1520 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1521 (WebCore::CALLBACK_FUNC_DECL):
1522 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
1523 (WebCore::removeElement):
1524 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1525 (WebCore::CALLBACK_FUNC_DECL):
1526 * bindings/v8/custom/V8WorkerContextCustom.cpp:
1527 (WebCore::SetTimeoutOrInterval):
1528 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1529 (WebCore::CALLBACK_FUNC_DECL):
1531 2009-07-07 Gregory Hughes <gfhughesVO+webkit@gmail.com>
1533 Reviewed by Darin Adler.
1535 AX: Some webpages do not send AXLoadComplete
1536 https://bugs.webkit.org/show_bug.cgi?id=26995
1538 When sending the AXLayoutComplete notification it is possible
1539 that the AXObjectCache was cleared, resulting in no valid
1540 object to send the notification to. This fix ensures that an
1541 AX object is created and cached if one does not already exist.
1543 Not able to add a test because notifications get sent after the layout test is completed.
1546 (WebCore::Document::implicitClose):
1548 2009-07-06 Pierre d'Herbemont <pdherbemont@apple.com>
1550 Reviewed by Simon Fraser.
1552 https://bugs.webkit.org/show_bug.cgi?id=27015
1554 Make sure that the CSS properties letter-spacing, word-spacing,
1555 line-height, text-transform, text-indent, text-shadow,
1556 text-decoration and color do not affect the media element controls,
1559 Controls that display text are only present in when the theme
1560 MediaControllerThemeQT is being used.
1562 Test: media/controls-styling.html
1564 * css/mediaControlsQT.css:
1565 * rendering/MediaControlElements.cpp:
1566 (WebCore::MediaControlElement::updateStyle): Special case for
1567 text-decoration. text-decoration can't be overriden from CSS, because
1568 text-decoration is additive for historical reasons.
1570 2009-07-07 Albert Wong <ajwong@chromium.org>
1572 Not reviewed, Chromium build fix.
1574 Add in missing header + fix syntax issue that crept into last patch.
1575 https://bugs.webkit.org/show_bug.cgi?id=27027
1577 * rendering/RenderThemeChromiumMac.mm:
1578 (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
1580 2009-07-07 Simon Fraser <simon.fraser@apple.com>
1582 Reviewed by Dave Hyatt.
1584 Make use of geometry information to decide which layers become composited.
1586 <rdar://problem/7011947>
1587 <https://bugs.webkit.org/show_bug.cgi?id=27021>
1589 In addition to looking at painting order, also, optionally, take layer
1590 overlap into account when deciding which RenderLayers need to be composited.
1592 No testcase because DRT doesn't dump which layers are composited.
1595 * page/FrameView.cpp:
1596 (WebCore::FrameView::updateCompositingLayers):
1597 Removed the unused CompositingUpdate parameter, and just do an early return
1598 when there is no view.
1600 * rendering/RenderLayer.h:
1601 * rendering/RenderLayer.cpp:
1602 (WebCore::RenderLayer::rendererContentChanged):
1603 (WebCore::RenderLayer::dirtyZOrderLists):
1604 (WebCore::RenderLayer::dirtyNormalFlowList):
1605 (WebCore::RenderLayer::styleChanged):
1606 (WebCore::RenderLayer::mustOverlapCompositedLayers):
1607 (WebCore::RenderLayer::setMustOverlapCompositedLayers):
1608 Change "overlay" to "overlap" for consistency with the use of "overlap"
1611 * rendering/RenderLayerBacking.cpp:
1612 (WebCore::RenderLayerBacking::updateAfterLayout):
1613 compositingLayersNeedUpdate() renamed to compositingLayersNeedRebuild().
1615 (WebCore::RenderLayerBacking::startAnimation):
1616 (WebCore::RenderLayerBacking::startTransition):
1617 Tell the compositor that we started an accelerated animation or transition.
1619 * rendering/RenderLayerCompositor.h:
1620 (WebCore::RenderLayerCompositor::compositingLayersNeedRebuild):
1621 Renamed, since it's explicitly about changes in hierarchy now.
1623 (WebCore::RenderLayerCompositor::setCompositingConsultsOverlap):
1624 (WebCore::RenderLayerCompositor::compositingConsultsOverlap):
1625 New getter and setter for whether compositing should take overlap into account.
1627 * rendering/RenderLayerCompositor.cpp:
1628 (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1629 Add m_compositingConsultsOverlap, re-order some member variables.
1631 (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
1632 Whitespace cleanup and method rename.
1634 (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
1635 Method and variable renaming.
1637 (WebCore::RenderLayerCompositor::updateCompositingLayers):
1638 Now we have to run through the layer hierarchy every time if looking
1639 at overlap, because changes in layout can now alter compositing behavior.
1640 We minimize work by tracking whether we actually need to change the layer
1641 hierarchy via needLayerRebuild.
1643 (WebCore::RenderLayerCompositor::updateBacking):
1644 3D transforms turn off overlap mode.
1646 (WebCore::RenderLayerCompositor::layerWasAdded):
1647 (WebCore::RenderLayerCompositor::layerWillBeRemoved):
1650 (WebCore::RenderLayerCompositor::addToOverlapMap):
1651 (WebCore::RenderLayerCompositor::overlapsCompositedLayers):
1652 Utility methods to add a layer to the overlapMap (computing the absolute
1653 bounding box only if we haven't already done so), and testing the map
1656 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1657 If a layer would composite only because it comes after other compositing
1658 layers in the painting order, then consult the overlap map to determine whether
1659 it overlaps, and thus actually needs to composite.
1661 Add layers to the map when they must be composited.
1663 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
1664 Only do re-parenting work if the updateHierarchy flag is set.
1666 (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation):
1667 When we start an accelerated transition or animation, we stop looking at
1668 overlap because we can no longer guarantee correct front-to-back ordering while the
1669 accelerated animation is running.
1671 (WebCore::RenderLayerCompositor::needsToBeComposited):
1674 * rendering/RenderView.cpp:
1675 (WebCore::RenderView::setMaximalOutlineSize):
1676 Add comment indicating that this could be optimized.
1678 2009-07-07 Anton Muhin <antonm@chromium.org>
1680 Reviewed by Darin Fisher.
1682 Speed up creation of V8 wrappers for DOM nodes.
1684 https://bugs.webkit.org/show_bug.cgi?id=26882
1686 This patch doesn't require new tests as it a set of refactorings
1687 to speed up wrapper creation.
1689 * bindings/v8/V8Proxy.cpp:
1690 * bindings/v8/V8Proxy.h:
1692 2009-07-07 Jan Michael Alonzo <jmalonzo@webkit.org>
1694 Reviewed by Gustavo Noronha.
1696 [GTK] textarea height property works only if other property are defined
1697 https://bugs.webkit.org/show_bug.cgi?id=18984
1699 Let WebCore handle textarea's metrics instead of readjusting it RenderthemeGtk.
1701 Test: fast/forms/textarea-metrics.html
1703 * platform/gtk/RenderThemeGtk.cpp:
1704 * platform/gtk/RenderThemeGtk.h:
1706 2009-07-07 Ben Murdoch <benm@google.com>
1708 Reviewed by Antti Koivisto.
1710 HTML5 Database becomes locked if a transaction is in progress when the page is refreshed.
1711 https://bugs.webkit.org/show_bug.cgi?id=25711
1713 Fix for https://bugs.webkit.org/show_bug.cgi?id=25711 where web
1714 storage databases could become locked until the browser is shut
1715 down if the page is refreshed whilst a transaction is in progress.
1717 Test: storage/database-lock-after-reload.html
1719 * storage/Database.cpp:
1720 (WebCore::Database::Database):
1721 (WebCore::Database::close): add code to inform the database thread we've closed the database.
1722 (WebCore::Database::performOpenAndVerify): add code to inform the database thread we've opened a database.
1723 * storage/Database.h:
1724 (WebCore::Database::opened): return true iff the underlying sqlite database has been opened but not closed.
1725 * storage/DatabaseThread.cpp:
1726 (WebCore::DatabaseThread::databaseThread): Before the database thread terminates, close any databases that ran transactions in this thread.
1727 (WebCore::DatabaseThread::recordDatabaseOpen): Records a database that executed a transaction in this thread.
1728 (WebCore::DatabaseThread::recordDatabaseClosed): Removes a database from the set of open databases.
1729 * storage/DatabaseThread.h:
1730 (WebCore::DatabaseThread::getThreadID): return the thread id for the database thread.
1732 2009-07-07 Jiahua Huang <jhuangjiahua@gmail.com>
1734 Reviewed by Jan Alonzo.
1736 [Gtk] Paste of rich text from firefox results garbled markup
1737 https://bugs.webkit.org/show_bug.cgi?id=26791
1739 Fix problem with UTF-16 clipboard pasted.
1741 * manual-tests/gtk/paste-richtext-from-firefox.html: Added.
1742 * platform/gtk/PasteboardGtk.cpp:
1743 (WebCore::Pasteboard::documentFragment):
1745 2009-07-07 Yury Semikhatsky <yurys@chromium.org>
1747 Reviewed by Timothy Hatcher.
1749 Change 'Continue debug' shortcut from F5 to F8 for consistency with Firebug.
1751 https://bugs.webkit.org/show_bug.cgi?id=23849
1753 * inspector/front-end/ScriptsPanel.js:
1754 (WebInspector.ScriptsPanel):
1756 2009-07-06 Albert J. Wong <ajwong@chromium.org>
1758 Reviewed by Maciej Stachowiak.
1760 Update RenderThemeChromiumMac for wkDrawMediaUIPart and wkDrawMediaSlider API
1763 Fix compile RenderThemeChromiumMac.mm due to API changes from r45572
1764 https://bugs.webkit.org/show_bug.cgi?id=27018
1766 This is mainly an API change update to fix the chromium compile. It
1767 also has a small fix of a typo in RenderThemeMac.mm.
1769 Compilation against the head of chromium trunk passed. Since this is
1770 a compile fix, that should be sufficient.
1772 * rendering/RenderThemeChromiumMac.mm:
1774 (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
1775 (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
1776 (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
1777 (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
1778 (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
1779 (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
1780 (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
1781 * rendering/RenderThemeMac.mm:
1784 2009-07-06 David Kilzer <ddkilzer@apple.com>
1786 Bug 27002: Build fix when DASHBOARD_SUPPORT is disabled with -Wunused-parameter
1788 <https://bugs.webkit.org/show_bug.cgi?id=27002>
1790 Reviewed by Geoff Garen.
1792 * html/CanvasRenderingContext2D.cpp:
1793 (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
1794 Mark gradient as an unused parameter when DASHBOARD_SUPPORT is
1797 2009-07-06 David Kilzer <ddkilzer@apple.com>
1799 Bug 27001: Fix improper use of PassRefPtr<Node> to RefPtr<Node>
1801 <https://bugs.webkit.org/show_bug.cgi?id=27001>
1803 Reviewed by Geoff Garen.
1805 PassRefPtr<> should only be used for arguments to functions that
1806 take ownership of the object, or as return values from functions
1807 that relinquish ownership of the object.
1809 * editing/Editor.cpp:
1810 (WebCore::Editor::increaseSelectionListLevelOrdered): Changed
1811 stack-allocated PassRefPtr<Node> to RefPtr<Node> and call
1812 release() on returned object.
1813 (WebCore::Editor::increaseSelectionListLevelUnordered): Ditto.
1815 2009-07-06 Eric Carlson <eric.carlson@apple.com>
1817 Reviewed by Simon Fraser.
1819 <rdar://problem/7035474> Make new media controller UI default on SnowLeopard
1821 * rendering/RenderThemeMac.mm:
1822 (WebCore::mediaControllerTheme):
1823 New media controller UI is enabled by default on SnowLeopard.
1825 2009-07-06 Nate Chapin <japhet@chromium.org>
1827 Unreviewed, build fix.
1829 Roll out r45559 to fix Chromium canary.
1831 https://bugs.webkit.org/show_bug.cgi?id=26857
1833 * bindings/scripts/CodeGeneratorV8.pm:
1834 * bindings/v8/V8Binding.cpp: Removed.
1835 * bindings/v8/V8Binding.h:
1837 (WebCore::toWebCoreString):
1838 (WebCore::fromWebCoreString):
1839 (WebCore::toWebCoreStringWithNullCheck):
1840 (WebCore::isUndefinedOrNull):
1841 (WebCore::v8Boolean):
1842 * bindings/v8/V8LazyEventListener.cpp:
1843 (WebCore::V8LazyEventListener::getListenerFunction):
1844 * bindings/v8/V8Proxy.cpp:
1845 (WebCore::handleConsoleMessage):
1846 (WebCore::V8Proxy::compileScript):
1847 (WebCore::V8Proxy::sourceName):
1848 * bindings/v8/WorkerContextExecutionProxy.cpp:
1849 (WebCore::handleConsoleMessage):
1850 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1851 (WebCore::NAMED_PROPERTY_SETTER):
1852 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1853 (WebCore::CALLBACK_FUNC_DECL):
1854 * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
1855 (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
1856 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1857 (WebCore::CALLBACK_FUNC_DECL):
1858 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1859 (WebCore::CALLBACK_FUNC_DECL):
1860 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
1861 (WebCore::ACCESSOR_SETTER):
1862 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1863 (WebCore::CALLBACK_FUNC_DECL):
1864 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
1865 (WebCore::removeElement):
1866 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1867 (WebCore::CALLBACK_FUNC_DECL):
1868 * bindings/v8/custom/V8WorkerContextCustom.cpp:
1869 (WebCore::SetTimeoutOrInterval):
1870 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1871 (WebCore::CALLBACK_FUNC_DECL):
1873 2009-07-06 Eric Carlson <eric.carlson@apple.com>
1875 Reviewed by Darin Adler.
1877 <rdar://problem/7008093> Media controller can’t be used to scrub when movie is
1878 narrow — track is too narrow
1880 Do not show media controller time display elements when the a movie is too narrow.
1882 * platform/mac/WebCoreSystemInterface.h:
1883 * platform/mac/WebCoreSystemInterface.mm:
1884 The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
1886 * rendering/MediaControlElements.cpp:
1887 (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
1888 Give current time and time remaining controls a common base class.
1889 (WebCore::MediaControlTimeDisplayElement::setVisible):
1890 New method, hide and show the element.
1891 * rendering/MediaControlElements.h:
1893 * rendering/RenderMedia.cpp:
1894 (WebCore::RenderMedia::RenderMedia):
1895 Initialize m_previousVisible.
1896 (WebCore::RenderMedia::layout):
1897 Show/hide the time display elements as the movie width changes.
1898 (WebCore::RenderMedia::createCurrentTimeDisplay):
1899 (WebCore::RenderMedia::createTimeRemainingDisplay):
1900 Base class is now MediaControlTimeDisplayElement, not MediaControlElement.
1901 (WebCore::RenderMedia::shouldShowTimeDisplayControls):
1902 New, decide if time display elements should be visible or not.
1903 * rendering/RenderMedia.h:
1905 * rendering/RenderThemeMac.mm:
1907 (WebCore::RenderThemeMac::paintMediaFullscreenButton):
1908 (WebCore::RenderThemeMac::paintMediaMuteButton):
1909 (WebCore::RenderThemeMac::paintMediaPlayButton):
1910 (WebCore::RenderThemeMac::paintMediaSeekBackButton):
1911 (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
1912 (WebCore::RenderThemeMac::paintMediaSliderTrack):
1913 (WebCore::RenderThemeMac::paintMediaSliderThumb):
1914 (WebCore::RenderThemeMac::paintMediaRewindButton):
1915 (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
1916 (WebCore::RenderThemeMac::paintMediaControlsBackground):
1917 (WebCore::RenderThemeMac::paintMediaCurrentTime):
1918 (WebCore::RenderThemeMac::paintMediaTimeRemaining):
1919 The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
1921 2009-07-06 David Kilzer <ddkilzer@apple.com>
1923 Bug 27000: Minor clean up to runtime_root.{cpp|h}
1925 <https://bugs.webkit.org/show_bug.cgi?id=27000>
1927 Reviewed by Geoff Garen.
1929 * bridge/runtime_root.cpp: Added blank line between license and
1930 the first #include statement.
1931 * bridge/runtime_root.h: Added comment to #endif.
1933 2009-07-06 Roland Steiner <rolandsteiner@google.com>
1935 Reviewed by Maciej Stachowiak.
1937 generalize the special height treatment for SVG (to be re-used for ruby):
1938 renamed InlineBox::m_isSVG to m_hasVirtualHeight
1939 renamed InlineBox::isSVG() to hasVirtualHeight()
1940 renamed InlineBox::setIsSVG() to setHasVirtualHeight()
1942 * rendering/InlineBox.cpp:
1943 (WebCore::InlineBox::height):
1944 * rendering/InlineBox.h:
1945 (WebCore::InlineBox::InlineBox):
1946 (WebCore::InlineBox::isText):
1947 (WebCore::InlineBox::setIsText):
1948 (WebCore::InlineBox::isSVGRootInlineBox):
1949 (WebCore::InlineBox::hasVirtualHeight):
1950 (WebCore::InlineBox::setHasVirtualHeight):
1951 (WebCore::InlineBox::virtualHeight):
1952 * rendering/RenderSVGInline.cpp:
1953 (WebCore::RenderSVGInline::createFlowBox):
1954 * rendering/RenderSVGInlineText.cpp:
1955 (WebCore::RenderSVGInlineText::createTextBox):
1956 * rendering/RenderSVGText.cpp:
1957 (WebCore::RenderSVGText::createRootBox):
1958 * rendering/SVGInlineFlowBox.h:
1959 (WebCore::SVGInlineFlowBox::virtualHeight):
1960 * rendering/SVGInlineTextBox.h:
1961 (WebCore::SVGInlineTextBox::virtualHeight):
1962 * rendering/SVGRootInlineBox.h:
1963 (WebCore::SVGRootInlineBox::virtualHeight):
1965 2009-07-06 Alice Liu <alice.liu@apple.com>
1967 Reviewed by Darin Adler.
1969 REGRESSION(r45285): focus rings are black on windows safari
1970 https://bugs.webkit.org/show_bug.cgi?id=26821
1971 <rdar://problem/7018252>
1973 Add a mechanism for setting a custom focus ring color, and relocate the
1974 determination of focus ring color to base class RenderTheme.
1976 No new tests. Already-existing tests run in pixel mode would have caught this regression
1978 * css/CSSStyleSelector.cpp:
1979 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Move the responsibility
1980 of determining focus color to base class RenderTheme.
1981 * rendering/RenderTheme.cpp:
1982 (WebCore::customFocusRingColor): Added static local.
1983 (WebCore::RenderTheme::setCustomFocusRingColor): Added
1984 (WebCore::RenderTheme::focusRingColor): Use custom color over platform color.
1985 * rendering/RenderTheme.h:
1986 (WebCore::RenderTheme::platformFocusRingColor): default implementation, black color
1987 * rendering/RenderThemeSafari.cpp:
1988 (WebCore::RenderTheme::themeForPage): Circumstances that lead to returning the RenderThemeWin
1989 are the same under which we want to use the focus ring color from SafariTheme.
1990 (WebCore::RenderThemeSafari::platformFocusRingColor): Renamed from focusRingColor
1991 * rendering/RenderThemeSafari.h:
1993 Renaming focusRingColor to platformFocusRingColor in these files:
1994 * rendering/RenderThemeChromiumMac.h:
1995 * rendering/RenderThemeChromiumMac.mm:
1996 (WebCore::RenderThemeChromiumMac::platformFocusRingColor):
1997 * rendering/RenderThemeChromiumSkia.cpp:
1998 (WebCore::RenderThemeChromiumSkia::platformFocusRingColor):
1999 * rendering/RenderThemeChromiumSkia.h:
2000 * rendering/RenderThemeMac.h:
2001 * rendering/RenderThemeMac.mm:
2002 (WebCore::RenderThemeMac::platformFocusRingColor):
2004 Cleanup leftover from removal of WebCore::Color in r45285 in these files:
2006 * platform/graphics/Color.h:
2008 2009-07-06 Shinichiro Hamaji <hamaji@chromium.org>
2010 Reviewed by David Hyatt.
2012 Bug 15135: REGRESSION (r19843-r19850): Changing a flexbox's
2013 contents makes its container scroll to the top
2014 https://bugs.webkit.org/show_bug.cgi?id=15135
2016 Delay updateing scroll bar of descendants of flexbox until their
2017 positions are determined. In this way we can prevent descendants
2018 of flexible boxes from changing positions of their scrollbars
2019 using tentative positions.
2021 Test: fast/flexbox/repaint-scrollbar.html
2023 * rendering/RenderBlock.cpp:
2024 (WebCore::RenderBlock::startDelayUpdateScrollInfo):
2025 (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
2026 (WebCore::RenderBlock::updateScrollInfoAfterLayout):
2027 (WebCore::RenderBlock::layoutBlock):
2028 (WebCore::RenderBlock::layoutOnlyPositionedObjects):
2029 * rendering/RenderBlock.h:
2030 * rendering/RenderFlexibleBox.cpp:
2031 (WebCore::RenderFlexibleBox::layoutHorizontalBox):
2032 (WebCore::RenderFlexibleBox::layoutVerticalBox):
2034 2009-07-06 Hironori Bono <hbono@chromium.org>
2036 Reviewed by Maciej Stachowiak.
2038 Make unconfirmed IME text affect textarea's value.
2039 This matches input and contentEditable elements as well
2042 This fixes https://bugs.webkit.org/show_bug.cgi?id=25061.
2044 Input elements would go down this code path because it
2045 would always get a null compositionNode from frame->editor().
2046 Special casing compositionNodes is wrong because we explicitly
2047 want unconfirmed IME input in the textarea's value (assuming we
2048 want to match IE and Firefox here).
2050 This change is originally created by Ojan Vafai <ojan@chromium.org> and
2051 I just changed its manual tests with an automated test on his behalf.
2053 Test: platform/mac/editing/input/text-control-ime-input.html
2055 * rendering/RenderTextControl.cpp:
2056 (WebCore::RenderTextControl::text):
2057 (WebCore::RenderTextControl::textWithHardLineBreaks):
2059 2009-07-06 Anders Carlsson <andersca@apple.com>
2061 Reviewed by Adele Peterson.
2063 Add the ability for wheel events to latch to a node.
2066 * page/EventHandler.cpp:
2067 (WebCore::EventHandler::EventHandler):
2068 (WebCore::EventHandler::clear):
2069 (WebCore::EventHandler::handleWheelEvent):
2070 * page/EventHandler.h:
2071 * page/mac/EventHandlerMac.mm:
2072 (WebCore::EventHandler::wheelEvent):
2073 * platform/mac/WebCoreSystemInterface.h:
2074 * platform/mac/WebCoreSystemInterface.mm:
2076 2009-07-06 Nate Chapin <japhet@chromium.org>
2078 Reviewed by Dimitri Glazkov.
2080 Fix a bunch of layout test crahses in Chromium caused by a bad usage of DEFINE_STATIC_LOCAL.
2082 https://bugs.webkit.org/show_bug.cgi?id=26997
2084 * bindings/v8/V8Binding.cpp:
2085 (WebCore::v8ValueToWebCoreString): Use a regular static declaration instead of DEFINE_STATIC_LOCAL.
2087 2009-07-06 Pavel Feldman <pfeldman@chromium.org>
2089 Reviewed by Timothy Hatcher.
2091 WebInspector: suggest global properties based on async evaluation.
2093 https://bugs.webkit.org/show_bug.cgi?id=26976
2095 Before this change, empty string was evaluated to the global object
2096 (or scope chain object) synchronously. This is now fixed and global
2097 object is evaluated using the same control flow.
2099 * inspector/front-end/Console.js:
2100 (WebInspector.Console.prototype.completions):
2101 (WebInspector.Console.prototype._evalInInspectedWindow):
2102 * inspector/front-end/ScriptsPanel.js:
2103 (WebInspector.ScriptsPanel.prototype._variablesInScope):
2105 2009-07-06 Ojan Vafai <ojan@chromium.org>
2107 Reviewed by Eric Seidel.
2109 Fix crash when indenting in an empty table cell.
2110 https://bugs.webkit.org/show_bug.cgi?id=26872
2112 The crash is that we would call splitTreeToNode where the node
2113 and the nodeToSplitTo were the same node.
2115 Test: editing/execCommand/indent-empty-table-cell.html
2117 * editing/CompositeEditCommand.cpp:
2118 (WebCore::CompositeEditCommand::splitTreeToNode):
2119 Added an assert in that node and nodeToSplitTo
2120 are different nodes to make this assumption explicit.
2122 * editing/IndentOutdentCommand.cpp:
2123 (WebCore::IndentOutdentCommand::isAtUnsplittableElement):
2124 (WebCore::IndentOutdentCommand::indentRegion):
2125 * editing/IndentOutdentCommand.h:
2127 2009-07-06 Nate Chapin <japhet@chromium.org>
2129 Reviewed by David Levin.
2131 Upstream V8Binding and update some function names.
2133 https://bugs.webkit.org/show_bug.cgi?id=26857
2135 * bindings/scripts/CodeGeneratorV8.pm: Update function names in auto-generated files.
2136 * bindings/v8/V8Binding.cpp: Upstreamed from src.chromium.org.
2137 * bindings/v8/V8Binding.h: Upstreamed from src.chromium.org.
2138 * bindings/v8/V8LazyEventListener.cpp:
2139 (WebCore::V8LazyEventListener::getListenerFunction):
2140 * bindings/v8/V8Proxy.cpp:
2141 (WebCore::handleConsoleMessage):
2142 (WebCore::V8Proxy::compileScript):
2143 (WebCore::V8Proxy::sourceName):
2144 * bindings/v8/WorkerContextExecutionProxy.cpp:
2145 (WebCore::handleConsoleMessage):
2146 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
2147 (WebCore::NAMED_PROPERTY_SETTER):
2148 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2149 (WebCore::CALLBACK_FUNC_DECL):
2150 * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
2151 (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
2152 * bindings/v8/custom/V8DOMWindowCustom.cpp:
2153 (WebCore::CALLBACK_FUNC_DECL):
2154 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2155 (WebCore::CALLBACK_FUNC_DECL):
2156 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
2157 (WebCore::ACCESSOR_SETTER):
2158 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2159 (WebCore::CALLBACK_FUNC_DECL):
2160 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
2161 (WebCore::removeElement):
2162 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2163 (WebCore::CALLBACK_FUNC_DECL):
2164 * bindings/v8/custom/V8WorkerContextCustom.cpp:
2165 (WebCore::SetTimeoutOrInterval):
2166 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2167 (WebCore::CALLBACK_FUNC_DECL):
2169 2009-07-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
2171 Reviewed by Jan Alonzo.
2173 Use soup's content sniffing
2174 https://bugs.webkit.org/show_bug.cgi?id=26982
2176 Drop our hackish content sniffing code, and use the new libsoup
2177 feature to do that job for us.
2179 Testing this is in a cross-platform way is not obvious or possible
2180 while we are using platform-specific code for sniffing.
2182 * platform/network/ResourceHandleInternal.h:
2183 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2184 * platform/network/soup/ResourceHandleSoup.cpp:
2185 (WebCore::gotHeadersCallback):
2186 (WebCore::contentSniffedCallback):
2187 (WebCore::gotChunkCallback):
2188 (WebCore::ResourceHandle::startHttp):
2190 2009-07-05 Antonio Gomes <antonio.gomes@openbossa.org>
2192 Reviewed by Darin Adler.
2194 REGRESSION (r40499): fast/dom/cssTarget-crash.html fails
2195 https://bugs.webkit.org/show_bug.cgi?id=20342
2197 Re-added code removed by commit r40499.
2198 Without this, both Qt and Mac were crashing while running the test.
2200 Note that this does not entirely fix the bug. It fixes the WebCore
2201 crash, but the test no longer seems to work due to loader changes.
2202 So this patch does not reenable the test. The test probably has to
2205 * dom/ContainerNode.cpp:
2206 (WebCore::ContainerNode::removedFromDocument): Re-added code to
2207 set the CSS target of the document to 0.
2209 2009-07-05 Chris Marrin <cmarrin@apple.com>
2211 Reviewed by Simon Fraser.
2213 https://bugs.webkit.org/show_bug.cgi?id=26943
2215 When one transition finishes slightly before another the longer
2216 one will fire a second time. This is because the second
2217 ImplicitAnmation object is culled too early, before its final
2218 RenderStyle is in place. This is done by cleanupFinishedAnimations()
2219 so I got rid of that method completely and now cleanup each
2220 transition or animation at the point where I am setting the final
2221 style, or when I detect that the transition or animation has been
2222 terminated early (which happens when you remove it from the style).
2224 Test: transitions/extra-transition.html
2226 * page/animation/AnimationController.cpp:
2227 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
2228 * page/animation/CompositeAnimation.cpp:
2229 (WebCore::CompositeAnimation::updateTransitions):
2230 (WebCore::CompositeAnimation::updateKeyframeAnimations):
2231 (WebCore::CompositeAnimation::animate):
2232 * page/animation/CompositeAnimation.h:
2234 * page/animation/AnimationBase.cpp:
2235 (WebCore::AnimationBase::getTimeToNextEvent):
2236 Avoid a divide by zero if m_animation->duration() is zero, which can happen
2237 if the duration is changed to zero while the animation is running.
2239 2009-07-05 Simon Fraser <simon.fraser@apple.com>
2241 Revert the previous commit because it broke the
2242 animations/transition-and-animation-1.html
2245 * page/animation/AnimationBase.cpp:
2246 (WebCore::AnimationBase::getTimeToNextEvent):
2247 * page/animation/AnimationController.cpp:
2248 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
2249 * page/animation/CompositeAnimation.cpp:
2250 (WebCore::CompositeAnimation::updateTransitions):
2251 (WebCore::CompositeAnimation::updateKeyframeAnimations):
2252 (WebCore::CompositeAnimation::animate):
2253 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
2254 * page/animation/CompositeAnimation.h:
2256 2009-07-05 Chris Marrin <cmarrin@apple.com>
2258 Reviewed by Simon Fraser.
2260 https://bugs.webkit.org/show_bug.cgi?id=26943
2262 When one transition finishes slightly before another the longer
2263 one will fire a second time. This is because the second
2264 ImplicitAnmation object is culled too early, before its final
2265 RenderStyle is in place. This is done by cleanupFinishedAnimations()
2266 so I got rid of that method completely and now cleanup each
2267 transition or animation at the point where I am setting the final
2268 style, or when I detect that the transition or animation has been
2269 terminated early (which happens when you remove it from the style).
2271 Test: transitions/extra-transition.html
2273 * page/animation/AnimationController.cpp:
2274 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
2275 * page/animation/CompositeAnimation.cpp:
2276 (WebCore::CompositeAnimation::updateTransitions):
2277 (WebCore::CompositeAnimation::updateKeyframeAnimations):
2278 (WebCore::CompositeAnimation::animate):
2279 * page/animation/CompositeAnimation.h:
2281 * page/animation/AnimationBase.cpp:
2282 (WebCore::AnimationBase::getTimeToNextEvent):
2283 Avoid a divide by zero if m_animation->duration() is zero, which can happen
2284 if the duration is changed to zero while the animation is running.
2286 2009-07-05 Lars Knoll <lars.knoll@nokia.com>
2288 Reviewed by Maciej Stachowiak.
2290 https://bugs.webkit.org/show_bug.cgi?id=26843
2292 Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian.
2294 The Metrowerks compiler on the Symbian platform moves the globally
2295 defined Hashtables into read-only memory, despite one of the members
2296 being mutable. This causes crashes at run-time due to write access to
2299 Avoid the use of const with this compiler by introducing the
2300 JSC_CONST_HASHTABLE macro.
2302 Based on idea by Norbert Leser.
2304 * bindings/scripts/CodeGeneratorJS.pm: Use JSC_CONST_HASHTABLE for hash tables
2305 define in the bindings.
2307 2009-07-05 Rob Buis <rwlbuis@gmail.com>
2309 Reviewed by Maciej Stachowiak.
2311 Bug 26897 - Dynamic SVG images do not display correctly
2312 https://bugs.webkit.org/show_bug.cgi?id=26897
2314 Use repaint() to fix a rendering problem with a SVG image embedded in xhtml.
2316 Test: svg/custom/createImageElement2.xhtml
2318 * rendering/RenderSVGImage.cpp:
2319 (WebCore::RenderSVGImage::imageChanged):
2321 2009-07-05 Xan Lopez <xlopez@igalia.com>
2323 Reviewed by Jan Alonzo.
2325 https://bugs.webkit.org/show_bug.cgi?id=26960
2326 [Gtk] caret offset not updated when selecting text
2328 Report the caret offset from the end of the selection so it works
2329 correctly for multi-char selections too (ie, anything that is not
2330 the zero width caret).
2332 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2333 (webkit_accessible_text_get_caret_offset):
2335 2009-07-05 Holger Hans Peter Freyther <zecke@selfish.org>
2337 Unreviewed link fix for Qt.
2339 Fix Qt link error by adding two new localized strings
2341 In r45474 two new strings got added to LocalizedStrings.h add
2342 the definition of them to Qt.
2344 * platform/qt/Localizations.cpp:
2345 (WebCore::mediaElementLoadingStateText):
2346 (WebCore::mediaElementLiveBroadcastStateText):
2348 2009-07-03 Darin Adler <darin@apple.com>
2350 Reviewed by Adele Peterson.
2352 REGRESSION (r44670-r44680): Typing is suprisingly slow in password field on reddit.com
2353 https://bugs.webkit.org/show_bug.cgi?id=26959
2354 rdar://problem/7029882
2356 The code to handle iteration boundaries was malfunctioning when the boundary was
2357 at the edge of a shadow tree. This happens all the time with <input> elements.
2359 It's not immediately obvious how to make a regression test for this since the
2360 symptom was a performance problem, not incorrect behavior. I'll add a test if I
2361 figure out a way to make one.
2363 * editing/TextIterator.cpp:
2364 (WebCore::parentCrossingShadowBoundaries): Renamed from parentOrShadowParent.
2365 (WebCore::depthCrossingShadowBoundaries): Updated for name change.
2366 (WebCore::nextInPreOrderCrossingShadowBoundaries): Added.
2367 (WebCore::previousInPostOrderCrossingShadowBoundaries): Added.
2368 (WebCore::setUpFullyClippedStack): Updated for name change.
2369 (WebCore::TextIterator::TextIterator): Updated for name change. Use
2370 nextInPreOrderCrossingShadowBoundaries instead of Range::pastLastNode to fix the bug.
2371 (WebCore::TextIterator::advance): Updated for name change.
2372 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
2374 (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. Changed code that
2375 initializes m_pastStartNode to use previousInPostOrderCrossingShadowBoundaries.
2376 (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Tweaked formatting.
2377 (WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto.
2379 2009-07-03 Simon Fraser <simon.fraser@apple.com>
2381 Reviewed by Sam Weinig.
2383 Background audio stops playing when JS GC runs
2384 https://bugs.webkit.org/show_bug.cgi?id=26956
2386 Ensure we keep the Audio object around while it is playing, so that it
2387 doesn't get collected.
2389 Not testable because there's no way to know whether the audio keeps
2390 playing without holding a reference to it.
2392 * bindings/js/JSDOMBinding.cpp:
2393 (WebCore::isObservableThroughDOM):
2395 2009-07-02 Xan Lopez <xlopez@igalia.com>
2397 Reviewed by Jan Alonzo.
2399 https://bugs.webkit.org/show_bug.cgi?id=26814
2400 [Gtk] Caret-moved events are not issued for the correct offset
2401 when text is selected forward
2403 Report the caret offset from the end of the selection, otherwise
2404 we'll report the same offset when moving the caret while
2405 modififying the selection (eg, with Shift + Right).
2407 * editing/gtk/SelectionControllerGtk.cpp:
2408 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2410 2009-07-02 Xan Lopez <xlopez@igalia.com>
2412 Reviewed by Jan Alonzo.
2414 https://bugs.webkit.org/show_bug.cgi?id=26815
2415 [Gtk] text-selection-changed events are not issued for the correct
2416 object when the selection spans multiple objects
2418 Get the focused node from the end of the selection, not the start,
2419 so we can detect when we cross object boundaries.
2421 * editing/gtk/SelectionControllerGtk.cpp:
2422 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2424 2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
2426 Reviewed by Simon Fraser.
2428 https://bugs.webkit.org/show_bug.cgi?id=26947
2430 Fix the media controls hit tests. They may lose click events.
2432 Test cases already covered in the video-controls-zoomed tests.
2434 Don't trust wkHitTestMediaUIPart for the tests. We are accurate enough.
2436 * rendering/RenderThemeMac.h: Remove hitTestMediaControlPart.
2437 * rendering/RenderThemeMac.mm: Remove hitTestMediaControlPart.
2439 2009-07-02 Roland Steiner <rolandsteiner@google.com>
2441 Reviewed by Eric Seidel.
2443 RenderBlock and RenderInline have confusingly named object creation methods:
2444 RenderBlock::createRootBox/createRootInlineBox
2445 RenderInline::createFlowBox/createInlineFlowBox
2446 where the 2nd method in both cases just calls the first and then appends the created object.
2447 I therefore renamed those methods to something IMHO more informative:
2449 createRootBox() -> createRootInlineBox()
2450 createRootInlineBox() -> createAndAppendRootInlineBox();
2451 createFlowBox() -> createInlineFlowBox();
2452 createInlineFlowBox() -> createAndAppendInlineFlowBox();
2454 https://bugs.webkit.org/show_bug.cgi?id=26828
2456 * rendering/RenderBlock.cpp:
2457 (WebCore::RenderBlock::createRootInlineBox):
2458 (WebCore::RenderBlock::createAndAppendRootInlineBox):
2459 * rendering/RenderBlock.h:
2460 * rendering/RenderInline.cpp:
2461 (WebCore::RenderInline::createInlineFlowBox):
2462 (WebCore::RenderInline::createAndAppendInlineFlowBox):
2463 * rendering/RenderInline.h:
2464 * rendering/RenderSVGInline.cpp:
2465 (WebCore::RenderSVGInline::createInlineFlowBox):
2466 * rendering/RenderSVGInline.h:
2467 * rendering/RenderSVGText.cpp:
2468 (WebCore::RenderSVGText::createRootInlineBox):
2469 * rendering/RenderSVGText.h:
2470 * rendering/bidi.cpp:
2471 (WebCore::createInlineBoxForRenderer):
2473 2009-07-02 Pavel Feldman <pfeldman@chromium.org>
2475 Reviewed by Timothy Hatcher.
2477 WebInspector: Fix typo in the resource panel enabler caption.
2479 https://bugs.webkit.org/show_bug.cgi?id=26753
2481 * English.lproj/localizedStrings.js:
2482 * inspector/front-end/ResourcesPanel.js:
2483 (WebInspector.ResourcesPanel):
2485 2009-07-02 Erik Arvidsson <arv@chromium.org>
2487 Reviewed by Adam Roben.
2489 [Win] HTML5 Drag and drop, dragend is not fired when pressing Esc
2490 https://bugs.webkit.org/show_bug.cgi?id=26699
2492 * manual-tests/drag-escape.html: Added.
2493 * page/EventHandler.cpp:
2494 (WebCore::EventHandler::dragSourceEndedAt):
2496 2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
2498 Reviewed by Simon Fraser.
2500 https://bugs.webkit.org/show_bug.cgi?id=26944
2502 Make sure we support full page zoom in video controls.
2504 This is tracked by a the video-controls-zoom test case.
2506 * css/mediaControlsQT.css: Make sure we don't have any inherited margin.
2507 * rendering/MediaControlElements.cpp:
2508 (WebCore::MediaControlElement::updateStyle): Propagate the style to the innertext.
2509 * rendering/RenderThemeMac.mm: Adjust the painting rect.
2510 (WebCore::getUnzoomedRectAndAdjustCurrentContext):
2511 (WebCore::RenderThemeMac::paintMediaSliderTrack):
2512 (WebCore::RenderThemeMac::paintMediaCurrentTime):
2513 (WebCore::RenderThemeMac::paintMediaTimeRemaining):
2515 2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
2517 Fix the Gtk build after r45474. The localized strings should
2518 have been added there.
2520 * platform/gtk/LocalizedStringsGtk.cpp:
2521 (WebCore::mediaElementLoadingStateText):
2522 (WebCore::mediaElementLiveBroadcastStateText):
2524 2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
2526 Reviewed by Simon Fraser.
2528 https://bugs.webkit.org/show_bug.cgi?id=26939
2530 Media controller is rendered badly at http://www.mozilla.com/en-US/firefox/video/firefox-3.5.html
2533 - We use px instead of em, because px is used everywhere else
2534 and because 0.09em hit the font size limit.
2535 - We use -webkit-box instead of inline-block because in strict mode
2536 inline-block has a different behavior.
2538 Test: media/controls-strict.html
2540 * css/mediaControlsQT.css:
2542 2009-07-02 David Hyatt <hyatt@apple.com>
2544 Reviewed by Dan Bernstein.
2546 TextIterator should use hasOverflowClip when checking for overflow instead of looking at the style.
2547 https://bugs.webkit.org/show_bug.cgi?id=26942
2549 * editing/TextIterator.cpp:
2550 (WebCore::fullyClipsContents):
2552 2009-07-02 Sam Weinig <sam@webkit.org>
2554 Reviewed by Dave Hyatt.
2556 Fix for <rdar://problem/5230700>
2557 Remove local .xhtml file workaround
2559 * platform/network/mac/ResourceResponseMac.mm:
2560 (WebCore::ResourceResponse::platformLazyInit): Work around is no longer necessary.
2562 2009-07-02 Anders Carlsson <andersca@apple.com>
2564 Reviewed by Dan Bernstein.
2566 Sort, add functions used by WebKit.
2570 2009-07-02 Brady Eidson <beidson@apple.com>
2572 Rubberstamped by Sam Weinig.
2574 More of <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
2576 * platform/network/mac/WebCoreURLResponse.mm:
2577 (webNSURLResponseMIMEType): Give Tiger a chance to query the UTI machinery.
2579 2009-07-02 Adam Langley <agl@google.com>
2581 Reviewed by Eric Seidel.
2583 Chromium Linux: fix complex text rendering with line break characters.
2585 https://bugs.webkit.org/show_bug.cgi?id=26935
2587 If the CSS white-space property is inhibiting line breaking, we might
2588 find end-of-line characters rendered via the complex text path. Fonts
2589 don't provide glyphs for these code points so, if we find one, we
2590 simulate the space glyph being interposed in this case. Because the
2591 input is variable-length per code point, we walk the input in step
2595 LayoutTests/fast/text/international/bidi-linebreak-002.html
2596 LayoutTests/fast/text/international/bidi-linebreak-003.html
2597 LayoutTests/fast/text/international/hindi-whitespace.html
2599 * platform/graphics/chromium/HarfbuzzSkia.cpp:
2600 (WebCore::stringToGlyphs):
2602 2009-07-02 Victor Wang <victorw@chromium.org>
2604 Reviewed by Darin Fisher.
2606 https://bugs.webkit.org/show_bug.cgi?id=26521
2607 Expose file size to chromium.
2609 Implement getFileSize() for Chromium.
2611 * platform/chromium/ChromiumBridge.h:
2612 * platform/chromium/FileSystemChromium.cpp:
2613 (WebCore::getFileSize):
2615 2009-07-02 Nate Chapin <japhet@chromium.org>
2617 Unreviewed, build fix.
2619 * bindings/v8/V8SVGPODTypeWrapper.h: Lost a space in nested template argument list.
2621 2009-07-02 Simon Fraser <simon.fraser@apple.com>
2623 Build fix: add missing #include.
2625 * platform/mac/ThemeMac.mm:
2627 2009-07-02 Simon Fraser <simon.fraser@apple.com>
2629 Reviewed by Dave Hyatt.
2631 <rdar://problem/7028682> ThemeMac::paintRadio() throws Obj-C exceptions when zoomed
2633 Add BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS guards around code
2634 that can possibly throw Objective-C exceptions when drawing Mac form controls.
2636 * platform/mac/ThemeMac.mm:
2637 (WebCore::paintCheckbox):
2638 (WebCore::paintRadio):
2639 (WebCore::paintButton):
2640 (WebCore::ThemeMac::inflateControlPaintRect):
2642 2009-07-02 Nate Chapin <japhet@chromium.org>
2644 Reviewed by David Levin.
2646 Upstream V8SVGPODTypeWrapper.
2648 https://bugs.webkit.org/show_bug.cgi?id=26907
2650 * bindings/scripts/CodeGeneratorV8.pm: Update function being renamed in V8SVGPODTypeWrapper.h.
2651 * bindings/v8/V8SVGPODTypeWrapper.h: Upstreamed from src.chromium.org.
2653 2009-07-02 Dumitru Daniliuc <dumi@chromium.org>
2655 Reviewed by Dimitri Glazkov.
2657 Adds an abstraction layer between the DB classes and the file
2658 system, which allows us to add our own logic for storing, opening,
2659 deleting, etc. databases.
2661 The patch was tested using the tests in WebCore/storage.
2663 https://bugs.webkit.org/show_bug.cgi?id=26054
2667 * WebCore.vcproj/WebCore.vcproj:
2668 * WebCore.xcodeproj/project.pbxproj:
2669 * platform/sql/SQLiteDatabase.cpp:
2670 (WebCore::SQLiteDatabase::open): Delegating the job of opening DB files to SQLiteFileSystem to allow use of custom VFSs.
2671 * platform/sql/SQLiteFileSystem.cpp: Added.
2672 * platform/sql/SQLiteFileSystem.h: Added.
2673 * platform/win/FileSystemWin.cpp:
2674 (WebCore::directoryName): Implemented.
2675 * storage/Database.cpp:
2676 (WebCore::Database::databaseSize): The code that returns the size of a DB file moved to SQLiteFileSystem.
2677 * storage/DatabaseTracker.cpp:
2678 (WebCore::DatabaseTracker::DatabaseTracker): Added the ability to register a custom SQLite VFS.
2679 (WebCore::DatabaseTracker::trackerDatabasePath): DB file-related operations moved to SQLiteFileSystem.
2680 (WebCore::DatabaseTracker::openTrackerDatabase): DB file-related operations moved to SQLiteFileSystem.
2681 (WebCore::DatabaseTracker::originPath): DB file-related operations moved to SQLiteFileSystem.
2682 (WebCore::DatabaseTracker::fullPathForDatabase): DB file-related operations moved to SQLiteFileSystem.
2683 (WebCore::DatabaseTracker::usageForDatabase): DB file-related operations moved to SQLiteFileSystem.
2684 (WebCore::DatabaseTracker::deleteOrigin): DB file-related operations moved to SQLiteFileSystem.
2685 (WebCore::DatabaseTracker::deleteDatabaseFile): DB file-related operations moved to SQLiteFileSystem.
2686 * storage/OriginUsageRecord.cpp:
2687 (WebCore::OriginUsageRecord::diskUsage): DB file-related operations moved to SQLiteFileSystem.
2689 2009-07-02 David Hyatt <hyatt@apple.com>
2691 Reviewed by Simon Fraser.
2693 Always clip replaced elements to border radii.
2694 https://bugs.webkit.org/show_bug.cgi?id=26933
2696 Make sure to always clip replaced elements to border radii, even when overflow is visible.
2697 Stop defaulting those elements to overflow:hidden in the UA sheet, since it is now no longer
2700 Covered by existing tests (since the UA default changing keeps the behavior exactly the same).
2703 * rendering/RenderReplaced.cpp:
2704 (WebCore::RenderReplaced::paint):
2705 * rendering/RenderWidget.cpp:
2706 (WebCore::RenderWidget::paint):
2708 2009-07-02 Jeremy Orlow <jorlow@chromium.org>
2710 Reviewed by Simon Fraser.
2712 convertFromScrollbarToContainingView and friends should be in ScrollView
2713 https://bugs.webkit.org/show_bug.cgi?id=26929
2715 This is breaking Chromium's build because PopupMenuChromium inherits
2716 from ScrollView, but these functions are pure virtual in it. I could
2717 put it directly in PopupMenuChromium, but that seems a bit silly since
2718 the functions are fairly generic.
2720 Passes existing layout tests.
2722 * page/FrameView.cpp: Remove the 4 functions Hyatt just added
2723 (IntRect WebCore::FrameView::convertFromScrollbarToContainingView):
2724 (IntRect WebCore::FrameView::convertFromContainingViewToScrollBar):
2725 (IntPoint WebCore::FrameView::convertFromScrollbarToContainingView):
2726 (IntPoint WebCore::FrameView::convertFromContainingViewToScrollBar):
2727 * page/FrameView.h: ditto
2728 * platform/ScrollView.cpp: Move the 4 functions from FrameView here
2729 (IntRect WebCore::ScrollView::convertFromScrollbarToContainingView):
2730 (IntRect WebCore::ScrollView::convertFromContainingViewToScrollBar):
2731 (IntPoint WebCore::ScrollView::convertFromScrollbarToContainingView):
2732 (IntPoint WebCore::ScrollView::convertFromContainingViewToScrollBar):
2733 * platform/ScrollView.h: ditto
2735 2009-07-02 Dirk Pranke <dpranke@chromium.org>
2737 Reviewed by Darin Fisher.
2739 Fix https://bugs.webkit.org/show_bug.cgi?id=26088 - TransparencyWin
2740 doesn't handle errors well at all; revise it to fail silently
2741 (drawing nothing), and bulletproof FontChromiumWin to handle the
2742 failure accordingly.
2744 Tests: fast/text/text-large-negative-letter-spacing-with-opacity.html
2745 fast/text/text-letter-spacing.html
2747 * platform/graphics/chromium/FontChromiumWin.cpp:
2748 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
2749 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
2750 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
2751 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
2752 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
2753 (WebCore::Font::drawGlyphs):
2754 (WebCore::Font::drawComplexText):
2755 * platform/graphics/chromium/TransparencyWin.cpp:
2756 (WebCore::TransparencyWin::TransparencyWin):
2757 (WebCore::TransparencyWin::setupLayerForNoLayer):
2758 (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
2759 (WebCore::TransparencyWin::setupLayerForWhiteLayer):
2760 (WebCore::TransparencyWin::setupTransformForKeepTransform):
2761 (WebCore::TransparencyWin::setupTransformForScaleTransform):
2762 (WebCore::TransparencyWin::initializeNewContext):
2763 (WebCore::TransparencyWin::compositeOpaqueComposite):
2764 (WebCore::TransparencyWin::compositeTextComposite):
2765 (WebCore::TransparencyWin::makeLayerOpaque):
2766 * platform/graphics/chromium/TransparencyWin.h:
2767 (WebCore::TransparencyWin::platformContext):
2769 2009-07-02 Eric Carlson <eric.carlson@apple.com>
2771 Change #import to #include to fix non-ObjC builds.
2773 * rendering/MediaControlElements.cpp:
2775 2009-07-02 Anders Carlsson <andersca@apple.com>
2779 * platform/network/mac/WebCoreURLResponse.mm:
2780 (mimeTypeFromUTITree):
2782 2009-07-02 David Hyatt <hyatt@apple.com>
2784 Reviewed by Simon Fraser.
2786 Fix for bug 22119, clicks in the scrollbars of transformed content don't work. Add new
2787 conversion methods for going across parent/child widget boundaries that can be implemented
2788 by the FrameView and ScrollbarClient to be transform-aware.
2790 Test cases added in platform/mac/fast/forms and platform/mac/fast/overflow.
2793 * page/EventHandler.cpp:
2794 (WebCore::EventHandler::handleMouseMoveEvent):
2795 * page/FrameView.cpp:
2796 (WebCore::FrameView::convertFromScrollbarToContainingView):
2797 (WebCore::FrameView::convertFromContainingViewToScrollbar):
2798 (WebCore::FrameView::convertFromRenderer):
2799 (WebCore::FrameView::convertToRenderer):
2800 (WebCore::FrameView::convertToContainingView):
2801 (WebCore::FrameView::convertFromContainingView):
2803 * platform/ScrollView.h:
2804 * platform/Scrollbar.cpp:
2805 (WebCore::Scrollbar::convertToContainingView):
2806 (WebCore::Scrollbar::convertFromContainingView):
2807 * platform/Scrollbar.h:
2808 * platform/ScrollbarClient.h:
2809 (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
2810 (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
2811 * platform/Widget.cpp:
2812 (WebCore::Widget::convertFromContainingWindow):
2813 (WebCore::Widget::convertToContainingWindow):
2814 (WebCore::Widget::convertFromRootToContainingWindow):
2815 (WebCore::Widget::convertFromContainingWindowToRoot):
2816 (WebCore::Widget::convertToContainingView):
2817 (WebCore::Widget::convertFromContainingView):
2818 * platform/Widget.h:
2819 * platform/graphics/IntPoint.h:
2820 (WebCore::IntPoint::move):
2821 * platform/mac/WidgetMac.mm:
2822 (WebCore::Widget::convertFromRootToContainingWindow):
2823 (WebCore::Widget::convertFromContainingWindowToRoot):
2824 * rendering/RenderBlock.cpp:
2825 (WebCore::RenderBlock::isPointInOverflowControl):
2826 * rendering/RenderDataGrid.cpp:
2827 (WebCore::RenderDataGrid::convertFromScrollbarToContainingView):
2828 (WebCore::RenderDataGrid::convertFromContainingViewToScrollbar):
2829 * rendering/RenderDataGrid.h:
2830 * rendering/RenderLayer.cpp:
2831 (WebCore::RenderLayer::convertFromScrollbarToContainingView):
2832 (WebCore::RenderLayer::convertFromContainingViewToScrollbar):
2833 (WebCore::RenderLayer::scrollbarOffset):
2834 (WebCore::RenderLayer::hitTestOverflowControls):
2835 * rendering/RenderLayer.h:
2836 * rendering/RenderListBox.cpp:
2837 (WebCore::RenderListBox::isPointInOverflowControl):
2838 (WebCore::RenderListBox::convertFromScrollbarToContainingView):
2839 (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
2840 * rendering/RenderListBox.h:
2842 2009-07-02 Dan Bernstein <mitz@apple.com>
2844 Reviewed by Dave Hyatt and Simon Fraser.
2846 - fix <rdar://problem/6933052> SPOD playing video in a div with a box
2849 Test: fast/box-shadow/transform-fringing.html
2851 * rendering/RenderBoxModelObject.cpp:
2852 (WebCore::RenderBoxModelObject::paintBoxShadow): Clip out the
2853 box even if it has an opaque background, but in that case, inset the
2854 clip path by 1 pixel, to avoid antialiasing artifacts.
2855 Do not inset the clip rect by 1 pixel if the CTM is purely a
2857 Move the shadow-casting path away in the non-rounded-rect case (it
2858 was already being done in the rounded-rect case), to avoid a black
2859 fringe when the CTM is not purely a translation.
2861 2009-07-02 Brady Eidson <beidson@apple.com>
2863 Reviewed by Sam Weinig.
2865 <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
2867 Walk the CoreTypes UTI tree for extensions with unknown MIME types, using the first MIME type found.
2869 For many types of text files (such as source code files) this ends up being text/plain.
2871 * platform/network/mac/ResourceHandleMac.mm:
2872 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Tweak the logging output.
2874 * platform/network/mac/WebCoreURLResponse.h:
2875 * platform/network/mac/WebCoreURLResponse.mm:
2876 (mimeTypeFromUTITree):
2877 (webNSURLResponseMIMEType): Use mimeTypeFromUTITree() to find a UTI-based MIME type for this file's extension.
2878 (-[NSURLResponse _webcore_reportedMIMEType]): Return the actual MIME type that CFNetwork gave us.
2880 2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
2882 Reviewed by Simon Fraser.
2884 <rdar://problem/6518119>
2886 Add a rewind button and hide the timeline for live broadcasts when
2889 * css/CSSPrimitiveValueMappings.h:
2890 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add the new pseudo element.
2892 * css/CSSSelector.cpp:
2893 (WebCore::CSSSelector::extractPseudoType): Ditto.
2894 * css/CSSSelector.h:
2896 * css/CSSStyleSelector.cpp:
2897 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
2899 * css/CSSValueKeywords.in: Ditto.
2900 * css/mediaControls.css: Ditto.
2901 * css/mediaControlsQT.css: Ditto.
2903 * html/HTMLMediaElement.cpp:
2904 (WebCore::HTMLMediaElement::rewind): New.
2905 (WebCore::HTMLMediaElement::returnToRealTime): New.
2906 (WebCore::HTMLMediaElement::isStreaming): New.
2907 * html/HTMLMediaElement.h:
2909 * page/mac/WebCoreViewFactory.h: Declare mediaElementLoadingStateText and mediaElementLiveBroadcastStateText.
2911 * platform/LocalizedStrings.h: Add localized media state messages.
2913 * platform/ThemeTypes.h: Add the new pseudo element.
2915 * platform/mac/LocalizedStringsMac.mm:
2916 (WebCore::mediaElementLoadingStateText): Add localized media state.
2917 (WebCore::mediaElementLiveBroadcastStateText): Ditto.
2919 * platform/mac/WebCoreSystemInterface.h: Change BOOL param wkDrawMediaUIPart to an int to support
2921 * platform/mac/WebCoreSystemInterface.mm: Ditto.
2923 * rendering/MediaControlElements.cpp:
2924 (WebCore::MediaControlElement::MediaControlElement): Deal with new elements.
2925 (WebCore::MediaControlElement::attachToParent): Ditto.
2926 (WebCore::MediaControlElement::update): Ditto.
2927 (WebCore::MediaControlElement::updateStyle): Ditto.
2928 (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
2929 (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): Ditto.
2930 (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
2931 (WebCore::MediaControlStatusDisplayElement::update): Ditto.
2932 (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Ditto.
2933 (WebCore::MediaControlInputElement::MediaControlInputElement): Ditto.
2934 (WebCore::MediaControlInputElement::attachToParent): Ditto.
2935 (WebCore::MediaControlInputElement::updateStyle): Ditto.
2936 (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
2937 (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
2938 (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
2939 (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
2940 (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): Ditto.
2941 (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
2942 (WebCore::MediaControlTimelineElement::update): Ditto.
2943 (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): Ditto.
2944 * rendering/MediaControlElements.h: Ditto.
2946 * rendering/RenderMedia.cpp:
2947 (WebCore::RenderMedia::styleDidChange): Deal with the new elements.
2948 (WebCore::RenderMedia::createPanel): Ditto.
2949 (WebCore::RenderMedia::createRewindButton): Ditto.
2950 (WebCore::RenderMedia::createReturnToRealtimeButton): Ditto.
2951 (WebCore::RenderMedia::createStatusDisplay): Ditto.
2952 (WebCore::RenderMedia::createTimelineContainer): Ditto.
2953 (WebCore::RenderMedia::createCurrentTimeDisplay): Ditto.
2954 (WebCore::RenderMedia::createTimeRemainingDisplay): Ditto.
2955 (WebCore::RenderMedia::updateControls): Ditto.
2956 (WebCore::RenderMedia::forwardEvent): Ditto.
2957 * rendering/RenderMedia.h:
2959 * rendering/RenderTheme.cpp:
2960 (WebCore::RenderTheme::paint): Deal with the new elements.
2962 * rendering/RenderTheme.h:
2963 (WebCore::RenderTheme::paintMediaRewindButton): Deal with the new elements.
2964 (WebCore::RenderTheme::paintMediaReturnToRealtimeButton): Ditto.
2965 (WebCore::RenderTheme::paintMediaControlsBackground): Ditto.
2967 * rendering/RenderThemeMac.h:
2968 * rendering/RenderThemeMac.mm:
2969 (WebCore::RenderThemeMac::paintMediaRewindButton): Deal with the new elements.
2970 (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
2971 (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.
2973 * rendering/style/RenderStyleConstants.h: Add constants for the new elements.
2975 2009-07-01 John Abd-El-Malek <jam@chromium.org>
2977 Reviewed by Darin Fisher.
2979 Small refactoring of MessagePortChannel so that PlatformMessagePortChannel
2980 may be defined at the WebKit layer.
2982 https://bugs.webkit.org/show_bug.cgi?id=26905
2984 * dom/MessageChannel.cpp:
2985 (WebCore::MessageChannel::MessageChannel):
2986 * dom/MessagePortChannel.cpp:
2987 * dom/MessagePortChannel.h:
2988 * dom/default/PlatformMessagePortChannel.cpp:
2989 (WebCore::MessagePortChannel::createChannel):
2990 (WebCore::MessagePortChannel::create):
2991 (WebCore::MessagePortChannel::MessagePortChannel):
2992 (WebCore::MessagePortChannel::~MessagePortChannel):
2994 2009-07-01 Simon Fraser <simon.fraser@apple.com>
2996 Reviewed by Dan Bernstein.
2998 <video> fails to show on http://camendesign.com/code/video_for_everybody
2999 <rdar://problem/7026010>
3000 https://bugs.webkit.org/show_bug.cgi?id=26919
3002 Fix an issue introduced in r44961. In that revision we changed to only update
3003 compositing layer geometry when all siblings had been laid out (i.e. we pushed
3004 the updates one level down). However, that left out the root layer, so this
3005 fix ensures that the root layer geometry gets updated at the end.
3007 Test: compositing/geometry/root-layer-update.html
3009 * rendering/RenderLayerBacking.cpp:
3010 (WebCore::RenderLayerBacking::updateAfterLayout):
3012 2009-07-01 Simon Fraser <simon.fraser@apple.com>
3014 Reviewed by Dan Bernstein
3016 <rdar://problem/7026010> <video> fails to show on http://camendesign.com/code/video_for_everybody
3018 First part of fix: when outline width changes, don't to a synchronous
3019 layer update right away, but just set the flag to say that compositing
3020 layers need updating. The synchronous layer update left the layer geometries
3021 out of whack when it happened in the middle of layout (e.g. when inside ::first-letter).
3023 Test: compositing/geometry/outline-change.html
3025 * rendering/RenderView.cpp:
3026 (WebCore::RenderView::setMaximalOutlineSize):
3028 2009-07-01 Kwang Yul Seo <skyul@company100.net>
3030 Reviewed by Eric Seidel.
3032 https://bugs.webkit.org/show_bug.cgi?id=26842
3033 Build fix when ENABLE_DATABASE is off
3035 Move Database.h into ENABLE(DATABASE) guard so toggling ENABLE_DATABASE
3036 off does not break builds.
3038 * bindings/js/ScriptObjectQuarantine.cpp:
3040 2009-07-01 Daniel Bates <dbates@intudata.com>
3042 Reviewed by Adam Barth.
3044 https://bugs.webkit.org/show_bug.cgi?id=26899
3046 Modified XSSAuditor::decodeURL to only remove null characters so that
3047 it is consistent with the behavior of HTMLTokenizer and prevents
3048 injected scripts that contain control characters.
3050 Tests: http/tests/security/xssAuditor/script-tag-control-char.html
3051 http/tests/security/xssAuditor/script-tag-null-char.html
3053 * page/XSSAuditor.cpp:
3054 (WebCore::XSSAuditor::decodeURL): Modified to only remove null characters.
3055 * page/XSSAuditor.h: Reverted naming of third argument of method XSSAuditor::decodeURL
3056 from allowControlCharacters back to allowNullCharacters.
3057 * platform/network/ResourceResponseBase.cpp: Reverted back to rev #45003.
3058 (WebCore::isControlCharacter):
3059 * platform/network/ResourceResponseBase.h: Reverted back to rev #45003.
3061 2009-07-01 Yury Semikhatsky <yurys@chromium.org>
3063 Reviewed by Timothy Hatcher.
3065 - supported keyboard shortcuts compatible with Firebug in Scripts Debugger:
3066 F5, Ctrl+/ (win,lin), Command+/ (mac) - continue
3067 F10, Ctrl+' (win, lin), Command+' (mac) - step over
3068 F11, Ctrl+; (win, lin), Command+; (mac) - step into
3069 Shift+F11, Ctrl+Shift+; (win, lin), Command+Shift+; (mac) - step out
3071 - added call stack navigation shortcuts:
3072 Ctrl+. - next call frame
3073 Ctrl+, - previouse call frame
3075 https://bugs.webkit.org/show_bug.cgi?id=23849
3077 * inspector/front-end/CallStackSidebarPane.js:
3078 (WebInspector.CallStackSidebarPane):
3079 (WebInspector.CallStackSidebarPane.prototype.handleKeyEvent):
3080 (WebInspector.CallStackSidebarPane.prototype._selectNextCallFrameOnStack):
3081 (WebInspector.CallStackSidebarPane.prototype._selectPreviousCallFrameOnStack):
3082 (WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex):
3083 (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
3084 * inspector/front-end/KeyboardShortcut.js: Added.
3085 (WebInspector.KeyboardShortcut):
3086 (WebInspector.KeyboardShortcut.makeKey):
3087 (WebInspector.KeyboardShortcut.makeKeyFromEvent):
3088 (WebInspector.KeyboardShortcut.makeKeyFromCodeAndModifiers_):
3089 * inspector/front-end/ScriptsPanel.js:
3090 (WebInspector.ScriptsPanel):
3091 (WebInspector.ScriptsPanel.prototype.handleKeyEvent):
3092 * inspector/front-end/WebKit.qrc:
3093 * inspector/front-end/inspector.html:
3095 2009-07-01 Daniel Erat <derat@google.com>
3097 Reviewed by David Levin.
3099 Chromium Linux: Move the scrollbar thumb on middle-click.
3101 https://bugs.webkit.org/show_bug.cgi?id=26910
3102 http://code.google.com/p/chromium/issues/detail?id=11976
3104 Tested by building Chrome and checking that the scrollbar moves as expected.
3106 * platform/chromium/ScrollbarThemeChromium.cpp:
3107 * platform/chromium/ScrollbarThemeChromium.h:
3108 * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
3109 * platform/chromium/ScrollbarThemeChromiumLinux.h:
3110 * platform/chromium/ScrollbarThemeChromiumWin.cpp:
3111 * platform/chromium/ScrollbarThemeChromiumWin.h:
3113 2009-07-01 Brady Eidson <beidson@apple.com>
3115 Reviewed by Sam Weinig.
3117 Add a preference/setting to toggle whether content sniffing is enabled for file URLs.
3121 * page/Settings.cpp:
3122 (WebCore::Settings::setLocalFileContentSniffingEnabled):
3124 (WebCore::Settings::localFileContentSniffingEnabled):
3126 * platform/network/mac/ResourceHandleMac.mm:
3127 (WebCore::ResourceHandle::start):
3128 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
3130 2009-07-01 Chris Fleizach <cfleizach@apple.com>
3132 Reviewed by Oliver Hunt.
3134 Bug 26909: aria-label needs to be supported
3135 https://bugs.webkit.org/show_bug.cgi?id=26909
3137 Test: accessibility/aria-label.html
3139 * accessibility/AccessibilityRenderObject.cpp:
3140 (WebCore::AccessibilityRenderObject::accessibilityDescription):
3141 * html/HTMLAttributeNames.in:
3143 2009-07-01 David Hyatt <hyatt@apple.com>
3145 Reviewed by Oliver Hunt.
3147 More datagrid columns work. Make sure columns cache both a style for the column header as well
3148 as a style for the column background (behind the cells).
3150 Hook up to CSSStyleSelector methods for obtaining the pseudo styles for columns (stubbed out and
3153 * css/CSSStyleSelector.cpp:
3154 (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumn):
3155 (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumnHeader):
3156 * css/CSSStyleSelector.h:
3157 * html/DataGridColumn.h:
3158 (WebCore::DataGridColumn::setColumnList):
3159 (WebCore::DataGridColumn::columnStyle):
3160 (WebCore::DataGridColumn::setColumnStyle):
3161 (WebCore::DataGridColumn::headerStyle):
3162 (WebCore::DataGridColumn::setHeaderStyle):
3163 * rendering/RenderDataGrid.cpp:
3164 (WebCore::RenderDataGrid::recalcStyleForColumn):
3165 (WebCore::RenderDataGrid::columnStyle):
3166 (WebCore::RenderDataGrid::headerStyle):
3167 (WebCore::RenderDataGrid::paintColumnHeaders):
3168 * rendering/RenderDataGrid.h:
3170 2009-07-01 Eric Carlson <eric.carlson@apple.com>
3172 Reviewed by Oliver Hunt.
3174 <rdar://problem/7009870> After <audio> movie finishes playing, Pause button fails to change
3177 Grab onto the current time when QTKit "ended" notification fires and use it as
3178 duration from that point on as QuickTime sometimes refuses to play all the way to
3179 the time it reports for duration and buffered. HTMLMediaElement assumes that there
3180 more to play in this situation and tries to restart playback, endlessly.
3182 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3183 Rename m_duration to m_reportedDuration. Declare m_cachedDuration.
3184 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3185 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3186 Rename m_duration to m_reportedDuration. Initialize m_cachedDuration.
3187 (WebCore::MediaPlayerPrivate::duration):
3188 Return m_cachedDuration once it has been set.
3189 (WebCore::MediaPlayerPrivate::updateStates):
3190 Rename m_duration to m_reportedDuration.
3191 (WebCore::MediaPlayerPrivate::didEnd):
3192 Set m_cachedDuration to currentTime().
3194 2009-07-01 Chris Fleizach <cfleizach@apple.com>
3196 Reviewed by Beth Dakin.
3198 Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions
3199 https://bugs.webkit.org/show_bug.cgi?id=26900
3201 Editable web areas should have a clickpoint that uses where the selection is.
3203 Test: accessibility/editable-webarea-context-menu-point.html
3205 * accessibility/AccessibilityObject.h:
3206 * accessibility/AccessibilityRenderObject.cpp:
3207 (WebCore::AccessibilityRenderObject::clickPoint):
3208 * accessibility/AccessibilityRenderObject.h:
3209 * accessibility/mac/AccessibilityObjectWrapper.mm:
3210 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3212 2009-07-01 David Levin <levin@chromium.org>
3214 Reviewed by Eric Seidel.
3216 Remove unused code in SVGTransformList and SVGTransformDistance
3217 <https://bugs.webkit.org/show_bug.cgi?id=26891>
3219 * svg/SVGTransformDistance.cpp:
3220 (WebCore::SVGTransformDistance::SVGTransformDistance):
3221 * svg/SVGTransformList.cpp:
3222 * svg/SVGTransformList.h:
3224 2009-07-01 David Hyatt <hyatt@apple.com>
3226 Reviewed by Anders Carlsson.
3228 Begin stubbing out functions for layout, painting and style/geometry caching on columns. Not enough
3229 is implemented for this to do much of anything yet, but it should help keep patch sizes down. :)
3231 * html/DataGridColumn.cpp:
3232 (WebCore::DataGridColumn::columnChanged):
3233 * html/DataGridColumn.h:
3234 (WebCore::DataGridColumn::setId):
3235 (WebCore::DataGridColumn::setLabel):
3236 (WebCore::DataGridColumn::setType):
3237 (WebCore::DataGridColumn::setSortable):
3238 (WebCore::DataGridColumn::setSortDirection):
3239 (WebCore::DataGridColumn::setColumnList):
3240 (WebCore::DataGridColumn::style):
3241 (WebCore::DataGridColumn::setStyle):
3242 (WebCore::DataGridColumn::rect):
3243 (WebCore::DataGridColumn::setRect):
3244 * html/DataGridColumnList.cpp:
3245 (WebCore::DataGridColumnList::DataGridColumnList):
3246 (WebCore::DataGridColumnList::setDataGridNeedsLayout):
3247 (WebCore::DataGridColumnList::add):
3248 (WebCore::DataGridColumnList::remove):
3249 (WebCore::DataGridColumnList::move):
3250 (WebCore::DataGridColumnList::clear):
3251 (WebCore::DataGridColumnList::primaryColumnChanged):
3252 * html/DataGridColumnList.h:
3253 (WebCore::DataGridColumnList::create):
3254 (WebCore::DataGridColumnList::dataGrid):
3255 (WebCore::DataGridColumnList::clearDataGrid):
3256 * html/HTMLDataGridColElement.cpp:
3257 (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
3258 (WebCore::HTMLDataGridColElement::findDataGridAncestor):
3259 (WebCore::HTMLDataGridColElement::insertedIntoTree):
3260 (WebCore::HTMLDataGridColElement::removedFromTree):
3261 * html/HTMLDataGridColElement.h:
3262 (WebCore::HTMLDataGridColElement::dataGrid):
3263 * html/HTMLDataGridElement.cpp:
3264 (WebCore::HTMLDataGridElement::HTMLDataGridElement):
3265 (WebCore::HTMLDataGridElement::~HTMLDataGridElement):
3266 * rendering/RenderDataGrid.cpp:
3267 (WebCore::RenderDataGrid::styleDidChange):
3268 (WebCore::RenderDataGrid::recalcStyleForColumns):
3269 (WebCore::RenderDataGrid::recalcStyleForColumn):
3270 (WebCore::RenderDataGrid::styleForColumn):
3271 (WebCore::RenderDataGrid::layout):
3272 (WebCore::RenderDataGrid::layoutColumns):
3273 (WebCore::RenderDataGrid::paintColumnHeaders):
3274 (WebCore::RenderDataGrid::paintColumnHeader):
3275 * rendering/RenderDataGrid.h:
3276 (WebCore::RenderDataGrid::renderName):
3277 (WebCore::RenderDataGrid::canHaveChildren):
3279 2009-07-01 Daniel Bates <dbates@intudata.com>
3281 Reviewed by Adam Barth.
3283 https://bugs.webkit.org/show_bug.cgi?id=26807
3285 Fixes this address by checking whether frame->document()->decoder() is null.
3287 * page/XSSAuditor.cpp:
3288 (WebCore::XSSAuditor::findInRequest):
3290 2009-07-01 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3292 Reviewed by George Staikos.
3294 Fixes: https://bugs.webkit.org/show_bug.cgi?id=26885
3296 Correctly reset history length to '0', not '1'. Old relict from early WML days.
3297 Add some new WML testcases covering the use of history length (by onenterforward event handling)
3299 Tests: wml/onenterforward-event.html
3300 wml/onenterforward-inline-event.html
3301 wml/ontimer-event.html
3303 * wml/WMLPageState.cpp:
3304 (WebCore::WMLPageState::reset):
3306 2009-07-01 David Hyatt <hyatt@apple.com>
3308 Reviewed by Simon Fraser.
3310 Make sure setting attributes on dcol elements properly updates the corresponding DataGridColumn object.
3312 Added new test in fast/dom/HTMLDataGridElement.
3314 * html/HTMLDataGridColElement.cpp:
3315 (WebCore::HTMLDataGridColElement::parseMappedAttribute):
3316 * html/HTMLDataGridColElement.h:
3318 2009-07-01 David Hyatt <hyatt@apple.com>
3320 Reviewed by Tim Hatcher.
3322 <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
3323 even though the field is not actually focused for keyboard input
3325 Add the concept of whether or not the Page is focused by adding a boolean to the focusController. This allows the
3326 focused frame and focused node to both be cached and changed programmatically even when the Page itself doesn't
3327 actually happen to have focus at that time.
3330 * page/FocusController.cpp:
3331 (WebCore::FocusController::FocusController):
3332 (WebCore::FocusController::setFocusedFrame):
3333 (WebCore::FocusController::setFocused):
3334 (WebCore::FocusController::setActive):
3335 * page/FocusController.h:
3336 (WebCore::FocusController::isFocused):
3338 2009-07-01 Jakub Wieczorek <faw217@gmail.com>
3340 Reviewed by Simon Hausmann.
3342 [Qt] Move some API headers from WebCore.pro to headers.pri so that they
3343 get installed when running make install from the build directory.
3347 2009-07-01 Simon Hausmann <simon.hausmann@nokia.com>
3349 Rubber-stamped by Ariya Hidayat.
3351 Ran WebKitTools/Scripts/generate-qt-inspector-resource to update the
3352 qrc file with new png files from the web inspector.
3354 * inspector/front-end/WebKit.qrc:
3356 2009-06-30 Mark Rowe <mrowe@apple.com>
3358 Land some code that has a hope of compiling.
3360 * platform/graphics/cg/ImageSourceCG.cpp:
3361 (WebCore::imageSourceOptions):
3363 2009-06-30 Stephanie Lewis <slewis@apple.com>
3365 Reviewed by Simon Fraser.
3367 Flip back on block caching. Throwing away block data, while
3368 a perceived memory win, is a performance hit in cases where we
3369 are repainting large images (i.e. backgrounds) frequently
3370 (i.e. a flash video playing on top).
3371 <rdar://problem/6933515> REGRESSION(L-SL): Large JPEG images are
3372 decoded on drawing, slowing down painting of sites that frequently
3373 repaint e.g. because of Flash (pandora.com, Starcraft 2)
3375 * platform/graphics/cg/ImageSourceCG.cpp:
3376 (WebCore::imageSourceOptions):
3378 2009-06-30 Maciej Stachowiak <mjs@apple.com>
3380 Reviewed by Sam Weinig.
3382 - Rename html4.css to html.css, since we target HTML5 now
3383 https://bugs.webkit.org/show_bug.cgi?id=26873
3385 * DerivedSources.make:
3388 * WebCore.vcproj/WebCore.vcproj:
3389 * WebCore.xcodeproj/project.pbxproj:
3390 * css/CSSStyleSelector.cpp:
3391 (WebCore::loadFullDefaultStyle):
3392 * css/html.css: Copied from css/html4.css.
3393 * css/html4.css: Removed.
3396 * platform/qt/RenderThemeQt.cpp:
3397 (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
3398 * rendering/RenderTheme.h:
3400 2009-06-30 Zan Dobersek <zandobersek@gmail.com>
3402 Reviewed by Gustavo Noronha.
3404 [GTK] Drag and drop support
3405 https://bugs.webkit.org/show_bug.cgi?id=23642
3407 Define DragImageRef as GdkPixbuf and implement essential
3408 functions which manipulate drag images.
3410 * platform/DragImage.h:
3411 * platform/gtk/DragImageGtk.cpp:
3412 (WebCore::dragImageSize):
3413 (WebCore::deleteDragImage):
3414 (WebCore::scaleDragImage):
3415 (WebCore::createDragImageFromImage):
3417 2009-06-30 Maxime Simon <simon.maxime@gmail.com>
3419 Reviewed by Eric Seidel.
3421 StorageNamespace.cpp build issue
3422 https://bugs.webkit.org/show_bug.cgi?id=26859
3424 Moved #endif //ENABLE(DOM_STORAGE) position
3425 so that the build doesn't fail.
3426 The namespace WebCore was started after the #if ENABLE(DOM_STORAGE)
3427 but closed after the #endif.
3429 * storage/StorageNamespace.cpp:
3431 2009-06-30 Eric Carlson <eric.carlson@apple.com>
3433 Reviewed by Oliver Hunt.
3435 <rdar://problem/7020825> HTMLMediaElement should not assume seeking is only possible in
3436 buffered time ranges
3438 * html/HTMLMediaElement.cpp:
3439 Don't ASSERT if the network state goes to Idle when when the ready state is
3440 HaveEnoughData or higher, it is perfectly legal.
3441 (WebCore::HTMLMediaElement::setReadyState):
3442 Don't clear m_seeking after posting a 'seeking' event.
3444 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3445 (WebCore::MediaPlayerPrivate::seek):
3446 Do nothing when asked to seek to the same time we are already seeking to. Check requested
3447 seek time against maxTimeSeekable, not maxTimeLoaded.
3448 (WebCore::MediaPlayerPrivate::doSeek):
3449 Don't bother stopping a movie that isn't playing. Minor cleanup to make the code more readable.
3450 (WebCore::MediaPlayerPrivate::seekTimerFired):
3451 Check requested seek time against maxTimeSeekable, not maxTimeLoaded.
3452 (WebCore::MediaPlayerPrivate::updateStates):
3453 A streaming movie has as much data as it needs once it reaches "playable", so
3454 set the ready state to HaveFutureData. A movie with metadata doesn't drop back
3455 to "have nothing" when seeking. A streaming movie doesn't use the network when paused.
3456 (WebCore::MediaPlayerPrivate::timeChanged):
3457 It may not be possible to seek to a specific time in a streamed movie but when seeking
3458 in a streaming movie QuickTime sets the time to closest time possible and posts a
3459 timechanged notification, so update m_seekTo so we can detect when the seek completes.
3461 2009-06-30 Steve Falkenburg <sfalken@apple.com>
3463 https://bugs.webkit.org/show_bug.cgi?id=26860
3465 Reviewed by Sam Weinig.
3467 Blacklist Yahoo Application State plug-in for versions prior to 1.0.0.6.
3468 Earlier versions cause corruption crashes.
3470 * plugins/win/PluginPackageWin.cpp:
3471 (WebCore::PluginPackage::isPluginBlacklisted):
3473 2009-06-30 Dean Jackson <dino@apple.com>
3475 Reviewed by Simon Fraser.
3477 <rdar://problem/7005207> <video> in canvas broken with ACCEL_COMPOSITING
3479 Fix drawImage of video in CanvasRenderingContext2D when
3480 accelerated compositing is enabled. This is done by
3481 adding a new paint method to HTMLVideoElement that
3482 is only called from canvas, which will create the software
3483 renderer if necessary, but otherwise calls the regular
3484 paint method. Meanwhile, add logic to the software video
3485 renderer so that it can be created without calling repaint
3486 every time it sees a new frame.
3488 * html/CanvasRenderingContext2D.cpp:
3489 (WebCore::CanvasRenderingContext2D::drawImage):
3490 * html/HTMLVideoElement.cpp:
3491 (WebCore::HTMLVideoElement::paintCurrentFrameInContext):
3492 * html/HTMLVideoElement.h:
3493 * platform/graphics/MediaPlayer.cpp:
3494 (WebCore::MediaPlayer::paintCurrentFrameInContext):
3495 * platform/graphics/MediaPlayer.h:
3496 * platform/graphics/MediaPlayerPrivate.h:
3497 (WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext):
3498 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3499 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3500 (WebCore::MediaPlayerPrivate::createQTMovie):
3501 (WebCore::MediaPlayerPrivate::createQTVideoRenderer):
3502 (WebCore::MediaPlayerPrivate::currentRenderingMode):
3503 (WebCore::MediaPlayerPrivate::setUpVideoRendering):
3504 (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
3505 (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
3507 2009-06-30 David Hyatt <hyatt@apple.com>
3509 Reviewed by Beth Dakin.
3511 https://bugs.webkit.org/show_bug.cgi?id=26858
3513 Get <dcol> elements reflected into the datagrid's column list. Make sure columns get added/removed
3514 properly. (Attribute changes are still not caught. That is coming in a separate patch.)
3516 Added fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
3518 * html/DataGridColumn.h:
3519 (WebCore::DataGridColumn::create):
3520 (WebCore::DataGridColumn::setColumnList):
3521 (WebCore::DataGridColumn::DataGridColumn):
3522 * html/DataGridColumnList.cpp:
3523 (WebCore::DataGridColumnList::add):
3524 (WebCore::DataGridColumnList::remove):
3525 (WebCore::DataGridColumnList::clear):
3526 * html/DataGridColumnList.h:
3527 * html/HTMLDataGridColElement.cpp:
3528 (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
3529 (WebCore::HTMLDataGridColElement::findDatagridAncestor):
3530 (WebCore::HTMLDataGridColElement::ensureColumn):
3531 (WebCore::HTMLDataGridColElement::insertedIntoTree):
3532 (WebCore::HTMLDataGridColElement::removedFromTree):
3533 (WebCore::HTMLDataGridColElement::sortable):
3534 (WebCore::HTMLDataGridColElement::setSortable):
3535 * html/HTMLDataGridColElement.h:
3536 (WebCore::HTMLDataGridColElement::column):
3537 (WebCore::HTMLDataGridColElement::setColumn):
3538 (WebCore::HTMLDataGridColElement::datagrid):
3539 * html/HTMLDataGridElement.cpp:
3540 (WebCore::HTMLDataGridElement::setDataSource):
3541 (WebCore::HTMLDataGridElement::dataSource):
3543 2009-06-30 Jeremy Orlow (jorlow@chromium.org)
3545 Reviewed by David Levin.
3547 https://bugs.webkit.org/show_bug.cgi?id=26852
3549 Fix some minor build issues in the v8 bindings.
3551 * bindings/v8/custom/V8StorageCustom.cpp:
3552 (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
3553 (WebCore::storageGetter):
3554 (WebCore::storageSetter):
3555 (WebCore::storageDeleter):
3556 * storage/StorageArea.cpp:
3558 2009-06-30 Adam Langley <agl@google.com>
3560 Reviewed by Eric Seidel.
3562 Chromium Linux: use different fonts for each script run.
3564 https://bugs.webkit.org/show_bug.cgi?id=26853
3566 Previously, when rendering complex text, we picked a single font which
3567 could render all the glyphs needed for the run. However, this meant
3568 that sometimes lines were rendered with, for example, [LATIN, THAI,
3569 LATIN] and we could end up with a different font for the Latin parts
3570 than for lines without Thai in them.
3572 With this patch, we pick a font for each script run.
3574 This change is covered by existing layout tests.
3576 * platform/graphics/chromium/FontLinux.cpp:
3577 (WebCore::Font::drawGlyphs):
3578 (WebCore::TextRunWalker::TextRunWalker):
3579 (WebCore::TextRunWalker::~TextRunWalker):
3580 (WebCore::TextRunWalker::nextScriptRun):