1 2010-01-20 Simon Hausmann <simon.hausmann@nokia.com>
3 Reviewed by Tor Arne Vestbø.
5 [Qt] Make it possible to link with -no-undefined.
7 * WebCore.pro: Add missing explicit dependency to libXrender due to the
8 use of XRenderFindVisualFormat in the X11 plugin code.
10 2010-01-20 Simon Hausmann <simon.hausmann@nokia.com>
12 Reviewed by Tor Arne Vestbø.
14 Add missing files to the build.
18 2010-01-20 Shinichiro Hamaji <hamaji@chromium.org>
20 Reviewed by Darin Fisher.
22 [Chromium] computePageRectsForFrame seems to be unnecessary
23 https://bugs.webkit.org/show_bug.cgi?id=33881
25 * WebCore.gypi: Removed FrameChromium.h
26 * page/chromium/FrameChromium.cpp: Removed computePageRectsForFrame.
27 * page/chromium/FrameChromium.h: Removed.
29 2010-01-20 Roland Steiner <rolandsteiner@chromium.org>
31 Reviewed by Dan Bernstein.
33 Bug 33266 - WebCore::InlineFlowBox::determineSpacingForFlowBoxes ReadAV@NULL (43c64e8abbda6766e5f5edbd254c2d57)
34 (https://bugs.webkit.org/show_bug.cgi?id=33266)
36 Ruby did not handle malformed cases correctly when the ruby base was in
37 block flow. Changed the code to handle all possible cases.
38 Also, added some simplification methods to RenderBlock.
40 Tests: fast/ruby/ruby-illegal-1.html
41 fast/ruby/ruby-illegal-2.html
42 fast/ruby/ruby-illegal-3.html
43 fast/ruby/ruby-illegal-4.html
44 fast/ruby/ruby-illegal-5.html
45 fast/ruby/ruby-illegal-6.html
46 fast/ruby/ruby-illegal-7.html
47 fast/ruby/ruby-illegal-combined.html
48 fast/ruby/rubyDOM-insert-rt-block-1.html
49 fast/ruby/rubyDOM-insert-rt-block-2.html
50 fast/ruby/rubyDOM-insert-rt-block-3.html
51 fast/ruby/rubyDOM-remove-rt-block-1.html
52 fast/ruby/rubyDOM-remove-rt-block-2.html
53 fast/ruby/rubyDOM-remove-rt-block-3.html
55 * rendering/RenderBlock.cpp:
56 (WebCore::RenderBlock::moveAllChildrenTo): useful for anonymous block manipulation
57 (WebCore::RenderBlock::removeChild): making use of moveAllChildrenTo
58 * rendering/RenderBlock.h:
59 * rendering/RenderRubyBase.cpp:
60 (WebCore::RenderRubyBase::hasOnlyWrappedInlineChildren):
61 (WebCore::RenderRubyBase::moveChildren):
62 (WebCore::RenderRubyBase::moveInlineChildren):
63 (WebCore::RenderRubyBase::moveBlockChildren):
64 (WebCore::RenderRubyBase::mergeBlockChildren):
65 * rendering/RenderRubyBase.h:
66 * rendering/RenderRubyRun.cpp:
67 (WebCore::RenderRubyRun::addChild):
68 (WebCore::RenderRubyRun::removeChild):
70 2010-01-19 Dan Bernstein <mitz@apple.com>
72 Build fix after r53514
74 * WebCore.base.exp: Removed threadGlobalData(), which was inlined in r53514.
76 2010-01-19 Simon Fraser <simon.fraser@apple.com>
78 Reviewed by Dan Bernstein.
80 Avoid calling NSEqualRects() on the garbage rect obtained
81 by calling -frame on a null view.
83 * platform/mac/WidgetMac.mm:
84 (WebCore::Widget::setFrameRect):
86 2010-01-19 Maciej Stachowiak <mjs@apple.com>
90 Remove currentWorld from the exports file again, since it is now inline.
94 2010-01-19 Brian Weinstein <bweinstein@apple.com>
96 Reviewed by Tim Hatcher.
98 Part of <http://webkit.org/b/28622>.
99 Caught exceptions still pause the debugger.
101 Update JavaScriptDebugServer::exception to take a hasHandler parameter,
102 so later we can differentiate between a caught and an uncaught exception.
104 This just adds a new parameter, no behavior is changed.
106 No change in functionality, so no tests.
108 * inspector/JavaScriptDebugServer.cpp:
109 (WebCore::JavaScriptDebugServer::exception):
110 * inspector/JavaScriptDebugServer.h:
112 2010-01-18 Maciej Stachowiak <mjs@apple.com>
114 Reviewed by Adam Barth.
116 Inline functions that are hot in DOM manipulation
117 https://bugs.webkit.org/show_bug.cgi?id=33820
119 (3% speedup on Dromaeo DOM Core tests)
121 * bindings/js/JSDOMBinding.h:
122 (WebCore::currentWorld): Inlined.
123 (WebCore::jsString): Inlined String& overload and split off slow case.
124 * bindings/js/JSDOMBinding.cpp:
125 (WebCore::jsStringSlowCase): Slow case for the above.
127 (WebCore::Document::isHTMLDocument): Use a bit and an inline method
128 instead of a virtual method, since this is so hot and size of Document
129 is not a prime concern.
130 (WebCore::Document::create): Adapt for above.
131 (WebCore::Document::createXHTML): ditto
133 (WebCore::Document::Document): ditto
134 * html/HTMLDocument.cpp:
135 (WebCore::HTMLDocument::HTMLDocument): ditto
136 * html/HTMLDocument.h: ditto
137 * loader/PlaceholderDocument.h:
138 (WebCore::PlaceholderDocument::PlaceholderDocument): ditto
139 * svg/SVGDocument.cpp:
140 (WebCore::SVGDocument::SVGDocument): ditto
142 (WebCore::Element::attributes): Inlined.
143 (WebCore::Element::updateId): Inlined.
144 * dom/Element.cpp: (Remove inlined methods.)
145 * dom/NamedAttrMap.h:
146 (WebCore::NamedNodeMap::getAttributeItem): Inlined and split off slow case.
147 * dom/NamedAttrMap.cpp:
148 (WebCore::NamedNodeMap::getAttributeItemSlowCase): Slow case for the above.
149 * inspector/InspectorController.cpp:
150 * inspector/InspectorController.h:
151 (WebCore::InspectorController::didInsertDOMNode): Inlined so the fast case
152 early exit doesn't incur a function call.
153 (WebCore::InspectorController::didRemoveDOMNode): ditto
154 (WebCore::InspectorController::didModifyDOMAttr): ditto
155 * platform/ThreadGlobalData.h:
156 (WebCore::threadGlobalData): Inlined.
157 * platform/ThreadGlobalData.cpp: (Removed inline methods).
159 (WebCore::TimerBase::isActive): Inlined.
160 * platform/Timer.cpp: (Removed inline methods).
161 * WebCore.xcodeproj/project.pbxproj: Install new heares.
162 * WebCore.base.exp: Add appropriate exports.
164 2010-01-19 Jon Honeycutt <jhoneycutt@apple.com>
168 * accessibility/chromium/AccessibilityObjectChromium.cpp:
169 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
170 Call correct function.
172 2010-01-17 Jon Honeycutt <jhoneycutt@apple.com>
174 MSAA: The child <option> elements of a non-multiple <select> are not
177 https://bugs.webkit.org/show_bug.cgi?id=33773
178 <rdar://problem/7550556>
180 Reviewed by Alice Liu.
182 This exposes the child <option> elements in a format similar to
183 Firefox's: the <select> element has one child, a hidden list object,
184 and this list has as its children the <option> elements.
188 * WebCore.vcproj/WebCore.vcproj:
189 * WebCore.xcodeproj/project.pbxproj:
190 Add new files to project.
192 * accessibility/AXObjectCache.cpp:
193 (WebCore::AXObjectCache::getOrCreate):
194 If the element is a RenderMenuList, create an AccessibilityMenuList.
195 (WebCore::AXObjectCache::getOrCreate):
196 Add new types to create by role value.
198 * accessibility/AccessibilityMenuList.cpp: Added.
199 (WebCore::AccessibilityMenuList::AccessibilityMenuList):
200 Call the base class constructor. Assert that the RenderObject passed
202 (WebCore::AccessibilityMenuList::press):
203 Show or hide the popup menu.
204 (WebCore::AccessibilityMenuList::addChildren):
205 Create an AccessibilityMenuListPopup. If the platform ignores its
206 accessibility, remove it from the object cache and return early.
207 Otherwise, set its parent object to this object, add it to our list of
208 children, and tell it to add its children.
209 (WebCore::AccessibilityMenuList::childrenChanged):
210 Tell our child hidden list that its children changed.
211 (WebCore::AccessibilityMenuList::isCollapsed):
212 Return whether the popup menu is visible.
214 * accessibility/AccessibilityMenuList.h: Added.
215 (WebCore::AccessibilityMenuList::create):
216 Adopt and return a new RenderMenuList.
217 (WebCore::AccessibilityMenuList::isMenuList):
218 (WebCore::AccessibilityMenuList::roleValue):
219 (WebCore::AccessibilityMenuList::accessibilityIsIgnored):
220 (WebCore::AccessibilityMenuList::canSetFocusAttribute):
222 * accessibility/AccessibilityMenuListOption.cpp: Added.
223 (WebCore::AccessibilityMenuListOption::AccessibilityMenuListOption):
224 Initialize the pointer to our parent popup menu.
225 (WebCore::AccessibilityMenuListOption::setElement):
226 Assert that the element is an <option> element.
227 (WebCore::AccessibilityMenuListOption::actionElement):
229 (WebCore::AccessibilityMenuListOption::parentObject):
230 Return our parent popup menu.
231 (WebCore::AccessibilityMenuListOption::isEnabled):
232 Return true if the element itself is enabled.
233 (WebCore::AccessibilityMenuListOption::isVisible):
234 Return true if the popup is visible, or return true if the popup is
235 collapsed but the element is selected.
236 (WebCore::AccessibilityMenuListOption::isOffScreen):
237 Return true if the object is invisible.
238 (WebCore::AccessibilityMenuListOption::isSelected):
239 (WebCore::AccessibilityMenuListOption::setSelected):
240 (WebCore::AccessibilityMenuListOption::nameForMSAA):
241 Return the <option> element's text.
242 (WebCore::AccessibilityMenuListOption::canSetSelectedAttribute):
243 Return true if enabled.
244 (WebCore::AccessibilityMenuListOption::elementRect):
245 Return the AccessibilityMenuList's rect.
247 * accessibility/AccessibilityMenuListOption.h: Added.
248 (WebCore::AccessibilityMenuListOption::create):
249 Adopt and return a new AccessibilityMenuListOption.
250 (WebCore::AccessibilityMenuListOption::setParent):
251 (WebCore::AccessibilityMenuListOption::isMenuListOption):
252 (WebCore::AccessibilityMenuListOption::roleValue):
253 (WebCore::AccessibilityMenuListOption::canHaveChildren):
254 (WebCore::AccessibilityMenuListOption::size):
256 * accessibility/AccessibilityMenuListPopup.cpp: Added.
257 (WebCore::AccessibilityMenuListPopup::AccessibilityMenuListPopup):
258 Initialize the pointer to our parent list.
259 (WebCore::AccessibilityMenuListPopup::isVisible):
260 Return false; we're never considered visible.
261 (WebCore::AccessibilityMenuListPopup::isOffScreen):
262 Return true if the popup is collapsed.
263 (WebCore::AccessibilityMenuListPopup::parentObject):
264 Return our parent AccessibilityMenuList.
265 (WebCore::AccessibilityMenuListPopup::isEnabled):
266 Return true if our parent is enabled.
267 (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
268 If the element is an <option> element, create a list item for it, and
269 set the object's element to this element.
270 (WebCore::AccessibilityMenuListPopup::press):
271 Call our parent's press() function to show or hide the popup menu.
272 (WebCore::AccessibilityMenuListPopup::addChildren):
273 Walk the select element's children, and create list items for them. Add
274 them to our list of children.
275 (WebCore::AccessibilityMenuListPopup::childrenChanged):
276 If any of our children have been detached from the document, remove
277 them from the AXObjectCache and from our child list.
278 (WebCore::AccessibilityMenuListPopup::setMenuList):
280 * accessibility/AccessibilityMenuListPopup.h: Added.
281 (WebCore::AccessibilityMenuListPopup::create):
282 Adopt and return an AccessibilityMenuListPopup.
283 (WebCore::AccessibilityMenuListPopup::isMenuListPopup):
284 (WebCore::AccessibilityMenuListPopup::elementRect):
285 (WebCore::AccessibilityMenuListPopup::size):
286 (WebCore::AccessibilityMenuListPopup::roleValue):
288 * accessibility/AccessibilityObject.cpp:
289 (WebCore::AccessibilityObject::actionVerb):
290 Add the menuListAction and menuListPopupAction verbs.
292 * accessibility/AccessibilityObject.h:
295 (WebCore::AccessibilityObject::isMenuList):
297 (WebCore::AccessibilityObject::isMenuListHiddenList):
299 (WebCore::AccessibilityObject::isMenuListOption):
301 (WebCore::AccessibilityObject::isVisible):
304 * accessibility/chromium/AccessibilityObjectChromium.cpp:
305 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
306 Ignore the new object type.
308 * accessibility/gtk/AccessibilityObjectAtk.cpp:
309 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
312 * accessibility/mac/AccessibilityObjectMac.mm:
313 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
316 * accessibility/qt/AccessibilityObjectQt.cpp:
317 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
320 * accessibility/win/AccessibilityObjectWin.cpp:
321 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
322 Allow the new object types.
324 * accessibility/wx/AccessibilityObjectWx.cpp:
325 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
326 Ignore the new object type.
328 * accessibility/win/AccessibilityObjectWin.cpp:
329 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
330 If the object is an AccessibilityMenuListHiddenList or
331 AccessibilityMenuListOption, include it.
333 * html/HTMLOptionElement.cpp:
334 (WebCore::HTMLOptionElement::disabled):
335 Call ownElementDisabled().
337 * html/HTMLOptionElement.h:
338 (WebCore::HTMLOptionElement::ownElementDisabled):
339 Return the base class implementation of disabled, which returns
340 whether this <option> itself is disabled.
342 * platform/LocalizedStrings.h:
343 Declare new localized string functions.
345 * platform/gtk/LocalizedStringsGtk.cpp:
346 (WebCore::AXMenuListPopupActionVerb):
348 (WebCore::AXMenuListActionVerb):
351 * platform/haiku/LocalizedStringsHaiku.cpp:
352 (WebCore::AXMenuListPopupActionVerb):
354 (WebCore::AXMenuListActionVerb):
357 * platform/mac/LocalizedStringsMac.mm:
358 (WebCore::AXMenuListPopupActionVerb):
359 Call the view factory's method.
360 (WebCore::AXMenuListActionVerb):
363 * platform/qt/Localizations.cpp:
364 (WebCore::AXMenuListPopupActionVerb):
366 (WebCore::AXMenuListActionVerb):
369 * platform/wx/LocalizedStringsWx.cpp:
370 (WebCore::AXMenuListPopupActionVerb):
372 (WebCore::AXMenuListActionVerb):
375 2010-01-19 Simon Fraser <simon.fraser@apple.com>
377 Reviewed by Dan Bernstein.
379 Support reflections on WebGL
380 https://bugs.webkit.org/show_bug.cgi?id=33754
382 Support reflections of WebGL content, by ensuring that when the Canvas3DLayer containing the
383 WebGL content gets displayed, we correctly copy its content to the clone layers.
385 Test: compositing/webgl/webgl-reflection.html
387 * platform/graphics/GraphicsLayer.h:
388 (WebCore::GraphicsLayer::didDisplay): Give the didDisplay() client method a parameter
389 which is the layer that displayed.
390 * platform/graphics/mac/Canvas3DLayer.mm:
391 (-[Canvas3DLayer display]): Override -[CALayer display], and call the client didDisplay().
392 * platform/graphics/mac/GraphicsLayerCA.h: didDisplay() takes a PlatformLayer parameter.
394 * platform/graphics/mac/GraphicsLayerCA.mm:
395 (WebCore::GraphicsLayerCA::~GraphicsLayerCA): We need to clear the layer owner on the content
396 layer, since we're setting it for WebGL layers now.
398 (WebCore::GraphicsLayerCA::didDisplay): Handle didDisplay() calls for the content layer,
399 as well as the main layer now, getting the correct layer to copy contents from, and using
400 the correct clone map.
402 (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): Set the layer owner for WebGL
403 layers, because we need the didDisplay() callback.
405 * platform/graphics/mac/WebLayer.mm:
406 (-[WebLayer display]): didDisplay() takes a layer argument.
407 * platform/graphics/mac/WebTiledLayer.mm:
408 (-[WebTiledLayer display]): ditto.
410 2010-01-19 Mark Rowe <mrowe@apple.com>
412 Reviewed by Oliver Hunt.
414 <rdar://problem/7555330> <http://webkit.org/b/33770> dataFunctionMatrix leaks the array allocated by toArray
416 Rework toArray to extract elements in to a vector rather than handing out raw pointers. This prevents
417 callers from forgetting to free the memory, and gives them the option of using stack buffers for
418 sufficiently small allocations.
420 * bindings/js/JSWebGLRenderingContextCustom.cpp:
421 (WebCore::JSWebGLRenderingContext::texSubImage2D):
423 (WebCore::dataFunctionf):
424 (WebCore::dataFunctioni):
425 (WebCore::dataFunctionMatrix):
427 2010-01-19 Carol Szabo <carol.szabo@nokia.com>
429 Reviewed by Darin Adler.
431 Another crazy counters bug
432 https://bugs.webkit.org/show_bug.cgi?id=11031
434 This patch actually provides for counter updating when the style
435 of a renderer changes.
437 Tests: fast/css/counters/counter-increment-002.html
438 fast/css/counters/counter-reset-000.html
439 fast/css/counters/counter-reset-002.html
441 * rendering/RenderCounter.cpp:
442 (WebCore::RenderCounter::rendererStyleChanged):
443 This function is added to update the counter hierarchy in
444 response to changes to the style of a renderer.
445 * rendering/RenderCounter.h:
446 * rendering/RenderObject.cpp:
447 (WebCore::RenderObject::styleDidChange):
448 For changes that may include the counter directives added a
449 call to RenderCounter::rendererStyleChanged.
451 2010-01-19 Gustavo Noronha Silva <gns@gnome.org>
453 Unreviewed. Build fixes for make distcheck - missing files.
457 2010-01-19 Alexey Proskuryakov <ap@apple.com>
459 Reviewed by Oliver Hunt.
461 https://bugs.webkit.org/show_bug.cgi?id=33850
462 Attr.childNodes does not get updated after DOM mutations
464 Test: fast/dom/Attr/child-nodes-cache.html
466 * dom/Node.cpp: (WebCore::Node::notifyLocalNodeListsAttributeChanged): If the node is an
467 attribute, then changing it shouldn't take the shortcut that only resets a subset of caches.
469 2010-01-19 John Sullivan <sullivan@apple.com>
471 https://bugs.webkit.org/show_bug.cgi?id=33854
472 Would like a variant of WebHTMLRepresentation's searchForLabelsBeforeElement that returns
473 more info about where the result was found
475 Reviewed by Darin Adler.
477 No new tests. This just adds a couple of out parameters for the benefit of WebKit clients.
480 Updated mangled signature for export.
483 (WebCore::Frame::searchForLabelsAboveCell):
484 Now fills in an out parameter with the number of characters from the start of the cell.
485 (WebCore::Frame::searchForLabelsBeforeElement):
486 Now fills in an out parameter with the distance as a number of characters, and another
487 with a bool for whether the result was in a table cell above the current cell (otherwise
488 it was found in the text before this element and after the previous element or start of form).
493 * page/mac/FrameMac.mm:
494 (WebCore::Frame::searchForNSLabelsAboveCell):
495 Same as above. This is a parallel copy of the function using Mac-specific data structures.
496 (WebCore::Frame::searchForLabelsBeforeElement):
499 2010-01-19 Jakob Petsovits <jpetsovits@rim.com>
501 Reviewed by Nikolas Zimmermann.
503 [OpenVG] Add (EGL) surface/context management
504 https://bugs.webkit.org/show_bug.cgi?id=33403
506 The foundations for a new OpenVG port.
508 OpenVG is not tied to EGL per se, EGL just happens to be
509 the only usable backend for OpenVG state and painting
510 at the time of writing.
512 The purpose of the SurfaceOpenVG class is to provide
513 an EGL-independent interface for OpenVG-specific code.
514 The EGLDisplayOpenVG class takes care of keeping track
515 of EGL displays, surfaces and contexts. It also makes
516 sure that all created contexts are interoperable, and
517 that different surfaces use a single context if possible.
519 * platform/graphics/openvg/EGLDisplayOpenVG.cpp: Added.
520 (WebCore::displayManagers):
521 (WebCore::EGLDisplayOpenVG::currentSurface):
522 (WebCore::EGLDisplayOpenVG::registerPlatformSurface):
523 (WebCore::EGLDisplayOpenVG::unregisterPlatformSurface):
524 (WebCore::EGLDisplayOpenVG::setCurrentDisplay):
525 (WebCore::EGLDisplayOpenVG::current):
526 (WebCore::EGLDisplayOpenVG::forDisplay):
527 (WebCore::EGLDisplayOpenVG::EGLDisplayOpenVG):
528 (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG):
529 (WebCore::EGLDisplayOpenVG::setDefaultPbufferConfig):
530 (WebCore::EGLDisplayOpenVG::defaultPbufferConfig):
531 (WebCore::EGLDisplayOpenVG::setDefaultWindowConfig):
532 (WebCore::EGLDisplayOpenVG::defaultWindowConfig):
533 (WebCore::EGLDisplayOpenVG::sharedPlatformSurface):
534 (WebCore::EGLDisplayOpenVG::createPbufferSurface):
535 (WebCore::EGLDisplayOpenVG::surfaceForWindow):
536 (WebCore::EGLDisplayOpenVG::surfacesCompatible):
537 (WebCore::EGLDisplayOpenVG::destroySurface):
538 (WebCore::EGLDisplayOpenVG::contextForSurface):
539 * platform/graphics/openvg/EGLDisplayOpenVG.h: Added.
540 (WebCore::EGLDisplayOpenVG::display):
541 * platform/graphics/openvg/EGLUtils.h: Added.
542 (toEGLErrorConstant):
543 * platform/graphics/openvg/SurfaceOpenVG.cpp: Added.
544 (WebCore::SurfaceOpenVG::currentSurface):
545 (WebCore::SurfaceOpenVG::SurfaceOpenVG):
546 (WebCore::SurfaceOpenVG::~SurfaceOpenVG):
547 (WebCore::SurfaceOpenVG::isValid):
548 (WebCore::SurfaceOpenVG::width):
549 (WebCore::SurfaceOpenVG::height):
550 (WebCore::SurfaceOpenVG::sharedSurface):
551 (WebCore::SurfaceOpenVG::makeCurrent):
552 (WebCore::SurfaceOpenVG::makeCompatibleCurrent):
553 (WebCore::SurfaceOpenVG::flush):
554 * platform/graphics/openvg/SurfaceOpenVG.h: Added.
555 (WebCore::SurfaceOpenVG::eglDisplay):
556 (WebCore::SurfaceOpenVG::eglSurface):
557 (WebCore::SurfaceOpenVG::eglContext):
558 * platform/graphics/openvg/VGUtils.h: Added.
561 2010-01-19 Steve Block <steveblock@google.com>
563 Reviewed by David Levin.
565 Renames jni_utility and jni_utility_private to JNIUtility and JNIUtilityPrivate
566 https://bugs.webkit.org/show_bug.cgi?id=33843
568 No new tests, refactoring only.
570 * Android.jscbindings.mk:
571 * Android.v8bindings.mk:
573 * WebCore.xcodeproj/project.pbxproj:
574 * bridge/jni/JNIUtility.cpp: Copied from WebCore/bridge/jni/jni_utility.cpp.
575 * bridge/jni/JNIUtility.h: Copied from WebCore/bridge/jni/jni_utility.h.
576 * bridge/jni/jni_jsobject.mm:
577 * bridge/jni/jni_objc.mm:
578 * bridge/jni/jni_runtime.cpp:
579 * bridge/jni/jni_runtime.h:
580 * bridge/jni/jni_utility.cpp: Removed.
581 * bridge/jni/jni_utility.h: Removed.
582 * bridge/jni/jsc/JNIUtilityPrivate.cpp: Copied from WebCore/bridge/jni/jsc/jni_utility_private.cpp.
583 (JSC::Bindings::convertValueToJValue):
584 * bridge/jni/jsc/JNIUtilityPrivate.h: Copied from WebCore/bridge/jni/jsc/jni_utility_private.h.
585 * bridge/jni/jsc/JavaClassJSC.cpp:
586 * bridge/jni/jsc/JavaInstanceJSC.cpp:
587 * bridge/jni/jsc/JavaStringJSC.h:
588 * bridge/jni/jsc/jni_utility_private.cpp: Removed.
589 * bridge/jni/jsc/jni_utility_private.h: Removed.
590 * platform/android/GeolocationServiceBridge.cpp:
591 * platform/android/GeolocationServiceBridge.h:
592 * platform/android/TemporaryLinkStubs.cpp:
594 2010-01-19 Simon Fraser <simon.fraser@apple.com>
596 Reviewed by Dan Bernstein.
598 Occasional crash when interacting with page with reflected WebGL
599 https://bugs.webkit.org/show_bug.cgi?id=33863
601 If updateCompositingLayers() was called with an updateRoot that was a reflection layer,
602 then we would determine that the layer does not require compositing, and tear down its
603 backing (without clearing replicaLayer() on the source layer's GraphicsLayer).
605 Fix by changing requiresCompositingLayer() on a reflection layer to always give the
606 same answer for a reflection and its original.
608 Also add various belt-and-brances code and null checks to ensure that if we ever end up
609 with a non-composited reflection layer, we won't crash.
611 No new tests, because the crash depends on timing issues that are hard to reproduce in a test.
613 * platform/graphics/GraphicsLayer.h:
614 (WebCore::GraphicsLayer::replicaLayer): Make this public so we can use it in an assertion.
616 * rendering/RenderLayerCompositor.cpp:
617 (WebCore::RenderLayerCompositor::updateBacking): Clear the source layer's replica layer
618 pointer if tearing down backing store of a reflection.
620 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Null-check reflection->backing().
621 (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Null-check reflection->backing().
622 (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): reflection->backing().
623 (WebCore::RenderLayerCompositor::requiresCompositingLayer): If being called for a reflection layer,
624 use the source layer to answer the question.
626 2010-01-19 Simon Fraser <simon.fraser@apple.com>
628 Reviewed by Dan Bernstein.
630 Some composited reflections incorrectly positioned
631 https://bugs.webkit.org/show_bug.cgi?id=33856
633 When setting the position of the replicated layer inside the reflection, we need to take
634 into account the bounds of the original layer, and the replica layer to get the
635 reflection in the right place.
637 Tests: compositing/reflections/nested-reflection-transformed2.html
638 compositing/reflections/reflection-positioning2.html
640 * rendering/RenderLayerBacking.cpp:
641 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
643 2010-01-19 Enrica Casucci <enrica@apple.com>
645 Reviewed by Simon Fraser.
647 REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
648 https://bugs.webkit.org/show_bug.cgi?id=33864
649 <rdar://problem/7552959>
651 Regression has been introduced by changeset 53085.
652 The original fix had to be limited to editable content.
654 Test: editing/selection/selection-applet.html
657 (WebCore::Position::getInlineBoxAndOffset):
659 2010-01-19 Kristian Amlie <kristian.amlie@nokia.com>
661 Reviewed by Laszlo Gombos.
663 [Qt] Fix qmake warning with qmake in Qt for Symbian
664 https://bugs.webkit.org/show_bug.cgi?id=33786
666 * WebCore.pro: Use QMAKE_LFLAGS instead of MMP_RULES.
668 2010-01-19 Daniel Bates <dbates@rim.com>
670 Reviewed by Darin Adler.
672 https://bugs.webkit.org/show_bug.cgi?id=33851
674 Fixes an issue in the Apple Mac port where ScrollView::platformVisibleContentRect
675 returns the rectangle of the document within the content view of
676 the scroll view (i.e. the rectangle not including scrollbars) when
677 the parameter includeScrollbars == true
679 Currently, this behavior contradicts both the comment in ScrollView.h
680 for method visibleContentRect as well as the behavior in
681 ScrollView::visibleContentRect() for a platform-independent scroll view.
683 Instead, it should return the rectangle whose dimensions include
686 Also, removes some extra whitespace at the end of the lines.
688 No tests included because we cannot test this using either DRT
691 * platform/mac/ScrollViewMac.mm:
692 (WebCore::ScrollView::platformVisibleContentRect): If includeScrollbars == true
693 then return the rectangle whose dimensions are that of
694 the frame (i.e. -[NSScrollView frame]).
696 2010-01-19 Steve Block <steveblock@google.com>
698 Reviewed by David Levin.
700 Fixes style in WebCore/bridge/jni/jsc/JavaClassJSC
701 https://bugs.webkit.org/show_bug.cgi?id=33819
703 No new tests, style fixes only.
705 * bridge/jni/jsc/JavaClassJSC.cpp: Modified.
706 * bridge/jni/jsc/JavaClassJSC.h: Modified.
708 2010-01-19 Jaime Yap <jaimeyap@google.com>
710 Reviewed by Pavel Feldman.
712 Refactors the TimelineRecordFactory and InspectorTimelineAgent to support reporting data
713 when closing a record. Also includes grabbing the start and end line number for parse HTML
714 records as a reference use case for the above refactor
717 inspector/timeline-parse-html-expected.txt
718 inspector/timeline-layout-expected.txt
719 inspector/timeline-recalculate-styles-expected.txt
721 https://bugs.webkit.org/show_bug.cgi?id=33853
723 * html/HTMLTokenizer.cpp:
724 (WebCore::HTMLTokenizer::write):
725 * inspector/InspectorTimelineAgent.cpp:
726 (WebCore::InspectorTimelineAgent::willDispatchEvent):
727 (WebCore::InspectorTimelineAgent::willLayout):
728 (WebCore::InspectorTimelineAgent::willRecalculateStyle):
729 (WebCore::InspectorTimelineAgent::willPaint):
730 (WebCore::InspectorTimelineAgent::willWriteHTML):
731 (WebCore::InspectorTimelineAgent::didWriteHTML):
732 (WebCore::InspectorTimelineAgent::didInstallTimer):
733 (WebCore::InspectorTimelineAgent::didRemoveTimer):
734 (WebCore::InspectorTimelineAgent::willFireTimer):
735 (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
736 (WebCore::InspectorTimelineAgent::willLoadXHR):
737 (WebCore::InspectorTimelineAgent::willEvaluateScript):
738 (WebCore::InspectorTimelineAgent::willSendResourceRequest):
739 (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
740 (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
741 (WebCore::InspectorTimelineAgent::didMarkTimeline):
742 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
743 (WebCore::InspectorTimelineAgent::pushCurrentRecord):
744 * inspector/InspectorTimelineAgent.h:
745 (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
746 * inspector/TimelineRecordFactory.cpp:
747 (WebCore::TimelineRecordFactory::createEventDispatchData):
748 (WebCore::TimelineRecordFactory::createGenericTimerData):
749 (WebCore::TimelineRecordFactory::createTimerInstallData):
750 (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
751 (WebCore::TimelineRecordFactory::createXHRLoadData):
752 (WebCore::TimelineRecordFactory::createEvaluateScriptData):
753 (WebCore::TimelineRecordFactory::createMarkTimelineData):
754 (WebCore::TimelineRecordFactory::createResourceSendRequestData):
755 (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
756 (WebCore::TimelineRecordFactory::createResourceFinishData):
757 (WebCore::TimelineRecordFactory::createPaintData):
758 (WebCore::TimelineRecordFactory::createParseHTMLData):
759 * inspector/TimelineRecordFactory.h:
761 2010-01-19 Joanmarie Diggs <joanmarie.diggs@gmail.com>
763 Reviewed by Xan Lopez.
765 https://bugs.webkit.org/show_bug.cgi?id=30883
766 [Gtk] Implement AtkText for HTML elements which contain text
768 Moves the text assembling functionality from getPangoLayoutForAtk to
769 textForObject, which webkit_accessible_text_get_text now falls back on
770 when it comes up empty.
772 Adds a check in textForObject so that we don't double-add newlines
775 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
777 (getPangoLayoutForAtk):
778 (webkit_accessible_text_get_text):
780 2010-01-19 Eric Carlson <eric.carlson@apple.com>
782 Reviewed by Adam Roben.
784 error events don't fire if no <source> elements passed to media engine
785 https://bugs.webkit.org/show_bug.cgi?id=33855
787 Test: media/video-source-error-no-candidate.html
789 * html/HTMLMediaElement.cpp:
790 (WebCore::HTMLMediaElement::selectMediaResource): Only bail early if
791 there is no 'src' attribute and no <source> child elements at all.
793 2010-01-19 Daniel Bates <dbates@webkit.org>
795 Reviewed by Adam Roben.
797 https://bugs.webkit.org/show_bug.cgi?id=33822
799 REGRESSION(r53273): Fixes redefinition of XFORM error when building
800 WebKit using Qt Windows with the MinGW compiler.
802 Note, MinGW has a slightly different declaration of the struct XFORM
803 from that in the Microsoft SDK. So, we need to substitute an alternative
804 typedef for XFORM when compiling with MinGW.
806 No functionality was changed. So, no new tests.
808 * platform/graphics/transforms/TransformationMatrix.h:
810 2010-01-19 Stephen White <senorblanco@chromium.org>
812 Reviewed by Dimitri Glazkov.
814 Fix for crash on large TransparencyWin allocation. The fix is
815 to leave m_layerValid false when the allocPixels of
816 OwnedBuffers::m_referenceBitmap fails. Then TransparencyWin won't
819 Will be covered by a new unit test in Chromium's test_shell_tests (when
820 this is rolled into Chromium).
822 https://bugs.webkit.org/show_bug.cgi?id=33844
824 * platform/graphics/chromium/TransparencyWin.cpp:
825 (WebCore::TransparencyWin::initializeNewContext):
826 Early return when m_referenceBitmap or its pixels is NULL, leaving
829 2010-01-19 Eric Carlson <eric.carlson@apple.com>
831 Reviewed by Adam Roben.
833 video.networkState remains NETWORK_LOADING indefinitely when no <source> element was able to be loaded
834 https://bugs.webkit.org/show_bug.cgi?id=33744
836 Test: media/video-source-none-supported.html
838 * html/HTMLMediaElement.cpp:
839 (WebCore::HTMLMediaElement::loadNextSourceChild): Call waitForSourceChange if
840 there are no valid source elements.
841 (WebCore::HTMLMediaElement::waitForSourceChange): New, set networkState to NETWORK_NO_SOURCE.
842 (WebCore::HTMLMediaElement::setNetworkState): Call waitForSourceChange if the movie
843 hasn't reached HAVE_METADATA and there are no more <source> elements to try.
844 * html/HTMLMediaElement.h: Declare waitForSourceChange.
846 2010-01-19 Daniel Bates <dbates@rim.com>
848 Reviewed by Adam Treat.
850 https://bugs.webkit.org/show_bug.cgi?id=33408
852 Implements an optimization to ignore fixed background images
853 (i.e. background-attachment: fixed) when a page does not contain
854 any fixed position elements so as to allow fast repaints (via bit
855 blit) when scrolling a page.
857 Currently, if a page has elements that specify either a fixed
858 background or a fixed position then we perform a slow repaint
859 (i.e disable blitting) so as to avoid rendering artifacts.
860 However, on low-powered/mobile devices slow repaints can cause
861 noticeable delays when scrolling a page with a fixed background
862 image. By sacrificing support for fixed background images when
863 there are no fixed elements on the page and with come care, we
864 don't need to force slow repaints and can avoid rendering artifacts.
865 Hence, on such devices we can improve the responsiveness of
866 scrolling a page with a fixed background image.
868 Note, this optimization is only enabled if the WebKit is built
869 with FAST_MOBILE_SCROLLING enabled.
871 Tests: fast/fast-mobile-scrolling/fixed-position-element.html
872 fast/fast-mobile-scrolling/no-fixed-position-elements.html
874 * rendering/RenderBoxModelObject.cpp:
875 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
876 Disable fixed background attachment if we can blit on scroll.
877 * rendering/RenderObject.cpp:
878 (WebCore::RenderObject::styleWillChange):
880 2010-01-19 Dave Hyatt <hyatt@apple.com>
882 Build bustage fix. Land modified WebCore.base.exp file that includes export of currentWorld().
886 2010-01-19 Brady Eidson <beidson@apple.com>
888 Reviewed by Alexey Proskuryakov.
890 Crash in Page::backForwardList when using History object from a detached window
891 <rdar://problem/7556252> and https://bugs.webkit.org/show_bug.cgi?id=33828
893 Test: fast/loader/stateobjects/state-api-on-detached-frame-crash.html
896 (WebCore::History::stateObjectAdded): Do an early return when detached. The spec
897 doesn't really cover expected behavior and we already do something similar in
898 other places, such as in History::length().
900 2010-01-19 Yury Semikhatsky <yurys@chromium.org>
902 Reviewed by NOBODY (build fix).
904 Revert r53467. Browser crashes on opening inspector if there
905 are messages in console.
907 * bindings/js/JSInjectedScriptHostCustom.cpp:
908 (WebCore::JSInjectedScriptHost::databaseForId):
909 (WebCore::JSInjectedScriptHost::inspectedWindow):
910 (WebCore::JSInjectedScriptHost::wrapCallback):
911 (WebCore::JSInjectedScriptHost::currentCallFrame):
912 (WebCore::JSInjectedScriptHost::nodeForId):
913 (WebCore::JSInjectedScriptHost::wrapObject):
914 (WebCore::JSInjectedScriptHost::unwrapObject):
915 (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
916 (WebCore::JSInjectedScriptHost::selectDatabase):
917 (WebCore::JSInjectedScriptHost::selectDOMStorage):
918 * bindings/js/ScriptController.cpp:
919 * bindings/js/ScriptController.h:
920 * bindings/js/ScriptObject.h:
921 * bindings/js/ScriptValue.cpp:
922 (WebCore::ScriptValue::quarantineValue):
923 * bindings/js/ScriptValue.h:
924 * bindings/v8/ScriptObject.h:
925 * bindings/v8/ScriptValue.h:
926 (WebCore::ScriptValue::quarantineValue):
927 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
928 (WebCore::V8InjectedScriptHost::inspectedWindowCallback):
929 (WebCore::V8InjectedScriptHost::wrapCallbackCallback):
930 (WebCore::V8InjectedScriptHost::wrapObjectCallback):
931 (WebCore::V8InjectedScriptHost::unwrapObjectCallback):
932 * inspector/ConsoleMessage.cpp:
933 (WebCore::ConsoleMessage::ConsoleMessage):
934 (WebCore::ConsoleMessage::addToConsole):
935 (WebCore::ConsoleMessage::isEqual):
936 * inspector/ConsoleMessage.h:
937 * inspector/InjectedScriptHost.cpp:
938 (WebCore::InjectedScriptHost::wrapObject):
939 (WebCore::InjectedScriptHost::unwrapObject):
940 * inspector/InjectedScriptHost.h:
941 * inspector/InjectedScriptHost.idl:
942 * inspector/InspectorBackend.cpp:
943 (WebCore::InspectorBackend::dispatchOnInjectedScript):
944 (WebCore::InspectorBackend::releaseWrapperObjectGroup):
945 * inspector/InspectorBackend.h:
946 * inspector/InspectorBackend.idl:
947 * inspector/InspectorController.cpp:
948 (WebCore::InspectorController::InspectorController):
949 (WebCore::InspectorController::clearConsoleMessages):
950 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
951 (WebCore::InspectorController::windowScriptObjectAvailable):
952 (WebCore::InspectorController::scriptObjectReady):
953 (WebCore::InspectorController::setFrontendProxyObject):
954 (WebCore::InspectorController::close):
955 (WebCore::InspectorController::resetScriptObjects):
956 (WebCore::InspectorController::didPause):
957 (WebCore::InspectorController::wrapObject):
958 (WebCore::InspectorController::unwrapObject):
959 (WebCore::InspectorController::releaseWrapperObjectGroup):
960 (WebCore::InspectorController::resetInjectedScript):
961 * inspector/InspectorController.h:
962 * inspector/InspectorFrontend.cpp:
963 (WebCore::InspectorFrontend::addConsoleMessage):
964 (WebCore::InspectorFrontend::pausedScript):
965 * inspector/InspectorFrontend.h:
966 * inspector/front-end/AuditsPanel.js:
967 (WebInspector.AuditsPanel.prototype._reloadResources):
968 * inspector/front-end/ConsoleView.js:
969 (WebInspector.ConsoleView.prototype.requestClearMessages):
970 (WebInspector.ConsoleView.prototype.completions):
971 (WebInspector.ConsoleView.prototype.doEvalInWindow):
972 (WebInspector.ConsoleView.prototype._formatnode):
973 (WebInspector.ConsoleView.prototype._formatarray):
974 * inspector/front-end/DOMAgent.js:
975 (WebInspector.DOMNode):
976 (WebInspector.CSSStyleDeclaration):
977 (WebInspector.CSSStyleDeclaration.parseRule):
978 * inspector/front-end/Database.js:
979 (WebInspector.Database.prototype.executeSql):
980 * inspector/front-end/ElementsPanel.js:
981 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
982 (WebInspector.ElementsPanel.prototype.setDocument):
983 (WebInspector.ElementsPanel.prototype.searchCanceled):
984 (WebInspector.ElementsPanel.prototype.performSearch):
985 * inspector/front-end/ElementsTreeOutline.js:
986 (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
987 * inspector/front-end/EventListenersSidebarPane.js:
989 * inspector/front-end/InjectedScript.js:
990 (InjectedScript.dispatch):
991 (InjectedScript.toggleStyleEnabled):
992 (InjectedScript._serializeRule):
993 (InjectedScript._serializeStyle):
994 (InjectedScript.getProperties):
995 (InjectedScript.setPropertyValue):
996 (InjectedScript._evaluateAndWrap):
997 (InjectedScript.getCallFrames):
998 (InjectedScript._inspectObject):
999 (InjectedScript._ensureCommandLineAPIInstalled):
1000 (InjectedScript._resolveObject):
1001 (InjectedScript._window):
1002 (InjectedScript._objectForId):
1003 (InjectedScript.createProxyObject):
1004 (InjectedScript.executeSql):
1005 (InjectedScript.executeSql.errorCallback):
1006 (InjectedScript.executeSql.queryTransaction):
1008 (String.prototype.escapeCharacters):
1009 * inspector/front-end/InjectedScriptAccess.js:
1010 (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
1011 (InjectedScriptAccess._installHandler):
1012 * inspector/front-end/MetricsSidebarPane.js:
1013 (WebInspector.MetricsSidebarPane):
1014 (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
1015 (WebInspector.MetricsSidebarPane.prototype.update):
1016 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
1017 * inspector/front-end/ObjectPropertiesSection.js:
1018 (WebInspector.ObjectPropertiesSection.prototype.update):
1019 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
1020 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
1021 * inspector/front-end/ObjectProxy.js:
1022 (WebInspector.ObjectProxy):
1023 (WebInspector.ObjectProxy.getPropertiesAsync):
1024 * inspector/front-end/PropertiesSidebarPane.js:
1025 (WebInspector.PropertiesSidebarPane.prototype.update.callback):
1026 (WebInspector.PropertiesSidebarPane.prototype.update):
1027 * inspector/front-end/ResourcesPanel.js:
1028 (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
1029 * inspector/front-end/ScriptsPanel.js:
1030 (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
1031 * inspector/front-end/StylesSidebarPane.js:
1032 (WebInspector.StylesSidebarPane.prototype.update):
1033 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
1034 (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
1035 (WebInspector.StylePropertyTreeElement.prototype):
1036 * inspector/front-end/WatchExpressionsSidebarPane.js:
1037 (WebInspector.WatchExpressionsSection.prototype.update):
1038 * inspector/front-end/inspector.js:
1039 (WebInspector.loaded):
1040 (WebInspector.pausedScript):
1041 (WebInspector.addConsoleMessage):
1042 (WebInspector.log.logMessage):
1045 2010-01-19 Yury Semikhatsky <yurys@chromium.org>
1047 Reviewed by Pavel Feldman.
1049 Inject inspector script directly into the inspected context. All the
1050 communication between the script and the frontend is serialized into
1051 JSON strings. It allows to get rid of object quarantines in Web Inspector.
1053 https://bugs.webkit.org/show_bug.cgi?id=32554
1055 * bindings/js/JSInjectedScriptHostCustom.cpp:
1056 (WebCore::JSInjectedScriptHost::databaseForId):
1057 (WebCore::JSInjectedScriptHost::currentCallFrame):
1058 (WebCore::JSInjectedScriptHost::nodeForId):
1059 (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
1060 (WebCore::JSInjectedScriptHost::selectDatabase):
1061 (WebCore::JSInjectedScriptHost::selectDOMStorage):
1062 * bindings/js/ScriptController.cpp:
1063 (WebCore::ScriptController::mainWorldScriptState):
1064 * bindings/js/ScriptController.h:
1065 * bindings/js/ScriptObject.h:
1066 (WebCore::ScriptObject::scriptState):
1067 * bindings/js/ScriptValue.cpp:
1068 * bindings/js/ScriptValue.h:
1069 * bindings/v8/ScriptObject.h:
1070 (WebCore::ScriptObject::scriptState):
1071 * bindings/v8/ScriptValue.h:
1072 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1073 * inspector/ConsoleMessage.cpp:
1074 (WebCore::ConsoleMessage::ConsoleMessage):
1075 (WebCore::ConsoleMessage::addToConsole):
1076 (WebCore::ConsoleMessage::isEqual):
1077 * inspector/ConsoleMessage.h:
1078 * inspector/InjectedScriptHost.cpp:
1079 (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
1080 * inspector/InjectedScriptHost.h:
1081 * inspector/InjectedScriptHost.idl:
1082 * inspector/InspectorBackend.cpp:
1083 (WebCore::InspectorBackend::setInjectedScriptSource):
1084 (WebCore::InspectorBackend::dispatchOnInjectedScript):
1085 (WebCore::InspectorBackend::releaseWrapperObjectGroup):
1086 * inspector/InspectorBackend.h:
1087 * inspector/InspectorBackend.idl:
1088 * inspector/InspectorController.cpp:
1089 (WebCore::InspectorController::InspectorController):
1090 (WebCore::InspectorController::clearConsoleMessages):
1091 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
1092 (WebCore::InspectorController::windowScriptObjectAvailable):
1093 (WebCore::InspectorController::scriptObjectReady):
1094 (WebCore::InspectorController::setFrontendProxyObject):
1095 (WebCore::InspectorController::close):
1096 (WebCore::InspectorController::resetScriptObjects):
1097 (WebCore::InspectorController::didPause):
1098 (WebCore::InspectorController::injectedScriptForNodeId):
1099 * inspector/InspectorController.h:
1100 * inspector/InspectorFrontend.cpp:
1101 (WebCore::InspectorFrontend::addConsoleMessage):
1102 (WebCore::InspectorFrontend::pausedScript):
1103 * inspector/InspectorFrontend.h:
1104 * inspector/front-end/AuditsPanel.js:
1105 (WebInspector.AuditsPanel.prototype._reloadResources):
1106 * inspector/front-end/ConsoleView.js:
1107 (WebInspector.ConsoleView.prototype.requestClearMessages):
1108 (WebInspector.ConsoleView.prototype.doEvalInWindow):
1109 * inspector/front-end/DOMAgent.js:
1110 (WebInspector.DOMNode):
1111 (WebInspector.CSSStyleDeclaration):
1112 (WebInspector.CSSStyleDeclaration.parseRule):
1113 * inspector/front-end/Database.js:
1114 (WebInspector.Database.prototype.executeSql):
1115 * inspector/front-end/ElementsPanel.js:
1116 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode):
1117 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
1118 (WebInspector.ElementsPanel.prototype.setDocument):
1119 (WebInspector.ElementsPanel.prototype.searchCanceled):
1120 (WebInspector.ElementsPanel.prototype.performSearch):
1121 * inspector/front-end/ElementsTreeOutline.js:
1122 (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
1123 * inspector/front-end/EventListenersSidebarPane.js:
1125 * inspector/front-end/InjectedScript.js:
1126 (injectedScriptConstructor):
1127 (injectedScriptConstructor.):
1128 * inspector/front-end/InjectedScriptAccess.js:
1129 (InjectedScriptAccess):
1130 (InjectedScriptAccess.getDefault):
1131 (get InjectedScriptAccess):
1132 (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
1133 (InjectedScriptAccess._installHandler):
1134 * inspector/front-end/MetricsSidebarPane.js:
1135 (WebInspector.MetricsSidebarPane):
1136 (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
1137 * inspector/front-end/ObjectPropertiesSection.js:
1138 * inspector/front-end/ObjectProxy.js:
1139 (WebInspector.ObjectProxy):
1140 * inspector/front-end/PropertiesSidebarPane.js:
1141 (WebInspector.PropertiesSidebarPane.prototype.update.callback):
1142 * inspector/front-end/ResourcesPanel.js:
1143 (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
1144 * inspector/front-end/ScriptsPanel.js:
1145 * inspector/front-end/StylesSidebarPane.js:
1146 (WebInspector.StylePropertyTreeElement.prototype):
1147 * inspector/front-end/WatchExpressionsSidebarPane.js:
1148 (WebInspector.WatchExpressionsSection.prototype.update):
1149 * inspector/front-end/inspector.js:
1150 (WebInspector.loaded):
1151 (WebInspector.pausedScript):
1152 (WebInspector.addConsoleMessage):
1153 (WebInspector.log.logMessage):
1156 2010-01-19 Steve Block <steveblock@google.com>
1158 Unreviewed build fix.
1160 Fixes Windows build due to http://trac.webkit.org/changeset/53464
1161 Updates WebCore.vcproj to reflect renaming of runtime.[cpp|h] to Bridge.[cpp|h]
1163 No new tests, build fix only.
1165 * WebCore.vcproj/WebCore.vcproj:
1167 2010-01-19 Steve Block <steveblock@google.com>
1169 Reviewed by Adam Barth.
1171 Renames WebCore/bridge/runtime.[cpp|h] to WebCore/bridge/Bridge.[cpp|h]
1172 https://bugs.webkit.org/show_bug.cgi?id=33801
1174 runtime.[cpp|h] contains general interface classes for use in the bridge,
1175 so Bridge is a more appropriate name than runtime.
1177 No new tests, renaming only.
1179 * Android.jscbindings.mk:
1182 * WebCore.xcodeproj/project.pbxproj:
1183 * WebCoreSources.bkl:
1184 * bindings/js/JSPluginElementFunctions.cpp:
1185 * bindings/js/ScriptControllerGtk.cpp:
1186 * bindings/js/ScriptControllerHaiku.cpp:
1187 * bindings/js/ScriptControllerMac.mm:
1188 * bindings/js/ScriptControllerQt.cpp:
1189 * bindings/js/ScriptControllerWin.cpp:
1190 * bindings/js/ScriptControllerWx.cpp:
1191 * bindings/js/ScriptInstance.h:
1192 * bindings/objc/WebScriptObject.mm:
1193 * bridge/Bridge.cpp: Copied from WebCore/bridge/runtime.cpp.
1194 * bridge/Bridge.h: Copied from WebCore/bridge/runtime.h.
1195 * bridge/c/c_class.h:
1196 * bridge/c/c_instance.h:
1197 * bridge/c/c_runtime.h:
1198 * bridge/jni/jni_instance.h:
1199 * bridge/objc/objc_runtime.h:
1200 * bridge/qt/qt_class.h:
1201 * bridge/qt/qt_instance.h:
1202 * bridge/qt/qt_runtime.cpp:
1203 * bridge/qt/qt_runtime.h:
1204 * bridge/runtime.cpp: Removed.
1205 * bridge/runtime.h: Removed.
1206 * bridge/runtime_array.h:
1207 * bridge/runtime_method.h:
1208 * bridge/runtime_object.h:
1209 * bridge/runtime_root.cpp:
1210 * bridge/testbindings.cpp:
1211 * bridge/testbindings.mm:
1212 * bridge/testqtbindings.cpp:
1213 * page/win/FrameWin.cpp:
1214 * platform/graphics/wince/MediaPlayerProxy.cpp:
1215 * plugins/PluginView.cpp:
1216 * plugins/gtk/PluginViewGtk.cpp:
1217 * plugins/mac/PluginViewMac.cpp:
1218 * plugins/qt/PluginViewQt.cpp:
1219 * plugins/symbian/PluginViewSymbian.cpp:
1220 * plugins/win/PluginViewWin.cpp:
1222 2010-01-19 Geoffrey Garen <ggaren@apple.com>
1224 Reviewed by Oliver Hunt.
1226 REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
1227 https://bugs.webkit.org/show_bug.cgi?id=33826
1229 Test: fast/workers/worker-gc2.html
1231 * bindings/js/WorkerScriptController.cpp:
1232 (WebCore::WorkerScriptController::~WorkerScriptController): Removed some
1233 ASSERTs that have moved to JavaScriptCore.
1235 2010-01-19 Gavin Barraclough <barraclough@apple.com>
1237 Reviewed by NOBODY (build fix).
1239 Reverting r53455, breaks 2 javascriptcore tests.
1241 * bindings/js/WorkerScriptController.cpp:
1242 (WebCore::WorkerScriptController::~WorkerScriptController):
1244 2010-01-18 Geoffrey Garen <ggaren@apple.com>
1246 Reviewed by Oliver Hunt.
1248 REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
1249 https://bugs.webkit.org/show_bug.cgi?id=33826
1251 Test: fast/workers/worker-gc2.html
1253 * bindings/js/WorkerScriptController.cpp:
1254 (WebCore::WorkerScriptController::~WorkerScriptController): Removed some
1255 ASSERTs that have moved to JavaScriptCore.
1257 2010-01-18 Daniel Bates <dbates@webkit.org>
1259 Reviewed by Darin Adler.
1261 https://bugs.webkit.org/show_bug.cgi?id=33089
1263 Implements all of the alphabetic CSS3 list-style-types as per
1264 section 4.4 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#alphabetic>.
1266 Test: fast/lists/w3-css3-list-styles-alphabetic.html
1268 * css/CSSParser.cpp:
1269 (WebCore::CSSParser::parseValue): Updated comment to include
1270 added list-style-types.
1271 * css/CSSPrimitiveValueMappings.h:
1272 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added new list style types,
1273 alphabetized enums, and removed indent to conform to the WebKit Code Style Guidelines.
1274 * css/CSSValueKeywords.in:
1275 * inspector/front-end/CSSSourceSyntaxHighlighter.js:
1276 (WebInspector.CSSSourceSyntaxHighlighter): Added new list style types
1277 and alphabetized array valueKeywords.
1278 * platform/text/CharacterNames.h: Added constant ethiopicPrefaceColon.
1279 * rendering/RenderListMarker.cpp:
1280 (WebCore::toAlphabetic):
1281 (WebCore::listMarkerSuffix): Added.
1282 (WebCore::listMarkerText):
1283 (WebCore::RenderListMarker::paint): Modified to call WebCore::listMarkerSuffix.
1284 (WebCore::RenderListMarker::calcPrefWidths): Ditto.
1285 (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
1286 * rendering/style/RenderStyle.h:
1288 * rendering/style/RenderStyleConstants.h:
1291 2010-01-18 Daniel Bates <dbates@webkit.org>
1293 Unreviewed, fix misspelling of the word maximum in comment.
1295 * html/HTMLInputElement.cpp:
1296 (WebCore::HTMLInputElement::maximum):
1298 2010-01-18 Dan Bernstein <mitz@apple.com>
1300 Rubber-stamped by Sam Weinig.
1302 <rdar://problem/7476957> REGRESSION (r49567): Business widget list does not line up: too tall due to line height rounding change
1306 * css/CSSComputedStyleDeclaration.cpp:
1307 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1308 * rendering/InlineFlowBox.cpp:
1309 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1310 * rendering/RenderBR.cpp:
1311 (WebCore::RenderBR::lineHeight):
1312 * rendering/style/RenderStyle.h:
1313 (WebCore::InheritedFlags::computedLineHeight):
1315 2010-01-18 Steve Block <steveblock@google.com>
1317 Reviewed by Adam Barth.
1319 Moves JSC-specific implementation of JavaString to a private implementation class.
1320 https://bugs.webkit.org/show_bug.cgi?id=33558
1322 Also modifies JavaField::name and JavaMethod::name to return const JavaString&, rather than UString::Rep*,
1323 which is JSC-specific. This allows this code to be used with both JSC and V8, as required by Android.
1325 No new tests, refactoring only.
1327 * WebCore.xcodeproj/project.pbxproj: Modified. Added JavaStringJSC.h
1328 * bridge/jni/jni_class.cpp: Modified.
1329 (JavaClass::JavaClass): Modified. Updates call sites of JavaField::name and JavaMethod::name.
1330 * bridge/jni/jni_runtime.h: Modified.
1331 (JSC::Bindings::JavaString::JavaString): Modified. Pass through to implementation.
1332 (JSC::Bindings::JavaString::UTF8String): Modified. Pass through to implementation.
1333 (JSC::Bindings::JavaString::uchars): Modified. Pass through to implementation.
1334 (JSC::Bindings::JavaString::length): Modified. Pass through to implementation.
1335 (JSC::Bindings::JavaString::operator UString): Modified. Pass through to implementation.
1336 (JSC::Bindings::JavaField::name): Modified. Pass through to implementation.
1337 (JSC::Bindings::JavaMethod::name): Modified. Pass through to implementation.
1338 * bridge/jni/jsc/JavaStringJSC.h: Added.
1339 (JSC::Bindings::JavaStringImpl::~JavaStringImpl):
1340 (JSC::Bindings::JavaStringImpl::init):
1341 (JSC::Bindings::JavaStringImpl::UTF8String):
1342 (JSC::Bindings::JavaStringImpl::uchars):
1343 (JSC::Bindings::JavaStringImpl::length):
1344 (JSC::Bindings::JavaStringImpl::uString):
1346 2010-01-18 Yuzo Fujishima <yuzo@google.com>
1348 Reviewed by Darin Adler.
1350 Skip an error after invalid blocks in a CSS expression.
1351 https://bugs.webkit.org/show_bug.cgi?id=33650
1355 2010-01-15 Gavin Barraclough <barraclough@apple.com>
1357 Reviewed by Darin Adler & Oliver Hunt.
1359 https://bugs.webkit.org/show_bug.cgi?id=33731
1360 Remove uses of PtrAndFlags from WebCore::StringImpl.
1362 These break the OS X Leaks tool. Move the management of null-terminated copies
1363 out from StringImpl to String, and use a bit stolen from the refCount to hold the
1366 * platform/sql/SQLiteFileSystem.cpp:
1367 (WebCore::SQLiteFileSystem::openDatabase):
1368 * platform/sql/SQLiteStatement.cpp:
1369 (WebCore::SQLiteStatement::prepare):
1370 * platform/sql/SQLiteStatement.h:
1371 * platform/text/PlatformString.h:
1372 * platform/text/String.cpp:
1373 (WebCore::String::copyWithNullTermination):
1374 * platform/text/StringImpl.cpp:
1375 (WebCore::StringImpl::StringImpl):
1376 (WebCore::StringImpl::~StringImpl):
1377 (WebCore::StringImpl::create):
1378 (WebCore::StringImpl::crossThreadString):
1379 (WebCore::StringImpl::sharedBuffer):
1380 * platform/text/StringImpl.h:
1381 (WebCore::StringImpl::inTable):
1382 (WebCore::StringImpl::setInTable):
1384 2010-01-18 Nikolas Zimmermann <nzimmermann@rim.com>
1386 Reviewed by Dirk Schulze.
1388 Rewrite SVG <use> support in a modern-fashion
1389 https://bugs.webkit.org/show_bug.cgi?id=33776
1391 Tests: svg/custom/relative-sized-deep-shadow-tree-content.xhtml
1392 svg/custom/relative-sized-shadow-tree-content.xhtml
1394 Fixes: svg/W3C-SVG-1.1/animate-elem-30-t.svg (animated circle sometimes takes wrong path)
1396 Rewrite <use> support in less intrusive way. Try hard to avoid recloning where possible, and do it lazily.
1397 Introduce RenderSVGShadowTreeRootContainer as special renderer for SVGUseElement, that now manages the
1398 render tree, instead of SVGUseElement manually hacking around it's own renderer from the DOM side.
1400 Instead of recloning the whole shadow tree for every attribute change (DOM setAttribute / SVG DOM changes / CSS changes / childrenChanged()...)
1401 just notify the RenderSVGShadowTreeRootContainer that it's supposed to reclone the tree upon the next updateFromElement() call.
1403 updateFromElement() is fired from SVGUseElement::attach() / recalcStyle(), as it's done for HTMLFormControlElement/HTMLMediaElement, thus
1404 lazily recloning the shadow tree if necessary.
1406 Animations for <use> elements was a real performance bottlenck as the tree got recloned on every attribute change. Reclones are _completly_
1407 avoided for animations now - the SVGAnim*Element classes already updated the instances of an element manually, though that resulted in a reclone
1408 nontheless, and thus killing performance. <use> elements can only be recloned through mutations of the elements that they reference to.
1409 For example referencing a <rect> element from a <use> element and scripting the <rect> element (setAttribute, or child tree mutations etc.).
1410 We reclone instead of trying to synchronize trees - as it's currenty implemented - because it's very hard to do it right.
1412 Any DOM / SVG DOM / CSS change on the <use> element don't reclone the tree anymore, this is a huge speed benefit.
1413 x/y attribute changes are correctly handled in the render tree now (by an additional local transformation), now percentual values work
1414 as expected, and resize on window changes - affecting lots of testcases.
1416 The <use> implementation is much safer now, not doing any mutations synchronously from svgAttributeChanged etc.
1417 Remove hack to force garbage collection on SVGElementInstance destruction - can't reproduce it anymore.
1419 * Android.mk: Add new files to build.
1420 * GNUmakefile.am: Ditto.
1421 * WebCore.gypi: Ditto.
1422 * WebCore.pro: Ditto.
1423 * WebCore.vcproj/WebCore.vcproj: Ditto.
1424 * WebCore.xcodeproj/project.pbxproj: Ditto.
1425 * rendering/RenderSVGShadowTreeRootContainer.cpp: Added. This is the rendered now created by SVGUseElement.
1426 (WebCore::RenderSVGShadowTreeRootContainer::RenderSVGShadowTreeRootContainer):
1427 (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
1428 (WebCore::RenderSVGShadowTreeRootContainer::updateStyle): Used form SVGUseElement to request style recalculations for the shadow tree renderers
1429 (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): Used from SVGUseElement attach/recalcStyle to eventually request shadow tree updates.
1430 (WebCore::RenderSVGShadowTreeRootContainer::styleDidChange): Used to propage style updates across shadow tree boundaries.
1431 * rendering/RenderSVGShadowTreeRootContainer.h: Added.
1432 (WebCore::RenderSVGShadowTreeRootContainer::markShadowTreeForRecreation): Marks the shadow tree for a reclone, next time updateFromElement is used.
1433 * rendering/RenderSVGTransformableContainer.cpp:
1434 (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Take containerTranslation() into account, supplied by RenderSVGSDhadowTreeContainer.
1435 * rendering/SVGShadowTreeElements.cpp: Added. This is the root element of the SVG shadow tree residing as (hidden) child of SVGUseElement (DOM wise).
1436 (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement):
1437 (WebCore::SVGShadowTreeContainerElement::~SVGShadowTreeContainerElement):
1438 (WebCore::SVGShadowTreeContainerElement::containerTranslation): Used from calculateLocalTransform() to take x/y translation into account for shadow tree container elements.
1439 (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement):
1440 (WebCore::SVGShadowTreeRootElement::~SVGShadowTreeRootElement):
1441 (WebCore::SVGShadowTreeRootElement::attachElement): Used by RenderSVGShadowTreeRootContainer, instead of attach(), as we're a shadow tree root node.
1442 * rendering/SVGShadowTreeElements.h: Added. This is the root element of each SVG shadow sub-tree (whenever a <use> element is expanded in the shadow tree).
1443 (WebCore::SVGShadowTreeContainerElement::isShadowTreeContainerElement): Return true here.
1444 (WebCore::SVGShadowTreeContainerElement::setContainerOffset): Used from SVGUseElement to propagate x/y translation values set on <use> elements in the shadow tree.
1445 (WebCore::SVGShadowTreeRootElement::isShadowNode): Identify us as shadow node.
1446 (WebCore::SVGShadowTreeRootElement::shadowParentNode): Ditto. Return actual shadow parent node (== corresponding use element).
1447 * svg/SVGElement.cpp: Shrink size of all SVG*Elements, by removing the m_shadowParent parent. SVGShadowTreeRootElement is the new base class for shadow tree.
1448 (WebCore::SVGElement::SVGElement):
1449 (WebCore::SVGElement::eventParentNode): Call virtual shadowParentNode() method, instead of accessing m_shadowParent.
1450 * svg/SVGElement.h: Remove isShadowNode() / shadowParentNode() / setShadowParentNode().
1451 * svg/SVGElementInstance.cpp: Remove the hack, calling garbage collection before destruction. Can't reproduce this anymore, let's see what the bots say.
1452 (WebCore::SVGElementInstance::SVGElementInstance): Remove now unnecessary m_needsUpdate flag.
1453 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Don't invalidate if instance updates are blocked (see SVGStyledElement changes)
1454 * svg/SVGElementInstance.h: Remove m_needsUpdate, and forgetWrapper() method.
1455 * svg/SVGGElement.h:
1456 (WebCore::SVGGElement::isShadowTreeContainerElement): Add new virtual method here returning false by default, SVGShadowTreeContainerElement will override it.
1457 * svg/SVGStyledElement.cpp: Remove gElementsWithInstanceUpdatesBlocked HashSet tracking the state of instancesUpdatesBlocked() per SVGStyledElement - make it a member variable.
1458 * svg/SVGStyledElement.h: Add inline getter/setters around m_instanceUpdatesBlocked.
1459 (WebCore::SVGStyledElement::instanceUpdatesBlocked):
1460 (WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
1461 * svg/SVGUseElement.cpp: Full rewrite of <use> support, a detailed discussion would blow the ChangeLog - see short version above.
1462 (WebCore::SVGUseElement::SVGUseElement):
1463 (WebCore::SVGUseElement::instanceRoot):
1464 (WebCore::SVGUseElement::insertedIntoDocument):
1465 (WebCore::SVGUseElement::removedFromDocument):
1466 (WebCore::SVGUseElement::svgAttributeChanged):
1467 (WebCore::updateContainerOffset):
1468 (WebCore::SVGUseElement::updateContainerOffsets):
1469 (WebCore::SVGUseElement::recalcStyle):
1470 (WebCore::dumpInstanceTree):
1471 (WebCore::SVGUseElement::buildPendingResource):
1472 (WebCore::SVGUseElement::buildShadowAndInstanceTree):
1473 (WebCore::SVGUseElement::createRenderer):
1474 (WebCore::updateFromElementCallback):
1475 (WebCore::SVGUseElement::attach):
1476 (WebCore::SVGUseElement::detach):
1477 (WebCore::SVGUseElement::toClipPath):
1478 (WebCore::SVGUseElement::buildInstanceTree):
1479 (WebCore::SVGUseElement::handleDeepUseReferencing):
1480 (WebCore::SVGUseElement::buildShadowTree):
1481 (WebCore::SVGUseElement::expandUseElementsInShadowTree):
1482 (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
1483 (WebCore::SVGUseElement::instanceForShadowTreeElement):
1484 (WebCore::SVGUseElement::invalidateShadowTree):
1485 (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):
1486 * svg/SVGUseElement.h:
1487 (WebCore::SVGUseElement::isPendingResource):
1489 2010-01-18 Kent Tamura <tkent@chromium.org>
1491 Reviewed by Darin Adler.
1493 HTMLInputElement::valueAsDate setter support for type=month.
1494 https://bugs.webkit.org/show_bug.cgi?id=33021
1496 Introduce ISODateTime::setMillisecondsSinceEpochForMonth() and
1497 toString() for the Month type, and HTMLInputElement::setValueAsDate()
1500 * html/HTMLInputElement.cpp:
1501 (WebCore::HTMLInputElement::setValueAsDate):
1502 * html/ISODateTime.cpp:
1503 (WebCore::beforeGregorianStartDate):
1504 (WebCore::ISODateTime::addDay): Use beforeGregorianStartDate().
1505 (WebCore::ISODateTime::parseMonth): Use beforeGregorianStartDate().
1506 (WebCore::ISODateTime::setMillisecondsSinceEpochForDateInternal):
1507 (WebCore::ISODateTime::setMillisecondsSinceEpochForMonth):
1508 (WebCore::ISODateTime::toString): Implement only for the Month type.
1509 * html/ISODateTime.h:
1511 2010-01-18 Enrica Casucci <enrica@apple.com>
1513 Reviewed by Darin Adler.
1515 Script attributes are copied and pasted, making cross-domain attacks possible (30019)
1516 <rdar://problem/6008809>
1517 https://bugs.webkit.org/show_bug.cgi?id=30019
1519 When we create the document fragment from a markup string,
1520 either to perform a paste operation or a drag and drop, we
1521 want to remove all the event handlers and any attribute that contain
1522 a value that leads to code execution.
1523 The HTMLParser class is now aware of the needs of stripping these attributes.
1524 I've modified the call to createMarkupString for every platform.
1526 Test: editing/pasteboard/paste-noscript.html
1530 (WebCore::isEventHandlerAttribute):
1531 (WebCore::Element::setAttributeMap):
1533 * dom/MappedAttributeEntry.h:
1535 * editing/markup.cpp:
1536 (WebCore::createFragmentFromMarkup):
1538 * html/HTMLElement.cpp:
1539 (WebCore::HTMLElement::createContextualFragment):
1540 * html/HTMLElement.h:
1541 * html/HTMLParser.cpp:
1542 (WebCore::HTMLParser::HTMLParser):
1543 (WebCore::HTMLParser::parseToken):
1544 * html/HTMLParser.h:
1545 * html/HTMLTokenizer.cpp:
1546 (WebCore::HTMLTokenizer::HTMLTokenizer):
1547 (WebCore::parseHTMLDocumentFragment):
1548 * html/HTMLTokenizer.h:
1549 * platform/chromium/DragDataChromium.cpp:
1550 (WebCore::DragData::asFragment):
1551 * platform/chromium/PasteboardChromium.cpp:
1552 (WebCore::Pasteboard::documentFragment):
1553 * platform/gtk/PasteboardGtk.cpp:
1554 (WebCore::Pasteboard::documentFragment):
1555 * platform/mac/PasteboardMac.mm:
1556 (WebCore::Pasteboard::documentFragment):
1557 * platform/qt/DragDataQt.cpp:
1558 (WebCore::DragData::asFragment):
1559 * platform/qt/PasteboardQt.cpp:
1560 (WebCore::Pasteboard::documentFragment):
1561 * platform/win/ClipboardUtilitiesWin.cpp:
1562 (WebCore::fragmentFromCF_HTML):
1563 (WebCore::fragmentFromHTML):
1565 2010-01-18 Steve Falkenburg <sfalken@apple.com>
1567 Reviewed by Sam Weinig.
1569 <https://bugs.webkit.org/show_bug.cgi?id=33816>
1570 Crashes in Geolocation code due to refcounting, observer balance issues.
1572 Hold a ref to the GeoNotifier while dispatching a callback. The code was
1573 copying a data member to avoid accessing a freed this ptr, but was still
1576 Geolocation::removeObserver calls are not always balanced with addObserver.
1577 Instead of asserting and continuing, don't try to remove non-existant
1580 * page/Geolocation.cpp:
1581 (WebCore::Geolocation::GeoNotifier::timerFired): Protect notifier.
1582 * page/GeolocationController.cpp:
1583 (WebCore::GeolocationController::removeObserver): Change ASSERT into an if with early return.
1585 2010-01-18 Alexey Proskuryakov <ap@apple.com>
1587 Reviewed by Darin Adler.
1589 https://bugs.webkit.org/show_bug.cgi?id=33815
1590 Crash when using DOMTimer from a detached frame
1592 Test: fast/dom/Window/timer-null-script-execution-context.html
1594 * bindings/js/JSDOMWindowCustom.cpp:
1595 (WebCore::JSDOMWindow::setTimeout):
1596 (WebCore::JSDOMWindow::setInterval):
1598 * page/DOMWindow.idl:
1599 Make setTimer and setInterval raise an exception. It is not specified in HTML5, but both
1600 IE and Firefox do raise an exception in this situation, although different ones.
1602 * page/DOMWindow.cpp:
1603 (WebCore::DOMWindow::setTimeout): Raise INVALID_ACCESS_ERR if script execution context is
1604 null (meaning that the window is detached).
1605 (WebCore::DOMWindow::setInterval): Ditto.
1606 (WebCore::DOMWindow::clearTimeout): Silently return early if there is no script execution
1608 (WebCore::DOMWindow::clearInterval): Ditto.
1609 Raise INVALID_ACCESS_ERR if script execution context is null (meaning .
1611 2010-01-18 Steve Block <steveblock@google.com>
1613 Reviewed by Adam Barth.
1615 Moves JSC-specific version of JavaClass from bridge/jni/jni_class to bridge/jni/jsc/JavaClassJSC
1616 https://bugs.webkit.org/show_bug.cgi?id=33561
1618 No new tests, refactoring only.
1620 * Android.jscbindings.mk: Modified. Removed jni_class.cpp and added JavaClassJSC.cpp
1621 * GNUmakefile.am: Modified. Removed jni_class.h and added JavaClassJSC.h
1622 * WebCore.xcodeproj/project.pbxproj: Modified. Removed jni_class.[cpp|h] and added JavaClassJSC.[cpp|h]
1623 * bridge/jni/jni_class.cpp: Removed.
1624 * bridge/jni/jni_class.h: Removed.
1625 * bridge/jni/jsc/JavaClassJSC.cpp: Copied from WebCore/bridge/jni/jni_class.cpp.
1626 * bridge/jni/jsc/JavaClassJSC.h: Copied from WebCore/bridge/jni/jni_class.h.
1627 * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Includes JavaClassJSC.h
1629 2010-01-18 Steve Block <steveblock@google.com>
1631 Reviewed by Adam Barth.
1633 Fix style in WebCore/bridge/jni/jsc/JavaInstanceJSC.[cpp|h]
1634 https://bugs.webkit.org/show_bug.cgi?id=33792
1636 No new tests, style fixes only.
1638 * bridge/jni/jni_runtime.cpp: Modified.
1639 (JavaField::dispatchValueFromInstance): Modified. Updated to use renamed JavaInstance::m_instance
1640 (JavaField::dispatchSetValueToInstance): Modified. Updated to use renamed JavaInstance::m_instance
1641 (JavaArray::JavaArray): Modified. Updated to use renamed JavaInstance::m_instance
1642 * bridge/jni/jni_runtime.h: Modified.
1643 (JSC::Bindings::JavaArray::javaArray): Modified. Updated to use renamed JavaInstance::m_instance
1644 * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Fixed style
1645 * bridge/jni/jsc/JavaInstanceJSC.h: Modified. Fixed style
1647 2010-01-18 Chris Marrin <cmarrin@apple.com>
1649 Reviewed by Oliver Hunt.
1651 https://bugs.webkit.org/show_bug.cgi?id=30073
1652 Moved reshape to HTMLCanvasElement::reset and have it always
1653 set the size to the canvas width and height attrs.
1655 This is not testable with LayoutTests, so I instead added logic
1658 https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/webkit/SpinningBox.html
1660 * html/HTMLCanvasElement.cpp:
1661 (WebCore::HTMLCanvasElement::reset):
1662 (WebCore::HTMLCanvasElement::paint):
1664 2010-01-18 Alexey Proskuryakov <ap@apple.com>
1666 Reviewed by Geoffrey Garen.
1668 https://bugs.webkit.org/show_bug.cgi?id=33813
1669 <rdar://problem/7545104> Crash when using DOMApplicationCache from a destroyed frame
1671 Test: http/tests/appcache/destroyed-frame.html
1673 * loader/appcache/DOMApplicationCache.cpp:
1674 (WebCore::DOMApplicationCache::scriptExecutionContext): Return null when there is no frame.
1676 2010-01-18 Dan Bernstein <mitz@apple.com>
1678 Reviewed by Darin Adler.
1680 REGRESSION (r53420): incomplete repaint of bottom of bugs.webkit.org comment field
1681 https://bugs.webkit.org/show_bug.cgi?id=33809
1683 Test: fast/repaint/trailing-floats-root-line-box-overflow.html
1685 * rendering/RenderBlockLineLayout.cpp:
1686 (WebCore::RenderBlock::layoutInlineChildren): Copy bottom overflow from the last
1687 root box to the trailing floats box, which is becoming the last root box. This is
1688 needed because painting code assumes that the last line in a block is the one with the
1689 lowest overflow bottom.
1691 2010-01-18 Csaba Osztrogonác <ossy@webkit.org>
1693 [Qt] Unreviewed trivial buildfix. (r53429)
1695 * WebCore.pri: missing XMLNS_NAMES added.
1697 2010-01-18 Geoffrey Garen <ggaren@apple.com>
1699 Reviewed by Darin Adler.
1701 Removed unnecessary use of scriptExecutionContext() when creating a JS event listener.
1702 https://bugs.webkit.org/show_bug.cgi?id=33811
1704 This change simplifies a bunch of code, and also reduces
1705 the number of places that use the difficult-to-understand and possibly
1706 crashy-null scriptExecutionContext() idiom.
1708 * bindings/js/JSDOMGlobalObject.cpp:
1709 * bindings/js/JSDOMGlobalObject.h:
1710 * bindings/js/JSEventListener.h:
1711 (WebCore::createJSAttributeEventListener):
1712 * bindings/scripts/CodeGeneratorJS.pm:
1714 2010-01-18 Alexey Proskuryakov <ap@apple.com>
1716 Reviewed by Darin Adler.
1718 https://bugs.webkit.org/show_bug.cgi?id=33787
1719 Add constants for more XML strings
1721 No change in functionality, so no tests.
1723 * WebCore/xml/xmlnsattrs.in: Added a new file for xmlns namespace and attribute -
1724 XMLNames.{h,cpp} are auto-generated, and I dodn't see a reasonable way to extend it.
1726 * platform/text/AtomicString.cpp: (WebCore::AtomicString::init):
1727 * platform/text/AtomicString.h:
1728 Added atomic strings for "xml" and "xmlns".
1730 * page/Frame.cpp: (WebCore::Frame::Frame): Call XMLNSNames::init().
1732 * dom/Attr.cpp: (WebCore::Attr::setPrefix):
1734 (WebCore::Document::hasPrefixNamespaceMismatch):
1735 (WebCore::Document::createAttributeNS):
1737 (WebCore::Node::checkSetPrefix):
1738 (WebCore::Node::isDefaultNamespace):
1739 (WebCore::Node::lookupNamespaceURI):
1740 (WebCore::Node::lookupNamespacePrefix):
1741 * dom/XMLTokenizerLibxml2.cpp:
1742 (WebCore::XMLTokenizer::XMLTokenizer):
1743 (WebCore::handleElementNamespaces):
1744 * editing/markup.cpp:
1745 (WebCore::shouldAddNamespaceAttr):
1746 (WebCore::appendNamespace):
1747 * xml/XPathStep.cpp:
1748 (WebCore::XPath::nodeMatchesBasicTest):
1749 (WebCore::XPath::Step::nodesInAxis):
1750 Use the new constants.
1752 * Android.derived.mk:
1753 * DerivedSources.make:
1755 * WebCore.gyp/WebCore.gyp:
1757 * WebCore.vcproj/WebCore.vcproj:
1758 * WebCore.xcodeproj/project.pbxproj:
1759 * WebCoreSources.bkl:
1760 Added the new files to projects.
1762 2010-01-18 Anders Carlsson <andersca@apple.com>
1764 Fix !ENABLE(3D_CANVAS) build.
1766 * rendering/RenderLayerBacking.cpp:
1767 (WebCore::is3DCanvas):
1769 2010-01-18 Timothy Hatcher <timothy@apple.com>
1771 Adjust the scroll position when doing a full page zoom, so the content
1772 stays in relatively the same position.
1774 <rdar://problem/6150099> Zooming should keep the page content in the same place
1776 Reviewed by Oliver Hunt.
1779 (WebCore::Frame::setZoomFactor): Apply the zoom percent difference to
1780 the scroll position, only when doing a full page zoom.
1782 2010-01-18 Adam Roben <aroben@apple.com>
1784 Add SecurityOrigin::{set,is}DomainRelaxationForbiddenForURLScheme and
1787 WebCore part of fixing <http://webkit.org/b/33806>
1788 <rdar://problem/7552837> Would like API to disallow setting of
1789 document.domain for pages with certain URL schemes
1791 Test: http/tests/security/setDomainRelaxationForbiddenForURLScheme.html
1793 Reviewed by Sam Weinig.
1795 * WebCore.base.exp: Export
1796 SecurityOrigin::setDomainRelaxationForbiddenForURLScheme.
1799 (WebCore::Document::setDomain): If domain relaxation is forbidden for
1800 our security origin's scheme, throw an exception and don't allow
1801 the domain to be set.
1803 * page/SecurityOrigin.cpp:
1804 (WebCore::schemesForbiddenFromDomainRelaxation): Added. Returns a
1805 global set of schemes.
1806 (WebCore::SecurityOrigin::setDomainRelaxationForbiddenForURLScheme):
1807 Add or remove the scheme to schemesForbiddenFromDomainRelaxation, as
1809 (WebCore::SecurityOrigin::isDomainRelaxationForbiddenForURLScheme):
1810 Returns true if the scheme is in schemesForbiddenFromDomainRelaxation.
1812 * page/SecurityOrigin.h: Added
1813 {set,is}DomainRelaxationForbiddenForURLScheme.
1815 2010-01-18 Dan Bernstein <mitz@apple.com>
1817 Address review comments on the last change
1819 * rendering/TrailingFloatsRootInlineBox.h:
1820 (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
1822 2010-01-18 Dan Bernstein <mitz@apple.com>
1824 Reviewed by Darin Adler.
1826 <rdar://problem/6892207> REGRESSION (Safari 4): Menus at sciencedirect.com push the main article context down the page
1827 <rdar://problem/7546035> Second right floated image misplacment
1828 https://bugs.webkit.org/show_bug.cgi?id=33245
1830 Test: fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2.html
1832 When the last line of a block contains a line break and there are floats
1833 after the line break, it is incorrect to put those floats in the last line’s
1834 floats vector (along with floats from before the break). Instead, create
1835 an additional line box (a TrailingFloatsRootInlineBox) and put those floats
1836 in its floats vector.
1838 * WebCore.vcproj/WebCore.vcproj: Added TrailingFloatsRootInlineBox.h
1839 * WebCore.xcodeproj/project.pbxproj: Ditto.
1840 * rendering/RenderBlock.cpp:
1841 (WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added an optional
1842 parameter, which is the highest line to dirty.
1843 * rendering/RenderBlock.h:
1844 * rendering/RenderBlockLineLayout.cpp:
1845 (WebCore::RenderBlock::layoutInlineChildren): Create a TrailingFloatsRootInlineBox
1846 for the floats occurring after the line break on the last line.
1847 (WebCore::RenderBlock::determineStartPosition): Prevent dirtying of lines
1848 above the first dirty line.
1849 * rendering/TrailingFloatsRootInlineBox.h: Added.
1850 (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox): Call
1851 setHasVirtualHeight().
1852 (WebCore::TrailingFloatsRootInlineBox::virtualHeight): Return 0.
1854 2010-01-18 Gavin Barraclough <barraclough@apple.com>
1856 Reviewed by NOBODY (build fix).
1858 Eeeep! reverting r53416 & r53417, more to be done to fix windows.
1861 * platform/sql/SQLiteFileSystem.cpp:
1862 (WebCore::SQLiteFileSystem::openDatabase):
1863 * platform/sql/SQLiteStatement.cpp:
1864 (WebCore::SQLiteStatement::prepare):
1865 * platform/sql/SQLiteStatement.h:
1866 * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
1867 (WebCore::SQLiteFileSystem::openDatabase):
1868 * platform/text/PlatformString.h:
1869 * platform/text/String.cpp:
1870 (WebCore::String::charactersWithNullTermination):
1871 * platform/text/StringImpl.cpp:
1872 (WebCore::StringImpl::operator new):
1873 (WebCore::StringImpl::operator delete):
1874 (WebCore::StringImpl::StringImpl):
1875 (WebCore::StringImpl::~StringImpl):
1876 (WebCore::StringImpl::create):
1877 (WebCore::StringImpl::createWithTerminatingNullCharacter):
1878 (WebCore::StringImpl::crossThreadString):
1879 (WebCore::StringImpl::sharedBuffer):
1880 * platform/text/StringImpl.h:
1881 (WebCore::StringImpl::hasTerminatingNullCharacter):
1882 (WebCore::StringImpl::inTable):
1883 (WebCore::StringImpl::setInTable):
1884 (WebCore::StringImpl::):
1885 * platform/win/ClipboardUtilitiesWin.cpp:
1886 (WebCore::createGlobalData):
1887 * storage/OriginUsageRecord.cpp:
1888 (WebCore::OriginUsageRecord::addDatabase):
1889 (WebCore::OriginUsageRecord::markDatabase):
1891 2010-01-18 Gavin Barraclough <barraclough@apple.com>
1893 Reviewed by NOBODY (windows build fix).
1895 * platform/win/ClipboardUtilitiesWin.cpp:
1896 (WebCore::createGlobalData):
1898 2010-01-15 Gavin Barraclough <barraclough@apple.com>
1900 Reviewed by Darin Adler.
1902 https://bugs.webkit.org/show_bug.cgi?id=33731
1903 Remove uses of PtrAndFlags from WebCore::StringImpl.
1905 These break the OS X Leaks tool. Move the management of null-terminated copies
1906 out from StringImpl to String, and use a bit stolen from the refCount to hold the
1909 * platform/sql/SQLiteFileSystem.cpp:
1910 (WebCore::SQLiteFileSystem::openDatabase):
1911 * platform/sql/SQLiteStatement.cpp:
1912 (WebCore::SQLiteStatement::prepare):
1913 * platform/sql/SQLiteStatement.h:
1914 * platform/text/PlatformString.h:
1915 * platform/text/String.cpp:
1916 (WebCore::String::copyWithNullTermination):
1917 * platform/text/StringImpl.cpp:
1918 (WebCore::StringImpl::StringImpl):
1919 (WebCore::StringImpl::~StringImpl):
1920 (WebCore::StringImpl::create):
1921 (WebCore::StringImpl::crossThreadString):
1922 (WebCore::StringImpl::sharedBuffer):
1923 * platform/text/StringImpl.h:
1924 (WebCore::StringImpl::inTable):
1925 (WebCore::StringImpl::setInTable):
1927 2010-01-18 Chris Marrin <cmarrin@apple.com>
1929 Reviewed by Darin Adler.
1931 Made root compositing layer scroll rather than scroll parent.
1932 https://bugs.webkit.org/show_bug.cgi?id=32279
1934 There's some general cleanup here so the frames, bounds and
1935 positions of all the associated layers are correct.
1936 I also changed API of setScrollFrame to use an IntRect.
1938 * platform/graphics/win/WKCACFLayerRenderer.cpp:
1939 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
1940 (WebCore::WKCACFLayerRenderer::setScrollFrame):
1941 (WebCore::WKCACFLayerRenderer::setRootChildLayer):
1942 (WebCore::WKCACFLayerRenderer::createRenderer):
1943 (WebCore::WKCACFLayerRenderer::resize):
1944 * platform/graphics/win/WKCACFLayerRenderer.h:
1946 2010-01-18 Ilya Tikhonovsky <loislo@chromium.org>
1948 Reviewed by Pavel Feldman.
1950 WebInspector: Timeline panel scrolling speed can be 2 times faster.
1951 https://bugs.webkit.org/show_bug.cgi?id=33794
1953 * inspector/front-end/TimelinePanel.js:
1954 (WebInspector.TimelinePanel.prototype._scheduleRefresh):
1955 (WebInspector.TimelinePanel.prototype._refreshRecords):
1956 (WebInspector.TimelineCalculator):
1957 (WebInspector.TimelineCalculator.prototype.calculateWindow):
1958 (WebInspector.TimelineCalculator.prototype.reset):
1959 (WebInspector.TimelineCalculator.prototype.updateBoundaries):
1960 (WebInspector.TimelineRecordGraphRow.prototype.update):
1962 2010-01-18 Steve Block <steveblock@google.com>
1964 Reviewed by Adam Barth.
1966 Moves JSC-specific version of JavaInstance from bridge/jni/jni_instance to bridge/jni/jsc/JavaInstanceJSC
1967 https://bugs.webkit.org/show_bug.cgi?id=33672
1969 No new tests, refactoring only.
1971 * Android.jscbindings.mk: Modified. Removed jni_instance.cpp and added JavaInstanceJSC.cpp
1972 * GNUmakefile.am: Modified. Removed jni_instance.h and added JavaInstanceJSC.h
1973 * WebCore.xcodeproj/project.pbxproj: Modified. Removed jni_instance.[cpp|h] and added JavaInstanceJSC.[cpp|h]
1974 * bindings/js/ScriptControllerMac.mm: Modified. Includes JavaInstanceJSC.h
1975 * bridge/jni/jni_instance.cpp: Removed.
1976 * bridge/jni/jni_instance.h: Removed.
1977 * bridge/jni/jni_runtime.h: Modified. Includes JavaInstanceJSC.h
1978 * bridge/jni/jsc/JavaInstanceJSC.cpp: Copied from WebCore/bridge/jni/jni_instance.cpp.
1979 * bridge/jni/jsc/JavaInstanceJSC.h: Copied from WebCore/bridge/jni/jni_instance.h.
1981 2010-01-18 Peter Kasting <pkasting@google.com>
1983 Reviewed by Adam Barth.
1985 Simplify image decoders slightly by using OwnPtr instead of raw pointers
1986 and eliminating a basically-useless wrapper class in the GIF decoder.
1987 https://bugs.webkit.org/show_bug.cgi?id=28751
1989 * platform/graphics/qt/ImageDecoderQt.cpp:
1990 (WebCore::ImageDecoderQt::ImageDecoderQt):
1991 (WebCore::ImageDecoderQt::~ImageDecoderQt):
1992 (WebCore::ImageDecoderQt::setData):
1993 (WebCore::ImageDecoderQt::internalReadImage):
1994 (WebCore::ImageDecoderQt::failRead):
1995 * platform/graphics/qt/ImageDecoderQt.h:
1996 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1997 (WebCore::GIFImageDecoder::GIFImageDecoder):
1998 (WebCore::GIFImageDecoder::~GIFImageDecoder):
1999 (WebCore::GIFImageDecoder::setData):
2000 (WebCore::GIFImageDecoder::frameCount):
2001 (WebCore::GIFImageDecoder::repetitionCount):
2002 (WebCore::GIFImageDecoder::decode):
2003 (WebCore::GIFImageDecoder::decodingHalted):
2004 (WebCore::GIFImageDecoder::initFrameBuffer):
2005 (WebCore::GIFImageDecoder::haveDecodedRow):
2006 (WebCore::GIFImageDecoder::gifComplete):
2007 * platform/image-decoders/gif/GIFImageDecoder.h:
2008 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2009 (WebCore::JPEGImageDecoder::JPEGImageDecoder):
2010 (WebCore::JPEGImageDecoder::~JPEGImageDecoder):
2011 (WebCore::JPEGImageDecoder::setData):
2012 (WebCore::JPEGImageDecoder::decode):
2013 * platform/image-decoders/jpeg/JPEGImageDecoder.h:
2014 * platform/image-decoders/png/PNGImageDecoder.cpp:
2015 (WebCore::PNGImageDecoder::PNGImageDecoder):
2016 (WebCore::PNGImageDecoder::~PNGImageDecoder):
2017 (WebCore::PNGImageDecoder::setData):
2018 (WebCore::PNGImageDecoder::decode):
2019 (WebCore::PNGImageDecoder::headerAvailable):
2020 (WebCore::PNGImageDecoder::rowAvailable):
2021 * platform/image-decoders/png/PNGImageDecoder.h:
2023 2010-01-18 Daniel Cheng <dcheng@google.com>
2025 Reviewed by Adam Roben.
2027 DataTransfer interface broken on Windows--types member is always
2028 undefined, and getData() does not work.
2029 https://bugs.webkit.org/show_bug.cgi?id=30527
2031 * platform/win/ClipboardWin.cpp:
2032 (WebCore::addMimeTypesForFormat): pass FORMATETC as a const ref.
2033 (WebCore::ClipboardWin::types): fix calls to IEnumFORMATETC.
2034 (WebCore::ClipboardWin::hasData): fix calls to IEnumFORMATETC.
2036 2010-01-18 Mikhail Naganov <mnaganov@chromium.org>
2038 Reviewed by Timothy Hatcher.
2040 Don't show Profiles welcome screen on panel switch,
2041 if a profile view is shown.
2043 https://bugs.webkit.org/show_bug.cgi?id=33799
2045 * inspector/front-end/ProfilesPanel.js:
2046 (WebInspector.ProfilesPanel.prototype.show):
2048 2010-01-18 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2050 Reviewed by Simon Hausmann.
2052 [Qt] Force qmake to generate a single makefile for DerivedSources.pro
2054 * DerivedSources.pro:
2056 2010-01-18 Jonathan Dixon <joth@chromium.org>
2058 Reviewed by Adam Barth.
2060 Add support for enabling navigator.geolocation at runtime in the V8 bindings.
2061 Adds the [EnabledAtRuntime] modifier to the navigator IDL.
2062 https://bugs.webkit.org/show_bug.cgi?id=33467
2065 * bindings/v8/RuntimeEnabledFeatures.cpp:
2066 * bindings/v8/RuntimeEnabledFeatures.h:
2067 (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled):
2068 (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
2069 * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
2070 (WebCore::V8Navigator::GeolocationEnabled):
2071 * page/Navigator.cpp:
2072 (WebCore::Navigator::geolocation):
2073 * page/Navigator.idl:
2075 2010-01-18 Alexander Pavlov <apavlov@chromium.org>
2077 Reviewed by Pavel Feldman.
2079 Improve Resources panel performance for lots of resources
2081 DOM properties are extracted into const's, comparisons are faster.
2082 https://bugs.webkit.org/show_bug.cgi?id=33790
2084 * inspector/front-end/AbstractTimelinePanel.js:
2085 (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
2086 * inspector/front-end/Resource.js:
2087 (WebInspector.Resource.CompareByStartTime):
2088 (WebInspector.Resource.CompareByResponseReceivedTime):
2089 (WebInspector.Resource.CompareByEndTime):
2090 (WebInspector.Resource.CompareByDuration):
2091 (WebInspector.Resource.CompareByLatency):
2092 (WebInspector.Resource.CompareBySize):
2093 * inspector/front-end/ResourcesPanel.js:
2094 (WebInspector.ResourceGraph.prototype.refreshLabelPositions):
2096 2010-01-18 Daniel Bates <dbates@rim.com>
2098 Reviewed by Eric Seidel.
2100 https://bugs.webkit.org/show_bug.cgi?id=33726
2102 Following up on changes made with respect to bug #33498, we should
2103 fix the the style errors found by the style bot.
2105 Moreover, this fixes all the style errors found by check-webkit-style
2106 except the use of an underline in the variable name _niflags. We should
2107 fix this in a second run through for all the other variables names that
2108 contain an underline because there are many.
2110 No functionality was changed. So, no new tests.
2112 * rendering/style/SVGRenderStyle.h:
2113 (WebCore::SVGRenderStyle::create):
2114 (WebCore::SVGRenderStyle::copy):
2115 (WebCore::SVGRenderStyle::operator!=):
2116 (WebCore::SVGRenderStyle::hasStroke):
2117 (WebCore::SVGRenderStyle::hasFill):
2118 (WebCore::SVGRenderStyle::InheritedFlags::operator==):
2119 (WebCore::SVGRenderStyle::InheritedFlags::operator!=):
2120 (WebCore::SVGRenderStyle::NonInheritedFlags::operator==):
2121 (WebCore::SVGRenderStyle::NonInheritedFlags::operator!=):
2122 (WebCore::SVGRenderStyle::NonInheritedFlags::):
2123 (WebCore::SVGRenderStyle::):
2124 (WebCore::SVGRenderStyle::setBitDefaults):
2126 2010-01-18 Andrei Popescu <andreip@google.com>
2128 Reviewed by Adam Barth.
2130 [Android] DOMWrapperMap::Visitor needs virtual destructor
2131 https://bugs.webkit.org/show_bug.cgi?id=33675
2133 Add protected virtual dtor to DOMWrapperMap::Visitor. See bug for further discussion.
2135 No new tests needed, functionality not changed.
2137 * bindings/v8/V8DOMMap.h:
2138 (WebCore::DOMWrapperMap::Visitor::~Visitor): Added.
2140 2010-01-18 Simon Hausmann <simon.hausmann@nokia.com>
2142 Unreviewed Symbian build fix.
2144 If we don't link with def files, then we have to pass EXPORTUNFROZEN,
2145 so that the build system still creates the .dso files in
2146 release/armv5/lib and we can actually link against the created QtWebKit
2149 Thanks Iain for the help!
2153 2010-01-17 Srinidhi Shreedhara <srinidhi.shreedhara@nokia.com>
2155 Reviewed by Simon Hausmann.
2157 [Qt] [Symbian] SetWindow call in npapi plugin does not happen when the cooridnates are negative
2158 https://bugs.webkit.org/show_bug.cgi?id=33573
2160 * plugins/symbian/PluginViewSymbian.cpp:
2161 (WebCore::PluginView::setNPWindowIfNeeded): Remove tests for negative
2162 coordinates for early return.
2164 2010-01-17 Oliver Hunt <oliver@apple.com>
2166 Reviewed by Dan Bernstein.
2168 REGRESSION (r52449): SVG mask wrongly clipped when not at origin for recent nightly build
2169 https://bugs.webkit.org/show_bug.cgi?id=33782
2171 Test: svg/custom/transformedMaskFails.svg
2173 When computing the bounds for elements in a mask, we iterate through
2174 all of our children requesting their repaint bounds using
2175 repaintRectInLocalCoordinates(), but we were not converting that
2176 rect into our own coordinate system, thus leading to an incorrect
2177 repaint rect. This patch simply adds the missing localToParent
2180 * svg/SVGMaskElement.cpp:
2181 (WebCore::SVGMaskElement::drawMaskerContent):
2183 2010-01-17 Maciej Stachowiak <mjs@apple.com>
2185 Reviewed by Dan Bernstein.
2187 Avoid slow access to AX objects on attribute access when AX is off
2188 https://bugs.webkit.org/show_bug.cgi?id=33779
2190 ~4% Dromaeo attributes test speedup
2193 (WebCore::Element::updateAfterAttributeChanged): Don't do expensive lookup of
2194 AX object cache unless accessibility is on and an AX-related attribute is
2197 2010-01-17 Kevin Watters <kevinwatters@gmail.com>
2199 Reviewed by Kevin Ollivier.
2201 [wx] On Win and GTK, we need to manually apply the transforms when falling back
2202 to GDI / GDK drawing, but this is not needed on Mac since we always use CG there.
2204 https://bugs.webkit.org/show_bug.cgi?id=33730
2206 * platform/wx/RenderThemeWx.cpp:
2207 (WebCore::RenderThemeWx::paintButton):
2209 2010-01-17 Martin Robinson <martin.james.robinson@gmail.com>
2211 Reviewed by Gustavo Noronha Silva.
2213 [GTK] GtkWebKit incompatible with rgba colormaps
2214 https://bugs.webkit.org/show_bug.cgi?id=20736
2216 Fix GTK theme rendering onto drawables with RGBA colormaps. Now
2217 each type of colormap has its own collection of GtkWidgets.
2219 This fix does not introduce any functionality changes, so does not
2222 * platform/gtk/RenderThemeGtk.cpp:
2223 (WebCore::RenderThemeGtk::RenderThemeGtk):
2224 (WebCore::RenderThemeGtk::~RenderThemeGtk):
2225 (WebCore::RenderThemeGtk::partsForDrawable):
2226 (WebCore::adjustMozillaStyle):
2227 (WebCore::setMozillaState):
2228 (WebCore::paintMozillaGtkWidget):
2229 (WebCore::setToggleSize):
2230 (WebCore::RenderThemeGtk::setCheckboxSize):
2231 (WebCore::RenderThemeGtk::paintCheckbox):
2232 (WebCore::RenderThemeGtk::setRadioSize):
2233 (WebCore::RenderThemeGtk::paintRadio):
2234 (WebCore::RenderThemeGtk::paintButton):
2235 (WebCore::RenderThemeGtk::adjustMenuListStyle):
2236 (WebCore::RenderThemeGtk::paintMenuList):
2237 (WebCore::RenderThemeGtk::adjustTextFieldStyle):
2238 (WebCore::RenderThemeGtk::paintTextField):
2239 (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
2240 (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
2241 (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
2242 * platform/gtk/RenderThemeGtk.h:
2243 * platform/gtk/gtk2drawing.c:
2244 (moz_gtk_use_theme_parts):
2245 (ensure_window_widget):
2246 (setup_widget_prototype):
2247 (ensure_button_widget):
2248 (ensure_hpaned_widget):
2249 (ensure_vpaned_widget):
2250 (ensure_toggle_button_widget):
2251 (ensure_button_arrow_widget):
2252 (ensure_checkbox_widget):
2253 (ensure_radiobutton_widget):
2254 (ensure_scrollbar_widget):
2255 (ensure_spin_widget):
2256 (ensure_scale_widget):
2257 (ensure_entry_widget):
2258 (moz_gtk_get_combo_box_inner_button):
2259 (moz_gtk_get_combo_box_button_inner_widgets):
2260 (ensure_combo_box_widgets):
2261 (moz_gtk_get_combo_box_entry_inner_widgets):
2262 (moz_gtk_get_combo_box_entry_arrow):
2263 (ensure_combo_box_entry_widgets):
2264 (ensure_handlebox_widget):
2265 (ensure_toolbar_widget):
2266 (ensure_toolbar_separator_widget):
2267 (ensure_tooltip_widget):
2268 (ensure_tab_widget):
2269 (ensure_progress_widget):
2270 (ensure_statusbar_widget):
2271 (ensure_frame_widget):
2272 (ensure_menu_bar_widget):
2273 (ensure_menu_bar_item_widget):
2274 (ensure_menu_popup_widget):
2275 (ensure_menu_item_widget):
2276 (ensure_image_menu_item_widget):
2277 (ensure_menu_separator_widget):
2278 (ensure_check_menu_item_widget):
2279 (ensure_tree_view_widget):
2280 (ensure_tree_header_cell_widget):
2281 (ensure_expander_widget):
2282 (ensure_scrolled_window_widget):
2283 (moz_gtk_checkbox_get_metrics):
2284 (moz_gtk_radio_get_metrics):
2285 (moz_gtk_splitter_get_metrics):
2286 (moz_gtk_toggle_paint):
2287 (moz_gtk_scrollbar_button_paint):
2288 (moz_gtk_scrollbar_trough_paint):
2289 (moz_gtk_scrollbar_thumb_paint):
2290 (moz_gtk_spin_paint):
2291 (moz_gtk_spin_updown_paint):
2292 (moz_gtk_scale_paint):
2293 (moz_gtk_scale_thumb_paint):
2294 (moz_gtk_gripper_paint):
2295 (moz_gtk_hpaned_paint):
2296 (moz_gtk_vpaned_paint):
2297 (moz_gtk_caret_paint):
2298 (moz_gtk_treeview_paint):
2299 (moz_gtk_tree_header_cell_paint):
2300 (moz_gtk_tree_header_sort_arrow_paint):
2301 (moz_gtk_treeview_expander_paint):
2302 (moz_gtk_expander_paint):
2303 (moz_gtk_combo_box_paint):
2304 (moz_gtk_downarrow_paint):
2305 (moz_gtk_combo_box_entry_button_paint):
2306 (moz_gtk_container_paint):
2307 (moz_gtk_toggle_label_paint):
2308 (moz_gtk_toolbar_paint):
2309 (moz_gtk_toolbar_separator_paint):
2310 (moz_gtk_tooltip_paint):
2311 (moz_gtk_resizer_paint):
2312 (moz_gtk_frame_paint):
2313 (moz_gtk_progressbar_paint):
2314 (moz_gtk_progress_chunk_paint):
2315 (moz_gtk_get_tab_thickness):
2316 (moz_gtk_tab_paint):
2317 (moz_gtk_tabpanels_paint):
2318 (moz_gtk_tab_scroll_arrow_paint):
2319 (moz_gtk_menu_bar_paint):
2320 (moz_gtk_menu_popup_paint):
2321 (moz_gtk_menu_separator_paint):
2322 (moz_gtk_menu_item_paint):
2323 (moz_gtk_menu_arrow_paint):
2324 (moz_gtk_check_menu_item_paint):
2325 (moz_gtk_window_paint):
2326 (moz_gtk_get_widget_border):
2327 (moz_gtk_get_combo_box_entry_button_size):
2328 (moz_gtk_get_tab_scroll_arrow_size):
2329 (moz_gtk_get_downarrow_size):
2330 (moz_gtk_get_toolbar_separator_width):
2331 (moz_gtk_get_expander_size):
2332 (moz_gtk_get_treeview_expander_size):
2333 (moz_gtk_get_menu_separator_height):
2334 (moz_gtk_get_scalethumb_metrics):
2335 (moz_gtk_get_scrollbar_metrics):
2336 (moz_gtk_images_in_menus):
2337 (moz_gtk_widget_paint):
2338 (moz_gtk_get_scrollbar_widget):
2340 (moz_gtk_destroy_theme_parts_widgets):
2341 * platform/gtk/gtkdrawing.h:
2343 2010-01-16 Maciej Stachowiak <mjs@apple.com>
2345 Reviewed by Oliver Hunt.
2347 Cache JS string values made from DOM strings (Dromaeo speedup)
2348 https://bugs.webkit.org/show_bug.cgi?id=33768
2349 <rdar://problem/7353576>
2351 Added a new cache for JSString values that are created from Strings or AtomicStrings
2352 in the DOM. It's common for the same string to be retrieved from the DOM repeatedly,
2353 and it is wasteful to make a new JS-level string value every time.
2355 The string cache is per-world, and thus thread-safe and not a
2356 vector for accidental information exchange.
2358 ~30% speedup on Dromaeo Attributes test, also substantially helps other Dromaeo DOM tests.
2360 * bindings/js/JSDOMBinding.cpp:
2361 (WebCore::jsStringCache): Helper function to get the string cache for the current world.
2362 (WebCore::jsString): Some new overloads including the caching version.
2363 (WebCore::stringWrapperDestroyed): Finalizer callback - remove from relevant caches.
2364 * bindings/js/JSDOMBinding.h:
2365 (WebCore::jsString): Prototype new overloads (and define a few inline).
2366 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2367 (WebCore::JSJavaScriptCallFrame::type): Explicitly make a UString.
2368 * bindings/js/ScriptFunctionCall.cpp:
2369 (WebCore::ScriptFunctionCall::appendArgument): Ditto.
2370 * WebCore.base.exp: Add new JSString overloads that WebCore gets to see.
2372 2010-01-16 Oliver Hunt <oliver@apple.com>
2374 Reviewed by Nikolas Zimmermann.
2376 SVG Markers are getting culled incorrectly
2377 https://bugs.webkit.org/show_bug.cgi?id=33767
2379 Use applyTransformToPaintInfo to transform the paintInfo, otherwise
2380 the paint rect is not updated leading to incorrect culling.
2382 * svg/graphics/SVGResourceMarker.cpp:
2383 (WebCore::SVGResourceMarker::draw):
2385 2010-01-15 John Sullivan <sullivan@apple.com>
2387 https://bugs.webkit.org/show_bug.cgi?id=33751 and <rdar://problem/7538330>
2388 Zip code field is misidentified as street address because id attribute isn't checked.
2390 Reviewed by Darin Adler
2392 No new tests. I believe this code is used only by Safari AutoFill, but in any case
2393 it does not affect page rendering or anything else at the WebCore/WebKit level.
2396 (WebCore::matchLabelsAgainstString):
2397 New function, split out from matchLabelsAgainstElement.
2398 (WebCore::Frame::matchLabelsAgainstElement):
2399 Now calls matchLabelsAgainstString for the id attribute if no match is found for the name attribute.
2401 * page/mac/FrameMac.mm:
2402 (WebCore::matchLabelsAgainstString):
2403 Same as above. This is a parallel copy of the function using Mac-specific data structures.
2404 (WebCore::Frame::matchLabelsAgainstElement):
2407 2010-01-16 Timothy Hatcher <timothy@apple.com>
2409 Use String.trim() instead of a regex in the Web Inspector.
2411 https://bugs.webkit.org/show_bug.cgi?id=33765
2413 Reviewed by George Staikos.
2415 * inspector/front-end/ElementsPanel.js:
2416 (WebInspector.ElementsPanel.prototype.performSearch): Use .trim().
2417 * inspector/front-end/ObjectPropertiesSection.js:
2418 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Ditto.
2419 * inspector/front-end/ProfileView.js:
2420 * inspector/front-end/SourceFrame.js:
2421 (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): Ditto.
2422 * inspector/front-end/StylesSidebarPane.js:
2423 (WebInspector.StylePropertyTreeElement.prototype): Ditto.
2424 * inspector/front-end/utilities.js:
2425 (String.prototype.trimLeadingWhitespace): Removed.
2426 (String.prototype.trimTrailingWhitespace): Removed.
2427 (String.prototype.trimWhitespace): Removed.
2429 2010-01-16 Oliver Hunt <oliver@apple.com>
2431 Reviewed by Nikolas Zimmermann.
2433 Copying TransformationMatrix consumed a lot of cpu time while scroll with cursor over content
2434 https://bugs.webkit.org/show_bug.cgi?id=33766
2436 Make localToParentTransform return by reference to avid copy overhead.
2437 This is a little gnarly in places as it means we need to be able to
2438 return temporary values in a few implementations, so we have to add
2439 class fields to hold them, heppily the classes that these effect are
2440 sufficiently uncommon for this to be okay.
2442 * rendering/RenderForeignObject.cpp:
2443 (WebCore::RenderForeignObject::localToParentTransform):
2444 * rendering/RenderForeignObject.h:
2445 * rendering/RenderObject.cpp:
2446 (WebCore::RenderObject::localTransform):
2447 (WebCore::RenderObject::localToParentTransform):
2448 * rendering/RenderObject.h:
2449 * rendering/RenderPath.cpp:
2450 (WebCore::RenderPath::localToParentTransform):
2451 (WebCore::RenderPath::nodeAtFloatPoint):
2452 * rendering/RenderPath.h:
2453 * rendering/RenderSVGImage.h:
2454 (WebCore::RenderSVGImage::localToParentTransform):
2455 * rendering/RenderSVGRoot.cpp:
2456 (WebCore::RenderSVGRoot::localToParentTransform):
2457 * rendering/RenderSVGRoot.h:
2458 * rendering/RenderSVGText.h:
2459 (WebCore::RenderSVGText::localToParentTransform):
2460 * rendering/RenderSVGTransformableContainer.cpp:
2461 (WebCore::RenderSVGTransformableContainer::localToParentTransform):
2462 * rendering/RenderSVGTransformableContainer.h:
2463 * rendering/RenderSVGViewportContainer.cpp:
2464 (WebCore::RenderSVGViewportContainer::localToParentTransform):
2465 * rendering/RenderSVGViewportContainer.h:
2467 2010-01-16 Darin Adler <darin@apple.com>
2469 Reviewed by Oliver Hunt and Alexey Proskuryakov.
2471 ValidityState can hold a stale pointer to control
2472 https://bugs.webkit.org/show_bug.cgi?id=33729
2473 rdar://problem/7545114
2475 Test: fast/forms/ValidityState-removed-control.html
2477 * html/HTMLFormControlElement.h: Use OwnPtr instead of
2478 RefPtr to point to the ValidityState object.
2480 * html/ValidityState.cpp: Use a constant instead of a
2481 macro for the email validation regular expression.
2482 (WebCore::ValidityState::validationMessage): Use
2483 m_control instead of control function; we don't need
2484 a function for this. Also marked const.
2485 (WebCore::ValidityState::typeMismatch): Ditto.
2486 Fixed some minor style problems.
2487 (WebCore::ValidityState::rangeUnderflow): Ditto.
2488 (WebCore::ValidityState::rangeOverflow): Ditto.
2489 (WebCore::ValidityState::stepMismatch): Ditto.
2490 (WebCore::ValidityState::valid): Ditto.
2491 (WebCore::ValidityState::isValidEmailAddress):
2492 Changed local variable names for clarity. Got rid of
2493 an unneeded global variable.
2495 * html/ValidityState.h: Removed RefCounted as a base
2496 class, deriving from Noncopyable instead. Changed
2497 creation to use PassOwnPtr instead of PassRefPtr.
2498 Eliminated unneeded control function. Added ref and
2499 deref functions that forward the reference counting
2500 to the control. Moved constructor here and made it
2503 2010-01-15 Alexey Proskuryakov <ap@apple.com>
2505 Reviewed by Darin Adler.
2507 https://bugs.webkit.org/show_bug.cgi?id=33752
2508 Assertion failure when getting a href attribute with prefix
2510 This was due to a temporary change made in 2005 (r9639) - checks in checkSetPrefix were
2511 disabled during introduction of QualifiedName, but never re-enabled.
2513 Tests: fast/dom/bad-href-attribute.html
2514 fast/dom/node-prefix-setter-namespace-exception.html
2516 * dom/Attr.cpp: (WebCore::Attr::setPrefix):
2517 * dom/Element.cpp: (WebCore::Element::setPrefix):
2518 * dom/Node.cpp: (WebCore::Node::checkSetPrefix):
2519 Re-enabled the checks. Also, changed the prefix setter to treat "" as null, matching Firefox
2520 (DOM 3 Core spec says this behavior is implementation defined).
2522 2010-01-16 Brady Eidson <beidson@apple.com>
2524 Reviewed by Darin Adler.
2526 <rdar://problem/7536748> and https://bugs.webkit.org/show_bug.cgi?id=33571
2527 History traversals to a new document do not get the popstate event
2529 State objects now live-on in their HistoryItem indefinitely.
2530 This means any back/forward navigation might result in a popstate event, not just to
2531 pre-existing documents as was previously the case.
2533 * history/HistoryItem.cpp:
2534 (WebCore::HistoryItem::documentDetached): State objects are held beyond Document lifetime.
2536 * loader/FrameLoader.cpp:
2537 (WebCore::FrameLoader::begin): If there is a pending state object for this Frame load, pass it
2538 on to the Document after the Document is created.
2539 (WebCore::FrameLoader::transitionToCommitted): If the current history item has a state object,
2540 set it as the FrameLoad's pending state object.
2541 * loader/FrameLoader.h:
2544 (WebCore::Page::goToItem): Remove a now-invalid ASSERT.
2546 2010-01-15 Simon Fraser <simon.fraser@apple.com>
2548 Reviewed by Dan Bernstein and Adele Peterson.
2550 Support reflections on composited layers
2551 https://bugs.webkit.org/show_bug.cgi?id=31885
2553 Implement reflections (via -webkit-box-reflect:) on compositing layers.
2555 We add to the GraphicsLayer the notion of having a replica, and being a replicated layer.
2556 The replica layer is not parented in the tree, but referenced by another layer.
2557 RenderLayerBacking sets this up when it finds RenderLayers for reflections.
2559 GraphicsLayerCA implements rendering of replica layers by cloning CA layers,
2560 and copying their properties, including animations and contents. Deep reflections
2561 are supported by a hash of clone layers on each GraphicsLayerCA, indexed by
2562 the path down the tree to each replica instance.
2564 When GraphicsLayerCA properties are changed, in most cases the clones must also
2567 Tests: compositing/masks/direct-image-mask.html
2568 compositing/reflections/animation-inside-reflection.html
2569 compositing/reflections/compositing-change-inside-reflection.html
2570 compositing/reflections/deeply-nested-reflections.html
2571 compositing/reflections/masked-reflection-on-composited.html
2572 compositing/reflections/nested-reflection-anchor-point.html
2573 compositing/reflections/nested-reflection-animated.html
2574 compositing/reflections/nested-reflection-mask-change.html
2575 compositing/reflections/nested-reflection-on-overflow.html
2576 compositing/reflections/nested-reflection-opacity.html
2577 compositing/reflections/nested-reflection-size-change.html
2578 compositing/reflections/nested-reflection-transformed.html
2579 compositing/reflections/nested-reflection-transition.html
2580 compositing/reflections/nested-reflection.html
2581 compositing/reflections/reflection-opacity.html
2582 compositing/reflections/reflection-ordering.html
2583 compositing/reflections/reflection-positioning.html
2584 compositing/reflections/transform-inside-reflection.html
2586 * platform/graphics/GraphicsLayer.h:
2587 (WebCore::GraphicsLayer::isReplicated): Returns true when this layer has a replicated layer.
2588 (WebCore::GraphicsLayer::replicatedLayerPosition):
2589 (WebCore::GraphicsLayer::setReplicatedLayerPosition): The position of the replica layer must be
2590 special-cased; we cannot just copy the position of the original.
2591 (WebCore::GraphicsLayer::didDisplay): Method that indicates that the contents of the layer changed,
2592 which gives us a chance to update clone layers.
2593 (WebCore::GraphicsLayer::replicaLayer): reference to the replica layer.
2594 (WebCore::GraphicsLayer::replicatedLayer): reference to the layer that this (replica) layer is replicating.
2595 (WebCore::GraphicsLayer::setReplicatedLayer):
2597 * platform/graphics/GraphicsLayer.cpp:
2598 (WebCore::GraphicsLayer::GraphicsLayer):
2599 (WebCore::GraphicsLayer::setReplicatedByLayer): Hook up a replica with its replicated layer.
2600 (WebCore::GraphicsLayer::dumpProperties):
2602 * platform/graphics/mac/GraphicsLayerCA.h:
2603 (WebCore::GraphicsLayerCA::primaryLayer): Returns a CALayer, since structural layers may not be WebLayers.
2604 (WebCore::GraphicsLayerCA::isReplicatedRootClone): Given a cloneID (string representation of the path to a clone
2605 down the tree, which is a bitstring of 1 (replica), or 0 (non-replica)), returns true if this ID represents the
2606 root of a replica tree.
2607 (WebCore::GraphicsLayerCA::primaryLayerClones): Returns a pointer to the hash map of clones of the primary layers.
2609 (WebCore::GraphicsLayerCA::ReplicaState::ReplicaState): Small struct used to track original/clone branching
2610 down the tree during recursion, to build cloneID paths.
2612 (WebCore::GraphicsLayerCA::hasCloneLayers): returns true if this layer has clone layers.
2614 * platform/graphics/mac/GraphicsLayerCA.mm:
2615 (WebCore::GraphicsLayerCA::~GraphicsLayerCA): remove the clone layers.
2616 (WebCore::GraphicsLayerCA::setChildren): call noteSublayersChanged() since we may have to update replicas too.
2617 (WebCore::GraphicsLayerCA::addChild): ditto
2618 (WebCore::GraphicsLayerCA::addChildAtIndex): ditto
2619 (WebCore::GraphicsLayerCA::addChildBelow): ditto
2620 (WebCore::GraphicsLayerCA::addChildAbove): ditto
2621 (WebCore::GraphicsLayerCA::replaceChild): ditto
2622 (WebCore::GraphicsLayerCA::removeFromParent): ditto
2623 (WebCore::GraphicsLayerCA::setMaskLayer): call propagateLayerChangeToReplicas()
2624 (WebCore::GraphicsLayerCA::setReplicatedLayer): note replica changed.
2625 (WebCore::GraphicsLayerCA::setReplicatedByLayer): ditto
2626 (WebCore::GraphicsLayerCA::moveOrCopyAllAnimationsForProperty): Enhanced to allow moving or copying animations.
2627 (WebCore::GraphicsLayerCA::moveOrCopyAnimationsForProperty): Ditto.
2628 (WebCore::GraphicsLayerCA::setContentsToImage): call noteSublayersChanged()
2629 (WebCore::GraphicsLayerCA::setContentsToVideo): call noteSublayersChanged()
2630 (WebCore::GraphicsLayerCA::didDisplay): here is our chance to copy updated contents to clone layers.
2631 (WebCore::GraphicsLayerCA::recursiveCommitChanges):
2632 (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): pre-order commit, for things that need to be
2633 committed before we recurse on children.
2634 (WebCore::GraphicsLayerCA::commitLayerChangesAfterSublayers): post-order commit, for things that need to be
2635 committed after we recurse on children, like clones.
2636 (WebCore::GraphicsLayerCA::updateLayerNames): New method to match the other 'update' methods.
2637 (WebCore::GraphicsLayerCA::updateSublayerList): Insert replica layers into the hierarchy.
2638 (WebCore::GraphicsLayerCA::updateLayerPosition): update clones.
2639 (WebCore::GraphicsLayerCA::updateLayerSize): ditto
2640 (WebCore::GraphicsLayerCA::updateAnchorPoint): ditto
2641 (WebCore::GraphicsLayerCA::updateTransform): ditto
2642 (WebCore::GraphicsLayerCA::updateChildrenTransform): ditto
2643 (WebCore::GraphicsLayerCA::updateMasksToBounds): ditto
2644 (WebCore::GraphicsLayerCA::updateContentsOpaque): ditto
2645 (WebCore::GraphicsLayerCA::updateBackfaceVisibility): ditto
2646 (WebCore::GraphicsLayerCA::updateStructuralLayer): call ensureStructuralLayer()
2647 (WebCore::moveAnimation): utility to move a CAAnimation from one layer to another.
2648 (WebCore::GraphicsLayerCA::ensureStructuralLayer): refactored code which creates enclosing CALayers for reflection
2649 flattening, or CATransformLayers for preserve-3d.
2650 (WebCore::GraphicsLayerCA::structuralLayerPurpose): indicates why we need a structural layer.
2651 (WebCore::GraphicsLayerCA::updateLayerDrawsContent): update clones
2652 (WebCore::GraphicsLayerCA::updateContentsImage): ditto
2653 (WebCore::GraphicsLayerCA::updateContentsRect): ditto
2654 (WebCore::GraphicsLayerCA::updateMaskLayer): ditto
2655 (WebCore::GraphicsLayerCA::updateReplicatedLayers): This is where we ask for the tree of layers for the replica
2656 and its children, and attach them as sublayers.
2657 (WebCore::GraphicsLayerCA::ReplicaState::cloneID): Build a bitstring from the array of original/clone values; this
2658 string serves to identify clones in the hash map.
2659 (WebCore::GraphicsLayerCA::replicatedLayerRoot): Request the tree of clone layers, set its position and transform,
2661 (WebCore::GraphicsLayerCA::setAnimationOnLayer): update clones
2662 (WebCore::GraphicsLayerCA::removeAnimationFromLayer): ditto
2663 (WebCore::GraphicsLayerCA::pauseAnimationOnLayer): ditto
2664 (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): udpate sublayers.
2665 (WebCore::GraphicsLayerCA::suspendAnimations): update clones.
2666 (WebCore::GraphicsLayerCA::resumeAnimations): ditto
2667 (WebCore::GraphicsLayerCA::animatedLayerClones): return the hash map for clones of the appropriate layer for the given property.
2668 (WebCore::GraphicsLayerCA::ensureCloneLayers): create and return clones for the CALayers for this layer.
2669 (WebCore::GraphicsLayerCA::removeCloneLayers): clear out the clone layers.
2670 (WebCore::GraphicsLayerCA::positionForCloneRootLayer): the root of a clonal subtree needs its position and transform to be special-cased,
2671 since it doesn't just copy those properties from the original.
2672 (WebCore::GraphicsLayerCA::propagateLayerChangeToReplicas): push the change flags onto the replica.
2673 (WebCore::GraphicsLayerCA::fetchCloneLayers): recurse down sublayers, creating clones of the CALayers along the way, and returning
2674 the root of the clone tree.
2675 (WebCore::copyAnimation): utility to copy an animation from one layer to another. Animations can be shared between layers.
2676 (WebCore::GraphicsLayerCA::cloneLayer): utility to clone a CALayer, copying those properties which GraphicsLayerCA makes use of
2677 (WebCore::GraphicsLayerCA::setOpacityInternal): push opacity changes to clones.
2678 (WebCore::GraphicsLayerCA::updateOpacityOnLayer): ditto
2679 (WebCore::GraphicsLayerCA::noteSublayersChanged): set the ChildrenChanged flag, and proprate changes to the replica, if any.
2681 * platform/graphics/mac/WebLayer.mm:
2682 (-[WebLayer display]): override -display so we know when to update the contents of clone layers
2684 * platform/graphics/mac/WebTiledLayer.mm:
2685 (-[WebTiledLayer display]): ditto.
2687 * rendering/RenderLayer.h:
2688 (WebCore::RenderLayer::isReflection): New method that returns true if the renderer is a replica.
2690 * rendering/RenderLayer.cpp:
2691 (WebCore::RenderLayer::RenderLayer): initialize m_isReflection
2692 (WebCore::RenderLayer::updateReflectionStyle): call setIsReflection
2694 * rendering/RenderLayerBacking.cpp:
2695 (WebCore::RenderLayerBacking::createGraphicsLayer): Put a name on the reflection layer.
2696 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Hook up the GraphicsLayers for the reflection.
2697 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Reflection overrides preserve-3d (you have to flatten to reflect).
2698 Also hook up updating the reflection layer geometry, and the relica position.
2700 (WebCore::RenderLayerBacking::paintIntoLayer): We no longer paint the reflection in software.
2702 * rendering/RenderLayerCompositor.cpp:
2703 (WebCore::RenderLayerCompositor::computeCompositingRequirements): Hook reflection layers into the compositing logic.
2704 (WebCore::RenderLayerCompositor::canAccelerateVideoRendering): No longer have to push video into software if it's reflected.
2705 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Update the bounds of the reflection layer.
2706 (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): ditto
2707 (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing): a compositing descendant forces
2708 a reflection ancestor to composite now.
2709 (WebCore::RenderLayerBacking::containsPaintedContent): Reflection layers don't paint anything.
2710 (WebCore::RenderLayerBacking::isDirectlyCompositedImage): No need to fall out of direct compositing mode
2711 for masks or reflections any more.
2712 (WebCore::RenderLayerBacking::paintIntoLayer): No need to paint the reflection manually now.
2714 * rendering/RenderObject.h:
2715 (WebCore::RenderObject::isReplica):
2716 * rendering/RenderReplica.h:
2717 (WebCore::RenderReplica::isReplica):
2718 New method used to determine if a render is a replica.
2720 2010-01-15 Carol Szabo <carol.szabo@nokia.com>
2722 Reviewed by Darin Adler.
2724 CSS2.1 Counters not updated when new elements are inserted in the DOM.
2725 https://bugs.webkit.org/show_bug.cgi?id=32884
2727 Test: fast/css/counters/adding-nodes.html
2729 * rendering/CounterNode.cpp:
2730 (WebCore::CounterNode::insertAfter):
2731 Modified to handle the addition of nodes with children. Needed when formerly
2732 root nodes become descendants of a new node.
2733 * rendering/RenderCounter.cpp:
2734 (WebCore::makeCounterNode):
2735 Changed to handle the case when root counter nodes lose their root
2736 status as a result of a new root counter node creation.
2737 (WebCore::destroyCounterNodeWithoutMapRemoval):
2738 Refactored more code into destroyCounterNodeChildren and renamed the
2739 function according to its new action.
2740 (WebCore::RenderCounter::destroyCounterNodes):
2741 Simplified to share more code with the new destroyCounterNode.
2742 (WebCore::RenderCounter::destroyCounterNode):
2743 Added to allow for selective counterNode destruction.
2744 (WebCore::RenderCounter::rendererSubtreeAttached):
2745 Added to refresh counter values in response to DOM changes.
2746 For renderers with no attached counters the execution time of this
2747 function cannot be discerned in comparison with the time needed to
2748 add a node or change the style of a node.
2749 (WebCore::updateCounters):
2750 Helper function for rendererSubtreeAttached. Updates the counters
2751 attached to a Renderer in response to the renderer or its ancestors
2752 being attached to the renderer tree.
2753 * rendering/RenderCounter.h:
2754 * rendering/RenderObject.cpp:
2755 (WebCore::RenderObject::addChild):
2756 Changed to update counter values if needed.
2758 2010-01-15 Alejandro G. Castro <alex@igalia.com>
2760 Reviewed by Xan Lopez.
2762 Original patch by David Ronis <david.ronis@mcgill.ca>
2764 Upgrade 1.1.17->1.1.18 fails: GTK_WIDGET_TOPLEVEL' was not declared in this scope
2765 https://bugs.webkit.org/show_bug.cgi?id=33486
2767 Deprecated symbols replaced for gtk+ versions over 2.18.
2769 * platform/gtk/PlatformScreenGtk.cpp:
2770 (WebCore::getVisual):
2771 (WebCore::screenRect):
2773 2010-01-15 Oliver Hunt <oliver@apple.com>
2775 Reviewed by Sam Weinig.
2777 Bad DOM performance in large SVG files
2778 https://bugs.webkit.org/show_bug.cgi?id=30055
2780 Improve the performance of the early culling check by avoiding save/restore
2781 of graphics state in culled case.
2783 * rendering/RenderPath.cpp:
2784 (WebCore::RenderPath::paint):
2786 2010-01-15 Eric Seidel <eric@webkit.org>
2788 No review, rolling out r53344.
2789 http://trac.webkit.org/changeset/53344
2790 https://bugs.webkit.org/show_bug.cgi?id=32920
2792 Broke the Chromium Mac builder.
2795 * bindings/scripts/CodeGeneratorV8.pm:
2796 * bindings/v8/SerializedScriptValue.cpp: Removed.
2797 * bindings/v8/SerializedScriptValue.h:
2798 (WebCore::SerializedScriptValue::create):
2799 (WebCore::SerializedScriptValue::release):
2800 (WebCore::SerializedScriptValue::toString):
2801 (WebCore::SerializedScriptValue::SerializedScriptValue):
2802 * bindings/v8/custom/V8DOMWindowCustom.cpp:
2803 (WebCore::V8DOMWindow::postMessageCallback):
2804 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
2805 (WebCore::V8DedicatedWorkerContext::postMessageCallback):
2806 * bindings/v8/custom/V8HistoryCustom.cpp:
2807 (WebCore::V8History::pushStateCallback):
2808 (WebCore::V8History::replaceStateCallback):
2809 * bindings/v8/custom/V8MessageEventCustom.cpp:
2810 (WebCore::V8MessageEvent::initMessageEventCallback):
2811 * bindings/v8/custom/V8MessagePortCustom.cpp:
2812 (WebCore::V8MessagePort::postMessageCallback):
2813 * bindings/v8/custom/V8PopStateEventCustom.cpp:
2814 (WebCore::V8PopStateEvent::initPopStateEventCallback):
2815 (WebCore::V8PopStateEvent::stateAccessorGetter):
2816 * bindings/v8/custom/V8WorkerCustom.cpp:
2817 (WebCore::V8Worker::postMessageCallback):
2819 2010-01-15 Darin Fisher <darin@chromium.org>
2821 Reviewed by Brady Eidson.
2823 history.length does not return number of elements in history list
2824 https://bugs.webkit.org/show_bug.cgi?id=24472
2826 Test: fast/history/history-length.html
2829 (WebCore::Page::getHistoryLength):
2831 2010-01-15 Dmitry Titov <dimich@chromium.org>
2833 Reviewed by Darin Adler.
2835 Need to ensure that Document::postTask does not provide the Task with a dangling pointer to destroyed Document
2836 https://bugs.webkit.org/show_bug.cgi?id=31633
2838 Don't see a way to add test for it, we don't have a way to reproduce the issue currently.
2841 (WebCore::DocumentWeakReference::DocumentWeakReference):
2842 (WebCore::DocumentWeakReference::document):
2843 (WebCore::DocumentWeakReference::clear):
2844 (WebCore::Document::Document): Create a weak reference to this Document.
2845 (WebCore::Document::~Document): Clear the weak pointer, preventing further execution of tasks.
2846 (WebCore::PerformTaskContext::PerformTaskContext):
2847 (WebCore::performTask): Check if the documentWeakReference is cleared by Document destructor - in this case do not run the task.
2848 (WebCore::Document::postTask):
2850 (WebCore::DocumentWeakReference::create):
2852 2010-01-15 Vitaly Repeshko <vitalyr@chromium.org>
2854 Reviewed by David Levin.
2856 [V8] Support SerializedScriptValue.
2857 https://bugs.webkit.org/show_bug.cgi?id=32920
2858 http://crbug.com/30620
2860 Initial implementation of SerializedScriptValue which is used to
2861 to create a serialized representation of JavaScript objects. This
2862 representation is needed for structured clones and worker messages.
2864 * WebCore.gypi: Added SerializedScriptValue.cpp.
2865 * bindings/scripts/CodeGeneratorV8.pm: Removed conversion to string before using SerializedScriptValue.
2866 * bindings/v8/SerializedScriptValue.cpp: Added.
2868 (WebCore::ZigZag::encode):
2869 (WebCore::ZigZag::decode):
2870 (WebCore::Writer::Writer):
2871 (WebCore::Writer::writeUndefined):
2872 (WebCore::Writer::writeNull):
2873 (WebCore::Writer::writeTrue):
2874 (WebCore::Writer::writeFalse):
2875 (WebCore::Writer::writeString):
2876 (WebCore::Writer::writeInt32):
2877 (WebCore::Writer::writeNumber):
2878 (WebCore::Writer::endComposite):
2879 (WebCore::Writer::data):
2880 (WebCore::Writer::doWriteUint32):
2881 (WebCore::Writer::append):
2882 (WebCore::Writer::ensureSpace):
2883 (WebCore::Writer::fillHole):
2884 (WebCore::Writer::charAt):
2885 (WebCore::Serializer::Serializer):
2886 (WebCore::Serializer::serialize):
2887 (WebCore::Serializer::StateBase::~StateBase):
2888 (WebCore::Serializer::StateBase::nextState):
2889 (WebCore::Serializer::StateBase::setNextState):
2890 (WebCore::Serializer::StateBase::composite):
2891 (WebCore::Serializer::StateBase::StateBase):
2892 (WebCore::Serializer::State::composite):
2893 (WebCore::Serializer::State::tag):
2894 (WebCore::Serializer::State::State):
2895 (WebCore::Serializer::StackCleaner::StackCleaner):
2896 (WebCore::Serializer::StackCleaner::~StackCleaner):
2897 (WebCore::Serializer::ArrayState::ArrayState):
2898 (WebCore::Serializer::ArrayState::done):
2899 (WebCore::Serializer::ArrayState::advance):
2900 (WebCore::Serializer::ObjectState::ObjectState):
2901 (WebCore::Serializer::ObjectState::done):
2902 (WebCore::Serializer::ObjectState::advance):
2903 (WebCore::Serializer::ObjectState::nextProperty):
2904 (WebCore::Serializer::doSerialize):
2905 (WebCore::Serializer::push):
2906 (WebCore::Serializer::top):
2907 (WebCore::Serializer::pop):
2908 (WebCore::Serializer::checkComposite):
2909 (WebCore::Reader::Reader):
2910 (WebCore::Reader::isEof):
2911 (WebCore::Reader::read):
2912 (WebCore::Reader::readTag):
2913 (WebCore::Reader::readString):
2914 (WebCore::Reader::readInt32):
2915 (WebCore::Reader::readNumber):
2916 (WebCore::Reader::doReadUint32):
2917 (WebCore::Deserializer::Deserializer):
2918 (WebCore::Deserializer::deserialize):
2919 (WebCore::Deserializer::doDeserialize):
2920 (WebCore::Deserializer::push):
2921 (WebCore::Deserializer::pop):
2922 (WebCore::Deserializer::stackDepth):
2923 (WebCore::Deserializer::element):
2924 (WebCore::SerializedScriptValue::SerializedScriptValue):
2925 (WebCore::SerializedScriptValue::deserialize):
2926 * bindings/v8/SerializedScriptValue.h:
2927 (WebCore::SerializedScriptValue::create):
2928 (WebCore::SerializedScriptValue::createFromWire):
2929 (WebCore::SerializedScriptValue::release):
2930 (WebCore::SerializedScriptValue::toWireString):
2932 Updated uses of SerializedScriptValue:
2933 * bindings/v8/custom/V8DOMWindowCustom.cpp:
2934 (WebCore::V8DOMWindow::postMessageCallback):
2935 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
2936 (WebCore::V8DedicatedWorkerContext::postMessageCallback):
2937 * bindings/v8/custom/V8HistoryCustom.cpp:
2938 (WebCore::V8History::pushStateCallback):
2939 (WebCore::V8History::replaceStateCallback):
2940 * bindings/v8/custom/V8MessageEventCustom.cpp:
2941 (WebCore::V8MessageEvent::initMessageEventCallback):
2942 * bindings/v8/custom/V8MessagePortCustom.cpp:
2943 (WebCore::V8MessagePort::postMessageCallback):
2944 * bindings/v8/custom/V8WorkerCustom.cpp:
2945 (WebCore::V8Worker::postMessageCallback):
2947 2010-01-15 Oliver Hunt <oliver@apple.com>
2949 Reviewed by Dirk Schulze.
2951 Bad DOM performance in large SVG files
2952 https://bugs.webkit.org/show_bug.cgi?id=30055
2954 Add an early return when we go to paint a RenderPath that
2955 isn't in the current clip.
2957 * rendering/RenderPath.cpp:
2958 (WebCore::RenderPath::paint):
2959 * svg/graphics/SVGImage.cpp:
2960 (WebCore::SVGImage::draw):
2962 2010-01-15 Steve Block <steveblock@google.com>
2964 Reviewed by Eric Seidel.
2966 Make Geolocation::suspend/resume public.
2967 https://bugs.webkit.org/show_bug.cgi?id=33679
2969 These were made private in Bug 32499, but are required by Android to be public.
2971 No new tests, build fix only.
2973 * page/Geolocation.cpp: Modified
2974 (WebCore::Geolocation::suspend): Added back in
2975 (WebCore::Geolocation::resume): Added back in
2976 * page/Geolocation.h: Modified. Make suspend and resume public
2978 2010-01-15 Alexander Pavlov <apavlov@chromium.org>
2980 Reviewed by Pavel Feldman.
2982 Set pointer cursor when over a breakpoint in the BreakpointsSidebarPane
2984 https://bugs.webkit.org/show_bug.cgi?id=33713
2986 * inspector/front-end/inspector.css:
2988 2010-01-15 Nate Chapin <japhet@chromium.org>
2990 Reviewed by Dimitri Glazkov.
2992 [V8] Generate more of the custom behaviors that the v8 bindings attach to v8 FunctionTemplates.
2994 * bindings/scripts/CodeGeneratorV8.pm:
2995 * bindings/v8/V8Binding.cpp:
2996 (WebCore::getToStringName):
2997 (WebCore::constructorToString):
2998 (WebCore::getToStringTemplate):
2999 * bindings/v8/V8Binding.h:
3000 * bindings/v8/V8DOMWindowShell.cpp:
3001 (WebCore::V8DOMWindowShell::createNewContext):
3002 * bindings/v8/V8DOMWrapper.cpp:
3003 (WebCore::V8DOMWrapper::getTemplate):
3005 2010-01-15 Dimitri Glazkov <dglazkov@chromium.org>
3007 No review, rolling out r53331.
3008 http://trac.webkit.org/changeset/53331
3009 https://bugs.webkit.org/show_bug.cgi?id=30055
3011 Broke fast/borders/svg-as-border-image-3.html. Don't give up,
3012 Oliver! You are really, really close.
3014 * rendering/RenderPath.cpp:
3015 (WebCore::RenderPath::paint):
3017 2010-01-15 Oliver Hunt <oliver@apple.com>
3019 Reviewed by Nikolas Zimmermann.
3021 Bad DOM performance in large SVG files
3022 https://bugs.webkit.org/show_bug.cgi?id=30055
3024 Add an early return when we go to paint a RenderPath that
3025 isn't in the current clip.
3027 * rendering/RenderPath.cpp:
3028 (WebCore::RenderPath::paint):
3030 2010-01-15 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
3032 Reviewed by Antti Koivisto.
3034 Use OS(MAC_OS_X) instead of PLATFORM(MAC) when determining navigator.platform
3036 https://bugs.webkit.org/show_bug.cgi?id=33711
3038 * page/NavigatorBase.cpp:
3040 2010-01-14 Philippe Normand <pnormand@igalia.com>
3042 Reviewed by Xan Lopez.
3044 [Gtk] Compiler warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning
3045 https://bugs.webkit.org/show_bug.cgi?id=33575
3047 Patch from Magnus Boman <captain.magnus@gmail.com>
3049 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3050 (WebCore::mimeTypeCache): fix compiler warnings.
3052 2010-01-14 Mikhail Naganov <mnaganov@chromium.org>
3054 Reviewed by Timothy Hatcher.
3056 Add welcome screen to Profiles pane to provide some instructions for novices.
3058 https://bugs.webkit.org/show_bug.cgi?id=19268
3060 * English.lproj/localizedStrings.js:
3062 * WebCore.vcproj/WebCore.vcproj:
3063 * inspector/front-end/ProfileView.js:
3064 (WebInspector.CPUProfileType.prototype.get welcomeMessage):
3065 * inspector/front-end/ProfilesPanel.js:
3066 (WebInspector.ProfileType.prototype.get welcomeMessage):
3067 (WebInspector.ProfilesPanel):
3068 (WebInspector.ProfilesPanel.prototype.show):
3069 (WebInspector.ProfilesPanel.prototype.registerProfileType):
3070 (WebInspector.ProfilesPanel.prototype._addWelcomeMessage.messageButtonClicked):
3071 (WebInspector.ProfilesPanel.prototype._addWelcomeMessage):
3072 (WebInspector.ProfilesPanel.prototype.showProfile):
3073 (WebInspector.ProfilesPanel.prototype.closeVisibleView):
3074 (WebInspector.ProfilesPanel.prototype._updateInterface):
3075 * inspector/front-end/WebKit.qrc:
3076 * inspector/front-end/WelcomeView.js: Added.
3077 (WebInspector.WelcomeView):
3078 (WebInspector.WelcomeView.prototype._windowResized):
3079 (WebInspector.WelcomeView.prototype.addMessage):
3080 * inspector/front-end/inspector.css:
3081 * inspector/front-end/inspector.html:
3083 2010-01-13 Girish Ramakrishnan <girish@forwardbias.in>
3085 Reviewed by Simon Hausmann.
3087 [Qt/Win] Flash in QGraphicsWebView does not process hover correctly.
3089 https://bugs.webkit.org/show_bug.cgi?id=33591
3091 Mouse hover does not work as expected with the flash in some sites.
3092 - http://www.bbc.co.uk/ Hover over the map
3093 - http://www.barbie.com/ Hover over the menu items (Games, Videos)
3094 The problem appears to be that Flash queries NPNVnetscapeWindow on every
3095 mouse hover. I do not how flash uses this value but returning 0 when flash
3096 is in windowless mode solves the problem (When using QGraphicsWebView we
3097 inject wmode opaque, thereby putting the plugin in windowless mode).
3099 * plugins/win/PluginViewWin.cpp:
3100 (windowHandleForPageClient):
3102 2010-01-15 Zoltan Horvath <zoltan@webkit.org>
3104 Reviewed by Darin Adler.
3106 Allow custom memory allocation control for Peer class
3107 https://bugs.webkit.org/show_bug.cgi?id=33670
3109 Inherits the following class from Noncopyable because it is
3110 instantiated by 'new' and no need to be copyable:
3112 class name - instantiated at: WebCore/'location'
3113 class Peer - websockets/WebSocketChannelClient.h:38
3115 * websockets/WorkerThreadableWebSocketChannel.h:
3117 2010-01-15 Zoltan Horvath <zoltan@webkit.org>
3119 Reviewed by Oliver Hunt.
3121 [Qt] Allow custom memory allocation control for GraphicsContextPlatformPrivate class
3122 https://bugs.webkit.org/show_bug.cgi?id=33669
3124 Inherits the following class from Noncopyable because it is
3125 instantiated by 'new' and no need to be copyable:
3127 class name - instantiated at: WebCore/'location'
3128 class GraphicsContextPlatformPrivate - platform/graphics/qt/GraphicsContextQt.cpp:254
3130 * platform/graphics/qt/GraphicsContextQt.cpp:
3132 2010-01-14 Darin Fisher <darin@chromium.org>
3134 Reviewed by Brady Eidson.
3136 history.pushState should clear the entire forward history
3137 https://bugs.webkit.org/show_bug.cgi?id=33160
3139 Test: fast/loader/stateobjects/pushstate-clears-forward-history.html
3141 * history/BackForwardList.cpp:
3142 (WebCore::BackForwardList::addItem):
3143 (WebCore::BackForwardList::pushStateItem):
3144 * history/BackForwardList.h:
3146 2010-01-14 Gavin Barraclough <barraclough@apple.com>
3148 Rubber stamped by Sam Weinig.
3150 Make naming & behaviour of UString[Impl] methods more consistent.
3151 https://bugs.webkit.org/show_bug.cgi?id=33702
3153 WebCore change reflecting UString method name change computedHash() -> existingHash().
3155 * platform/text/AtomicString.cpp:
3156 (WebCore::AtomicString::add):
3157 (WebCore::AtomicString::find):
3159 2010-01-14 Dan Bernstein <mitz@apple.com>
3161 Reviewed by Simon Fraser.
3163 <rdar://problem/6020083> -webkit-gradient slows down scrolling when page has horizontal scrollbar
3164 https://bugs.webkit.org/show_bug.cgi?id=19650
3166 * platform/graphics/GeneratedImage.cpp:
3167 (WebCore::GeneratedImage::drawPattern): Added call to adjustParametersForTiledDrawing(),
3168 letting the generator substitute the parameters with visually-equivalent values that
3170 * platform/graphics/Generator.h:
3171 (WebCore::Generator::adjustParametersForTiledDrawing): Added a base class implementation
3173 * platform/graphics/Gradient.cpp:
3174 (WebCore::Gradient::adjustParametersForTiledDrawing): Added. If the gradient is a horizontal
3175 or vertical linear gradient, changes to use a 1-pixel tall (or wide) tile.
3176 * platform/graphics/Gradient.h:
3178 2010-01-14 Norbert Leser <norbert.leser@nokia.com>
3180 Reviewed by Laszlo Gombos.
3182 Platform Symbian specific:
3183 Added time-based optimization (-Otime) and increased optimization level to -O3,
3184 conditionally for RVCT compiler (for ARM), for increasing performance
3185 (primarily affecting JavaScript execution).
3186 Default settings are -Ospace and -O2.
3188 No new tests needed because no new funtionality is introduced,
3189 only potential regression on existing tests needs to be evaluated.
3193 2010-01-14 Jungshik Shin <jshin@chromium.org>
3195 Unreviewed, attempted build fix on chromium.
3197 Fix a Chromium build failure due to an unused variable in V8 binding.(part 2)
3199 * bindings/v8/V8Collection.h:
3200 (WebCore::getNamedPropertyOfCollection):
3202 2010-01-14 Jungshik Shin <jshin@chromium.org>
3204 Unreviewed, attempted build fix on chromium.
3206 Fix a Chromium build failure due to an unused variable in V8 binding.
3208 * bindings/v8/V8Collection.h:
3209 (WebCore::getIndexedPropertyOfCollection):
3211 2010-01-14 Peter Kasting <pkasting@google.com>
3213 Unreviewed, attempted build fix.
3215 * platform/image-decoders/gif/GIFImageDecoder.cpp:
3216 (WebCore::GIFImageDecoder::haveDecodedRow):
3218 2010-01-14 Peter Kasting <pkasting@google.com>
3220 Reviewed by Adam Barth.
3222 Simplify image decoders by making downsampling functions available at
3223 all times, allowing much duplicated logic to be collapsed.
3224 https://bugs.webkit.org/show_bug.cgi?id=28751
3226 * platform/graphics/ImageSource.cpp:
3227 (WebCore::ImageSource::setData):
3228 * platform/image-decoders/ImageDecoder.cpp:
3229 (WebCore::ImageDecoder::prepareScaleDataIfNecessary):
3230 * platform/image-decoders/ImageDecoder.h:
3231 (WebCore::ImageDecoder::ImageDecoder):
3232 (WebCore::ImageDecoder::scaledSize):
3233 (WebCore::ImageDecoder::setMaxNumPixels):
3234 * platform/image-decoders/gif/GIFImageDecoder.cpp:
3235 (WebCore::GIFImageDecoder::sizeNowAvailable):
3236 (WebCore::GIFImageDecoder::initFrameBuffer):
3237 (WebCore::GIFImageDecoder::haveDecodedRow):
3238 (WebCore::GIFImageDecoder::frameComplete):
3239 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3240 (WebCore::JPEGImageDecoder::setSize):
3241 (WebCore::JPEGImageDecoder::outputScanlines):
3242 * platform/image-decoders/jpeg/JPEGImageDecoder.h:
3243 * platform/image-decoders/png/PNGImageDecoder.cpp:
3244 (WebCore::PNGImageDecoder::headerAvailable):
3245 (WebCore::PNGImageDecoder::rowAvailable):
3247 2010-01-14 Jian Li <jianli@chromium.org>
3249 Reviewed by Eric Seidel.
3251 [chromium] Remove obsolete CF related files from gyp build.
3252 https://bugs.webkit.org/show_bug.cgi?id=33002
3256 2010-01-14 Peter Kasting <pkasting@google.com>
3258 Reviewed by Adam Barth.
3260 Decoding images to scaled output buffers resulted in garbage for
3261 no-alpha PNGs and CMYK JPEGs.
3262 https://bugs.webkit.org/show_bug.cgi?id=33624
3264 No layout test since I don't have access to a platform that scales the
3267 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3268 (WebCore::convertCMYKToRGBA):
3269 * platform/image-decoders/png/PNGImageDecoder.cpp:
3270 (WebCore::PNGImageDecoder::rowAvailable):
3272 2010-01-14 Brian Weinstein <bweinstein@apple.com>
3274 Rubber-stamped by Oliver Hunt.
3276 Fix an assertion that was causing test crashes. Filed a bug
3277 about the weirdness that causes this assertion (inconsistencies
3278 between DragOperationMove and DragOperationGeneric).
3280 * dom/Clipboard.cpp:
3281 (WebCore::dragOpFromIEOp):
3282 (WebCore::Clipboard::setDestinationOperation):
3284 2010-01-14 Beth Dakin <bdakin@apple.com>
3286 Reviewed by Sam Weinig.
3288 Fix for https://bugs.webkit.org/show_bug.cgi?id=33498 REGRESSION:
3289 svg/css/circle-in-mask-with-shadow.svg failing pixel tests
3291 <rdar://problem/7544176>
3293 This change makes repaintRectInLocalCoordinates return a rect that
3294 is -webkit-svg-shadow-aware.
3296 * rendering/RenderPath.cpp:
3297 (WebCore::RenderPath::repaintRectInLocalCoordinates):
3298 * rendering/RenderSVGContainer.cpp:
3299 (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
3300 * rendering/RenderSVGImage.cpp:
3301 (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
3302 * rendering/RenderSVGRoot.cpp:
3303 (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
3304 * rendering/RenderSVGText.cpp:
3305 (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
3306 * rendering/SVGRenderSupport.cpp:
3307 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
3308 * rendering/style/SVGRenderStyle.cpp:
3309 (WebCore::SVGRenderStyle::inflateForShadow):
3310 * rendering/style/SVGRenderStyle.h:
3312 2010-01-14 Brian Weinstein <bweinstein@apple.com>
3314 Reviewed by Adam Roben.
3316 Drag and Drop source/destination code needs cleanup.
3317 <https://bugs.webkit.org/show_bug.cgi?id=33691>.
3319 Cleaned up some Drag and Drop code that deals with getting
3320 source and destination operations, and added some ASSERTS to make
3321 sure we don't get in bad states.
3323 * dom/Clipboard.cpp:
3324 (WebCore::Clipboard::sourceOperation): Make this return the operation itself.
3325 (WebCore::Clipboard::destinationOperation): Ditto.
3326 (WebCore::Clipboard::setSourceOperation): Add an assert to make sure we're valud.
3327 (WebCore::Clipboard::setDestinationOperation): Ditto.
3329 * page/DragController.cpp:
3330 (WebCore::DragController::tryDHTMLDrag):
3331 * page/EventHandler.cpp:
3332 (WebCore::EventHandler::handleDrag):
3334 2010-01-14 Timothy Hatcher <timothy@apple.com>
3336 Make the Web Inspector's JavaScript debugger work with isolated worlds.
3337 Console evaluation is not performed in the correct world yet, tracked
3338 by bug http://webkit.org/b/33692.
3340 http://webkit.org/b/33690
3342 Reviewed by Adam Roben.
3344 * bindings/js/ScriptCachedFrameData.cpp:
3345 (WebCore::ScriptCachedFrameData::restore): Attach the debugger to
3346 any window shell, not just for the debugger world.
3347 * bindings/js/ScriptController.cpp:
3348 (WebCore::ScriptController::clearWindowShell): Detach the debugger, and
3349 reattach to all window shells, not just for the debugger world.
3350 (WebCore::ScriptController::initScript): Attach the debugger to
3351 any window shell, not just for the debugger world.
3352 (WebCore::ScriptController::attachDebugger): Changed to loop through
3353 all the window shells and call the new overloaded attachDebugger.
3354 (WebCore::ScriptController::attachDebugger): Added. An overload that
3355 takes a window shell to attach the debugger to. Has most of the
3356 logic from the original attachDebugger.
3357 * bindings/js/ScriptController.h: Added the new attachDebugger.
3359 2010-01-14 Adam Roben <aroben@apple.com>
3361 Make Cache::requestResource return 0 if the resource's load fails
3364 Fixes <rdar://problem/7543406> <http://webkit.org/b/33687>
3365 window.onload never fires if page contains a <script src=foo> whose
3366 load is cancelled by resource load delegate returning null from
3369 Test: fast/loader/onload-willSendRequest-null-for-script.html
3371 Reviewed by Dave Hyatt.
3374 (WebCore::Cache::requestResource): Moved code to handle immediate load
3375 failure out of the "cache is disabled" block so that it will run even
3376 when the cache is enabled.
3378 2010-01-14 Stephen White <senorblanco@chromium.org>
3380 Reviewed by mitz@webkit.org.
3382 Fix for crash with gradient on table cell. Pass the correct
3383 background object down to
3384 RenderBoxModelObject::paintFillLayerExtended(). This also allowed a
3385 rework of the fix to bug 18445 by passing the correct RenderObject
3386 from RenderBox::paintRootBoxDecorations() down to
3387 RenderBoxModelObject::paintFillLayerExtended().
3388 https://bugs.webkit.org/show_bug.cgi?id=28426
3390 Covered by new layout test: LayoutTests/fast/gradients/crash-on-tr.html
3392 * rendering/RenderBox.cpp:
3393 (WebCore::RenderBox::paintFillLayers):
3394 (WebCore::RenderBox::paintFillLayer):
3395 * rendering/RenderBox.h:
3396 Plumb through the correct background RenderObject.
3397 * rendering/RenderBoxModelObject.cpp:
3398 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3399 Use the passed-in background RenderObject (if present) when painting background images. Remove the previous fix for bug 18445.
3400 * rendering/RenderBoxModelObject.h:
3401 Plumb through the correct background RenderObject.
3402 * rendering/RenderTableCell.cpp:
3403 Pass in the correct backgroundObject to paintFillLayers().
3405 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
3407 2010-01-14 Nate Chapin <japhet@chromium.org>
3409 Reviewed by Dimitri Glazkov.
3411 Standardize the rest of the v8 bindings on toNative() wherever possible.
3413 https://bugs.webkit.org/show_bug.cgi?id=33677
3415 * bindings/v8/NPV8Object.cpp:
3416 (v8ObjectToNPObject): Special case for converting NPObjects, since there aren't genereated bindings for them.
3417 * bindings/v8/NPV8Object.h:
3418 * bindings/v8/ScriptController.cpp:
3419 * bindings/v8/V8Collection.cpp:
3420 * bindings/v8/V8Collection.h:
3421 (WebCore::toNativeCollection): Special case for converting V8Collections, since there aren't genereated bindings for them.
3422 * bindings/v8/V8DOMWindowShell.cpp:
3423 * bindings/v8/V8DOMWrapper.cpp:
3424 * bindings/v8/V8DOMWrapper.h:
3425 * bindings/v8/V8NPObject.cpp:
3426 * bindings/v8/V8Proxy.cpp:
3427 * bindings/v8/V8SVGPODTypeWrapper.h:
3428 * bindings/v8/WorkerContextExecutionProxy.cpp:
3430 2010-01-14 Evan Stade <estade@chromium.org>
3432 Reviewed by Eric Seidel.
3434 Chromium Linux: don't stretch checkboxes
3435 https://bugs.webkit.org/show_bug.cgi?id=28631
3437 Make the default size for checkboxes/radio buttons also the maximum
3440 Based on patch by Adam Langley.
3442 Test: fast/css/non-standard-checkbox-size.html
3444 * rendering/RenderThemeChromiumSkia.cpp:
3446 (WebCore::RenderThemeChromiumSkia::paintCheckbox):
3447 (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
3448 (WebCore::RenderThemeChromiumSkia::paintRadio):
3450 2010-01-14 Brian Weinstein <bweinstein@apple.com>
3452 Reviewed by Adam Roben.
3454 Follow up to <https://bugs.webkit.org/show_bug.cgi?id=33635>.
3456 Now that dropEffect and effectAllowed are guaranteed to not be
3457 null, change null checks into asserts to make sure we are returning
3458 a proper DragOperation value.
3460 * dom/Clipboard.cpp:
3461 (WebCore::Clipboard::sourceOperation): Change null check to assert.
3462 (WebCore::Clipboard::destinationOperation): Ditto.
3464 2010-01-14 Brian Weinstein <bweinstein@apple.com>
3466 Reviewed by Oliver Hunt.
3468 [DnD] effectAllowed and dropEffect can be set to bogus values.
3469 Fixes <https://bugs.webkit.org/show_bug.cgi?id=33635>.
3471 Test to make aure dropEffect and effectAllowed are being set to valid values
3472 when they are being set (list of valid values given by HTML5 specification).
3474 Also, drive by change to initialize dropEffect to none (as described in spec).
3476 Test: fast/events/bogus-dropEffect-effectAllowed.html
3478 * dom/Clipboard.cpp:
3479 (WebCore::Clipboard::Clipboard): Initialize m_dropEffect to "none".
3480 (WebCore::Clipboard::setDropEffect): Check if dropEffect is being set to a valid value.
3481 (WebCore::Clipboard::setEffectAllowed): Check if effectAllowed is being set to a valid value.
3483 2010-01-14 Kent Hansen <kent.hansen@nokia.com>
3485 Reviewed by Darin Adler.
3487 Infinite recursion in RuntimeObjectImp::getOwnPropertyNames()
3488 https://bugs.webkit.org/show_bug.cgi?id=33371
3490 RuntimeObjectImp should not reimplement getPropertyNames();
3491 move the implementation to getOwnPropertyNames().
3493 * bridge/runtime_object.cpp:
3494 (JSC::RuntimeObjectImp::getOwnPropertyNames):
3495 * bridge/runtime_object.h:
3497 2010-01-14 Kwang Yul Seo <skyul@company100.net>
3499 Reviewed by Alexey Proskuryakov.
3501 Add ENABLE(XSLT) guard to TransformSourceLibxslt.cpp
3502 https://bugs.webkit.org/show_bug.cgi?id=33665
3504 TransformSource is available only when ENABLE(XSLT) guard is true.
3506 * dom/TransformSourceLibxslt.cpp:
3508 2010-01-14 Adam Roben <aroben@apple.com>
3510 Treat all synchronous loads equally in FrameLoader::loadSubframe
3512 Only loads of the empty URL or about:blank were being treated as
3513 synchronous loads. But other loads can be synchronous (e.g., when we
3514 receive a null ResourceRequest from requestFromDelegate or when a
3515 policy decision of "ignore" is made). We now treat those loads the
3516 same way we treated empty URLs and about:blank.
3518 Fixes <rdar://problem/7533333> <http://webkit.org/b/33533>
3519 window.onload never fires if page contains an <iframe> with a bad
3520 scheme or whose load is cancelled by returning null from resource load
3521 delegate's willSendRequest
3523 Tests: fast/loader/onload-bad-scheme-for-frame.html
3524 fast/loader/onload-policy-ignore-for-frame.html
3525 fast/loader/onload-willSendRequest-null-for-frame.html
3527 Reviewed by Brady Eidson.
3529 * loader/FrameLoader.cpp:
3530 (WebCore::FrameLoader::loadSubframe):
3531 - Detect synchronous loads by checking the subframe's loader's
3532 state, rather than by checking its URL
3533 - Removed unnecessary call to completed(), since checkCompleted()
3534 will call completed() if needed (the call to completed() was added
3535 first and wasn't removed when the call to checkCompleted() was
3537 - Added more comments about the strange thing this function does
3538 with the subframe's loader
3540 2010-01-14 Diego Gonzalez <diego.gonzalez@openbossa.org>
3542 Reviewed by Kenneth Christiansen.
3544 [Qt] Missing fileSystemPath() method in Qt KURL implementation
3545 https://bugs.webkit.org/show_bug.cgi?id=33614
3549 * platform/qt/KURLQt.cpp:
3550 (WebCore::KURL::fileSystemPath):
3552 2010-01-13 Alexey Proskuryakov <ap@apple.com>
3554 Reviewed by Brady Eidson.
3556 https://bugs.webkit.org/show_bug.cgi?id=33652
3557 REGRESSION: Frames stop appearing after browsing for a while
3559 <rdar://problem/7308312> REGRESSION: iBench gets slower after several runs
3561 I do not know how not creating renderers for frames could make iBench slower, but it did.
3563 Test: fast/frames/cached-frame-counter.html
3565 * history/CachedFrame.cpp:
3566 (WebCore::CachedFrame::CachedFrame): A frame that's cached is moved away from Page,
3567 so decrement frame count here.
3568 (WebCore::CachedFrame::open): Increase frame count when a frame is restored.
3570 * history/CachedFrame.h: Remove unneeded forward declarations.
3572 * history/CachedPage.h: Ditto.
3574 * history/CachedPage.cpp: (WebCore::CachedPage::restore): Assert that page frame count is
3575 zero prior to restoring a page from b/f cache.
3577 * page/Page.cpp: (WebCore::Page::checkFrameCountConsistency): A debug-only method to
3578 check that frame count stored in Page matches the number of frames in frame tree.
3581 (WebCore::Page::decrementFrameCount): Assert that frame count is positive.
3582 (WebCore::Page::frameCount): Call checkFrameCountConsistency().
3584 2010-01-14 Steve Falkenburg <sfalken@apple.com>
3586 Windows build fixes.
3587 Add forward declarations and additional includes of windows.h.
3589 * platform/Cursor.h: Add forward declaration of HCURSOR. Move destructor implementation into cpp.
3590 * platform/graphics/transforms/TransformationMatrix.h: Add forward declaration of XFORM. Remove windows.h include.
3591 * platform/graphics/win/TransformationMatrixWin.cpp: Add include of windows.h.
3592 * platform/win/CursorWin.cpp: Moved destructor of SharedCursor here.
3593 (WebCore::SharedCursor::~SharedCursor): Moved here.
3594 * platform/win/EventLoopWin.cpp: Add include of windows.h.
3595 * platform/win/SystemInfo.cpp: Add include of windows.h.
3597 2010-01-14 Nate Chapin <japhet@chromium.org>
3599 Reviewed by Dimitri Glazkov.
3601 Switch the custom V8 bindings to use class toNative() functions.
3603 Refactoring, so no new tests.
3605 * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
3606 * bindings/v8/custom/V8AttrCustom.cpp:
3607 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
3608 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
3609 * bindings/v8/custom/V8ClipboardCustom.cpp:
3610 * bindings/v8/custom/V8CoordinatesCustom.cpp:
3611 * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
3612 * bindings/v8/custom/V8DOMWindowCustom.cpp:
3613 * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
3614 * bindings/v8/custom/V8DatabaseCustom.cpp:
3615 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
3616 * bindings/v8/custom/V8DocumentCustom.cpp:
3617 * bindings/v8/custom/V8DocumentLocationCustom.cpp:
3618 * bindings/v8/custom/V8ElementCustom.cpp:
3619 * bindings/v8/custom/V8EventCustom.cpp:
3620 * bindings/v8/custom/V8GeolocationCustom.cpp:
3621 * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
3622 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3623 * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
3624 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3625 * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
3626 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
3627 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
3628 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
3629 * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
3630 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3631 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
3632 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
3633 * bindings/v8/custom/V8HistoryCustom.cpp:
3634 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3635 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
3636 * bindings/v8/custom/V8LocationCustom.cpp:
3637 * bindings/v8/custom/V8MessageEventCustom.cpp:
3638 * bindings/v8/custom/V8MessagePortCustom.cpp:
3639 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3640 * bindings/v8/custom/V8NodeCustom.cpp:
3641 * bindings/v8/custom/V8NodeIteratorCustom.cpp:
3642 * bindings/v8/custom/V8NodeListCustom.cpp:
3643 * bindings/v8/custom/V8NotificationCenterCustom.cpp:
3644 * bindings/v8/custom/V8PopStateEventCustom.cpp:
3645 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
3646 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
3647 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
3648 * bindings/v8/custom/V8SVGLengthCustom.cpp:
3649 * bindings/v8/custom/V8SVGMatrixCustom.cpp:
3650 * bindings/v8/custom/V8StorageCustom.cpp:
3651 * bindings/v8/custom/V8StyleSheetListCustom.cpp:
3652 * bindings/v8/custom/V8TreeWalkerCustom.cpp:
3653 * bindings/v8/custom/V8WebGLArrayCustom.h:
3654 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3655 * bindings/v8/custom/V8WebSocketCustom.cpp:
3656 * bindings/v8/custom/V8WorkerContextCustom.cpp:
3657 * bindings/v8/custom/V8WorkerCustom.cpp:
3658 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3659 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
3660 * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
3662 2010-01-14 Martin Robinson <martin.james.robinson@gmail.com>
3664 Reviewed by Xan Lopez.
3666 [GTK] Enable DOM clipboard and drag-and-drop access
3667 https://bugs.webkit.org/show_bug.cgi?id=30623
3669 Add DataObjectGtk, a container for pasteboard and drag-and-drop data.
3671 No new tests, because functionality has not changed.
3674 * platform/gtk/DataObjectGtk.cpp: Added.
3675 (WebCore::DataObjectGtk::text):
3676 (WebCore::DataObjectGtk::markup):
3677 (WebCore::DataObjectGtk::setText):
3678 (WebCore::DataObjectGtk::setMarkup):
3679 (WebCore::DataObjectGtk::files):
3680 (WebCore::DataObjectGtk::url):
3681 (WebCore::DataObjectGtk::urlLabel):
3682 (WebCore::DataObjectGtk::hasURL):
3683 (WebCore::DataObjectGtk::clear):
3684 (WebCore::DataObjectGtk::forClipboard):
3685 * platform/gtk/DataObjectGtk.h: Added.
3686 (WebCore::DataObjectGtk::create):
3687 (WebCore::DataObjectGtk::uriList):
3688 (WebCore::DataObjectGtk::image):
3689 (WebCore::DataObjectGtk::setRange):
3690 (WebCore::DataObjectGtk::setURIList):
3691 (WebCore::DataObjectGtk::setImage):
3692 (WebCore::DataObjectGtk::setDragContext):
3693 (WebCore::DataObjectGtk::hasText):
3694 (WebCore::DataObjectGtk::hasMarkup):
3695 (WebCore::DataObjectGtk::hasURIList):
3696 (WebCore::DataObjectGtk::hasImage):
3697 (WebCore::DataObjectGtk::dragContext):
3699 2010-01-14 Ilya Tikhonovsky <loislo@chromium.org>
3701 Reviewed by Pavel Feldman.
3703 WebInspector: Scrolling of Timeline Page was broken by fix for bug 33470.
3704 https://bugs.webkit.org/show_bug.cgi?id=33666
3706 * inspector/front-end/inspector.css:
3708 2010-01-14 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
3710 [Qt] Unreviewed fix of builds with the --no-svg switch.
3714 2010-01-14 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
3716 [Qt] Unreviewed build fix on Windows.
3718 * platform/graphics/transforms/TransformationMatrix.h:
3720 2010-01-14 Andreas Kling <andreas.kling@nokia.com>
3722 Reviewed by Kenneth Rohde Christiansen.
3724 [Qt] Enable scrolling optimization for pages with embedded widgets
3726 https://bugs.webkit.org/show_bug.cgi?id=33373
3728 Added a basic manual test for scrolling of embedded QWidgets.
3730 * manual-tests/qt/qtplugin-scrolling.html: Added.
3731 * platform/ScrollView.cpp:
3732 (WebCore::ScrollView::scrollContents):
3733 (WebCore::ScrollView::setParent):
3734 * platform/ScrollView.h:
3735 * platform/qt/ScrollViewQt.cpp:
3736 (WebCore::ScrollView::platformInit):
3737 (WebCore::ScrollView::platformAddChild):
3738 (WebCore::ScrollView::platformRemoveChild):
3739 * plugins/qt/PluginViewQt.cpp:
3740 (WebCore::PluginView::updatePluginWidget):
3741 (WebCore::PluginView::invalidateRect):
3743 2009-12-09 Philippe Normand <pnormand@igalia.com>
3745 Reviewed by Xan Lopez.
3747 [GStreamer] Check return values of gst_element_set_state()
3748 https://bugs.webkit.org/show_bug.cgi?id=30000
3750 Check for state change failure when going from READY/NULL to
3751 PAUSED or PLAYING. Also refactored the common code of play() and
3752 pause() to a new private method of the player.
3754 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3755 (WebCore::MediaPlayerPrivate::changePipelineState):
3756 (WebCore::MediaPlayerPrivate::play):
3757 (WebCore::MediaPlayerPrivate::pause):
3758 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
3760 2010-01-14 Eric Seidel <eric@webkit.org>
3762 No review, rolling out r53248.
3763 http://trac.webkit.org/changeset/53248
3764 https://bugs.webkit.org/show_bug.cgi?id=32641
3766 Caused 2 tests to crash on various bots:
3767 fast/dom/HTMLSelectElement/listbox-select-reset.html and
3768 fast/forms/listbox-typeahead-scroll.html
3770 * dom/SelectElement.cpp:
3771 (WebCore::SelectElement::recalcStyle):
3772 (WebCore::SelectElement::setRecalcListItems):
3773 (WebCore::SelectElement::recalcListItems):
3774 (WebCore::SelectElement::restoreFormControlState):
3775 (WebCore::SelectElement::reset):
3776 (WebCore::SelectElement::typeAheadFind):
3777 * dom/SelectElement.h:
3778 * html/HTMLOptionElement.cpp:
3779 (WebCore::HTMLOptionElement::selected):
3780 (WebCore::HTMLOptionElement::insertedIntoTree):
3781 * html/HTMLSelectElement.cpp:
3782 (WebCore::HTMLSelectElement::recalcStyle):
3783 * html/HTMLSelectElement.h:
3784 * wml/WMLSelectElement.cpp:
3785 (WebCore::WMLSelectElement::recalcStyle):
3787 2010-01-14 Ben Murdoch <benm@google.com>
3789 Reviewed by Darin Adler.
3791 [Android] [Qt] The document.createEvent API does not support touch events.
3792 https://bugs.webkit.org/show_bug.cgi?id=33605
3794 Test: fast/events/touch/create-touch-event.html
3797 (WebCore::Document::createEvent): add creation of a TouchEvent when the "TouchEvent" argument is supplied.
3799 2010-01-14 James Robinson <jamesr@chromium.org>
3801 Reviewed by Alexey Proskuryakov.
3803 Ensures that the 'selected' attribute of an <option> is correct
3804 https://bugs.webkit.org/show_bug.cgi?id=32641
3806 Adds a check in OptionElement::selected() that checks if list items need to be recalculated and does so if needed,
3807 so the attribute is up to date more often. Also gets rid of most of the recalcStyle() side effects.
3809 Our behavior now matches Firefox 3.5 and IE8 after the </select> is parsed.
3811 Tests: fast/forms/HTMLOptionElement_selected2.html
3812 fast/forms/HTMLOptionElement_selected3.html
3814 * dom/SelectElement.cpp:
3815 (WebCore::SelectElement::setOptionsChangedOnRenderer):
3816 (WebCore::SelectElement::setRecalcListItems):
3817 (WebCore::SelectElement::recalcListItems):
3818 (WebCore::SelectElement::restoreFormControlState):
3819 (WebCore::SelectElement::reset):
3820 (WebCore::SelectElement::typeAheadFind):
3821 * dom/SelectElement.h:
3822 * html/HTMLOptionElement.cpp:
3823 (WebCore::HTMLOptionElement::selected):
3824 (WebCore::HTMLOptionElement::insertedIntoTree):
3825 * html/HTMLSelectElement.cpp:
3826 (WebCore::HTMLSelectElement::recalcStyle):
3827 (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
3828 * html/HTMLSelectElement.h:
3829 * wml/WMLSelectElement.cpp:
3830 (WebCore::WMLSelectElement::recalcStyle):
3832 2010-01-14 Zoltan Horvath <zoltan@webkit.org>
3834 Reviewed by Oliver Hunt.
3836 [Qt] Allow custom memory allocation control for TransparencyLayer class
3837 https://bugs.webkit.org/show_bug.cgi?id=33585
3839 Inherits the following class from FastAllocBase because it is
3840 instantiated by 'new':
3842 class name - instantiated at: WebCore/'location'
3843 class TransparencyLayer - platform/graphics/qt/GraphicsContextQt.cpp:906
3845 * platform/graphics/qt/GraphicsContextQt.cpp:
3847 2010-01-14 Zoltan Horvath <zoltan@webkit.org>
3849 Reviewed by Oliver Hunt.
3851 [Qt] Allow custom memory allocation control for FontPlatformDataPrivate class
3852 https://bugs.webkit.org/show_bug.cgi?id=33583
3854 Inherits the following class from Noncopyable because it is
3855 instantiated by 'new' and no need to be copyable:
3857 class name - instantiated at: WebCore/'location'
3858 class FontPlatformDataPrivate - platform/graphics/qt/FontPlatformData.h:70
3860 * platform/graphics/qt/FontPlatformData.h:
3862 2010-01-12 Philippe Normand <pnormand@igalia.com>
3864 Reviewed by Xan Lopez.
3866 [GTK] un-needed seeks
3867 https://bugs.webkit.org/show_bug.cgi?id=33532
3869 Avoid un-needed seeks. Don't seek at current playback position and
3870 don't update the rate if it is already set to target value.
3872 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3873 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3874 (WebCore::MediaPlayerPrivate::seek):
3875 (WebCore::MediaPlayerPrivate::setRate):
3876 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
3878 2010-01-14 Eric Seidel <eric@webkit.org>
3880 No review. Tiger build fix after http://trac.webkit.org/changeset/53238.
3882 Need to implement WebGLContextAttributes
3883 https://bugs.webkit.org/show_bug.cgi?id=31169
3885 Fix a build break when ENABLE(3D_CANVAS) is disabled.
3887 * html/HTMLCanvasElement.cpp:
3888 (WebCore::HTMLCanvasElement::getContext): UNUSED_PARAM(attrs) when 3D_CANVAS is disabled.
3890 2010-01-13 Pavel Feldman <pfeldman@chromium.org>
3892 Reviewed by Timothy Hatcher.
3894 Web Inspector: use hidden text area for clipboard in order to
3895 workaround windows setData bug.
3897 https://bugs.webkit.org/show_bug.cgi?id=33633
3899 * inspector/front-end/TextEditor.js:
3900 (WebInspector.TextEditor):
3901 (WebInspector.TextEditor.prototype._copy):
3902 * inspector/front-end/inspector.css:
3904 2010-01-13 Mads Ager <ager@chromium.org>
3906 Reviewed by Dimitri Glazkov.
3908 [V8] Slow named property lookup on DOMWindow because of missing fast case
3909 https://bugs.webkit.org/show_bug.cgi?id=33584
3911 Add fast case checks to V8 named property getter on DOMWindow
3912 objects. If the property is not in the DOM there is no reason to
3913 search the DOM for all occurrences.
3915 Covered by layout tests.
3917 * bindings/v8/custom/V8DOMWindowCustom.cpp:
3918 (WebCore::V8DOMWindow::namedPropertyGetter):
3920 2010-01-13 Gavin Barraclough <barraclough@apple.com>
3922 Reviewed by Oliver Hunt.
3924 <rdar://problem/7403736> REGRESSION (r49963,r49965): 8% Dromaeo Core DOM test regression
3926 Adding isolated worlds support to the JSC bindings introduced a regression due to
3927 additional map lookups. Add a mechanism to quickly detect that a lookup is for the
3928 'normal' world, and add fast paths to a couple of methods to check the normal world
3931 * bindings/js/JSDOMBinding.cpp:
3932 (WebCore::Document::getWrapperCache):
3933 (WebCore::DOMWrapperWorld::DOMWrapperWorld):
3934 (WebCore::forgetDOMObject):
3935 * bindings/js/JSDOMBinding.h:
3936 (WebCore::DOMWrapperWorld::isNormal):
3937 (WebCore::WebCoreJSClientData::WebCoreJSClientData):
3938 * bindings/js/ScriptController.cpp:
3939 (WebCore::IsolatedWorld::IsolatedWorld):
3941 (WebCore::Document::Document):
3942 (WebCore::Document::createWrapperCache):
3945 2010-01-13 Kenneth Russell <kbr@google.com>
3947 Reviewed by Oliver Hunt.
3949 Need to implement WebGLContextAttributes
3950 https://bugs.webkit.org/show_bug.cgi?id=31169
3952 Added the WebGLContextAttributes class and custom JavaScript
3953 bindings to accept a native object as the second argument to
3954 getContext("experimental-webgl") per the WebGL specification.
3955 Added GraphicsContext3D::Attributes struct to isolate DOM and
3956 graphics layers. Added getContextAttributes() to
3957 WebGLRenderingContext. Added test case ensuring that context
3958 attributes can be passed down and returned. Tested in Safari and
3959 Chromium. The attributes will be hooked up to the creation of the
3960 OpenGL context in bug 33416.
3962 Test: fast/canvas/webgl/context-attributes.html
3964 * DerivedSources.make:
3966 * WebCore.xcodeproj/project.pbxproj:
3967 * bindings/js/JSHTMLCanvasElementCustom.cpp:
3968 (WebCore::JSHTMLCanvasElement::getContext):
3969 * bindings/scripts/CodeGeneratorV8.pm:
3970 * bindings/scripts/IDLParser.pm:
3971 * bindings/v8/DOMData.cpp:
3972 * bindings/v8/DerivedSourcesAllInOne.cpp:
3973 * bindings/v8/V8DOMWrapper.cpp:
3974 * bindings/v8/V8Index.cpp:
3975 * bindings/v8/V8Index.h:
3976 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3977 (WebCore::V8HTMLCanvasElement::getContextCallback):
3978 * html/HTMLCanvasElement.cpp:
3979 (WebCore::HTMLCanvasElement::getContext):
3980 * html/HTMLCanvasElement.h:
3981 * html/HTMLCanvasElement.idl:
3982 * html/canvas/CanvasContextAttributes.cpp: Added.
3983 (WebCore::CanvasContextAttributes::CanvasContextAttributes):
3984 (WebCore::CanvasContextAttributes::~CanvasContextAttributes):
3985 * html/canvas/CanvasContextAttributes.h: Added.
3986 * html/canvas/WebGLContextAttributes.cpp: Added.
3987 (WebCore::WebGLContextAttributes::create):
3988 (WebCore::WebGLContextAttributes::WebGLContextAttributes):
3989 (WebCore::WebGLContextAttributes::~WebGLContextAttributes):
3990 (WebCore::WebGLContextAttributes::alpha):
3991 (WebCore::WebGLContextAttributes::setAlpha):
3992 (WebCore::WebGLContextAttributes::depth):
3993 (WebCore::WebGLContextAttributes::setDepth):
3994 (WebCore::WebGLContextAttributes::stencil):
3995 (WebCore::WebGLContextAttributes::setStencil):
3996 (WebCore::WebGLContextAttributes::antialias):
3997 (WebCore::WebGLContextAttributes::setAntialias):
3998 (WebCore::WebGLContextAttributes::premultipliedAlpha):
3999 (WebCore::WebGLContextAttributes::setPremultipliedAlpha):
4000 (WebCore::WebGLContextAttributes::attributes):
4001 * html/canvas/WebGLContextAttributes.h: Added.
4002 * html/canvas/WebGLContextAttributes.idl: Added.
4003 * html/canvas/WebGLRenderingContext.cpp:
4004 (WebCore::WebGLRenderingContext::create):
4005 (WebCore::WebGLRenderingContext::getContextAttributes):
4006 * html/canvas/WebGLRenderingContext.h:
4007 * html/canvas/WebGLRenderingContext.idl:
4008 * platform/graphics/GraphicsContext3D.h:
4009 * platform/graphics/mac/GraphicsContext3DMac.cpp:
4010 (WebCore::GraphicsContext3D::create):
4011 (WebCore::GraphicsContext3D::GraphicsContext3D):
4012 (WebCore::GraphicsContext3D::getContextAttributes):
4014 2010-01-13 Simon Fraser <simon.fraser@apple.com>
4018 * platform/graphics/cg/GraphicsContextCG.cpp:
4020 2010-01-13 Simon Fraser <simon.fraser@apple.com>
4022 Reviewed by Darin Adler.
4024 Transition followed by animation fails to run the animation sometimes
4025 https://bugs.webkit.org/show_bug.cgi?id=33563
4027 If a transition was closely followed by an animation, it was possible for the cleanup
4028 after the end of the transition to kill the animation.
4030 Fix this by including the keyframes name (or empty string for transitions) in the labels
4031 used to identify CAAnimations on layers.
4033 No test because this was a subtle timing issue that is hard to reproduce in a layout test.
4035 * platform/graphics/mac/GraphicsLayerCA.h: Some new methods and signature changes.
4037 * platform/graphics/mac/GraphicsLayerCA.mm:
4038 (WebCore::animationIdentifier): Pass the keyframes name, since this is included in the identifier string now.
4039 (WebCore::moveAllAnimationsForProperty): Pass the keyframes name.
4040 (WebCore::GraphicsLayerCA::moveAnimationsForProperty): Try to move both transition- and animation-related
4041 CAAnimations, using the list of running animations to get the keyframe names for the latter.
4043 (WebCore::GraphicsLayerCA::ensureStructuralLayer): moveAnimation renamed to moveAnimationsForProperty
4044 and takes the keyframes name.
4046 (WebCore::GraphicsLayerCA::updateLayerAnimations): Pass keyframes name down (or "" for transitions).
4047 (WebCore::GraphicsLayerCA::setAnimationOnLayer): Pass keyframes name down.
4048 (WebCore::GraphicsLayerCA::removeAnimationFromLayer): Pass keyframes name down.
4049 (WebCore::GraphicsLayerCA::pauseAnimationOnLayer): Pass keyframes name down.
4050 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Pass keyframes name down.
4052 2010-01-13 Simon Fraser <simon.fraser@apple.com>
4054 Reviewed by Dan Bernstein.
4056 Fix shadow drawing to do the correct computations using the base coordinate space
4057 https://bugs.webkit.org/show_bug.cgi?id=33629
4059 Shadows draw using the CGContext base CTM, so we need to convert the shadow offet
4060 and size from user CTM into into base CTM coordinates, via the matix obtained from wkGetUserToBaseCTM().
4062 Test: compositing/shadows/shadow-drawing.html
4064 * platform/graphics/cg/GraphicsContextCG.cpp:
4065 (WebCore::GraphicsContext::setPlatformShadow):
4067 2010-01-13 Nikolas Zimmermann <nzimmermann@rim.com>
4069 Reviewed by Oliver Hunt.
4071 SVGClipPathElement shouldn't resolve style manually
4072 https://bugs.webkit.org/show_bug.cgi?id=33647
4074 Build renderers for SVGClipPathElement, so we can query the style from the renderer
4075 instead of re-resolving style on every clip path resource invalidation.
4077 * svg/SVGClipPathElement.cpp:
4078 (WebCore::SVGClipPathElement::createRenderer):
4079 (WebCore::SVGClipPathElement::canvasResource):
4080 * svg/SVGClipPathElement.h:
4081 (WebCore::SVGClipPathElement::isValid):
4083 2010-01-13 Kelly Norton <knorton@google.com>
4085 Reviewed by Timothy Hatcher.
4087 Web Inspector does not update the DOM tree when attributes change.
4088 https://bugs.webkit.org/show_bug.cgi?id=20162
4090 * dom/Element.cpp: Moves callbacks to InspectorController directly into setAttribute
4091 and removeAttribute and removes the existing call sites. This makes it possible to
4092 see attribute modifications.
4093 (WebCore::Element::setAttribute):
4094 (WebCore::Element::dispatchAttrRemovalEvent):
4095 (WebCore::Element::dispatchAttrAdditionEvent):
4096 (WebCore::Element::removeAttribute):
4097 * inspector/front-end/DOMAgent.js:
4098 (WebInspector.DOMNode.prototype._setAttributesPayload): Clear existing attributes.
4099 (WebInspector.DOMAgent.prototype._didApplyDomChange): Updated call site and fixed style.
4100 (WebInspector.DOMAgent.prototype._attributesUpdated): Added.
4101 * inspector/front-end/ElementsPanel.js:
4102 (WebInspector.ElementsPanel.prototype._attributesUpdated): Added.
4103 (WebInspector.ElementsPanel.prototype.updateModifiedNodes): Updated call site.
4104 * inspector/front-end/ElementsTreeOutline.js: Renamed _updateTitle to updateTitle.
4105 (WebInspector.ElementsTreeElement.prototype.onattach): Updated updateTitle call site.
4106 (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted): Ditto.
4107 (WebInspector.ElementsTreeElement.prototype._editingCancelled): Ditto.
4109 2010-01-13 Carol Szabo <carol.szabo@nokia.com>
4111 Reviewed by Darin Adler.
4113 CounterNode::nextInPreOrderAfterChildren(stayWithin) does not stay within.
4114 https://bugs.webkit.org/show_bug.cgi?id=33625
4116 No new tests because the fix should affect strictly performance.
4118 * rendering/CounterNode.cpp:
4119 (WebCore::CounterNode::nextInPreOrderAfterChildren):
4121 2010-01-13 Nikolas Zimmermann <nzimmermann@rim.com>
4123 Reviewed by Oliver Hunt.
4125 Window size changes are not propagated down the render tree
4126 https://bugs.webkit.org/show_bug.cgi?id=33643
4128 Test: svg/custom/relative-sized-content.xhtml
4130 * rendering/RenderSVGContainer.cpp: Fix incorrect markParents=true usage, leading to unnecessary relayouts.
4131 (WebCore::RenderSVGContainer::layout): Use new layoutChildren() method.
4132 (WebCore::RenderSVGContainer::paint): Fix indention.
4133 * rendering/RenderSVGHiddenContainer.cpp: Fix incorrect markParents=true usage.
4134 (WebCore::RenderSVGHiddenContainer::layout): Use new layoutChildren() helper.
4135 * rendering/RenderSVGRoot.cpp: Refactor existing code to layout children in SVGRenderSupport::layoutChildren.
4136 (WebCore::RenderSVGRoot::layout): Make children relayouting depend on width/height changes, if the outermost svg uses relative viewport sizes.
4137 * rendering/SVGRenderSupport.cpp: Add central place handling child layout, skips relayouting non-relative sized children as benefit.
4138 (WebCore::SVGRenderBase::layoutChildren): This methods contains the actual changes.
4139 * rendering/SVGRenderSupport.h:
4140 * svg/SVGGElement.h: Remove dead code.
4141 * svg/SVGSVGElement.h: Make hasRelativeValues() public to remove the need for friendship declarations.
4142 * svg/SVGStyledElement.h: Change default return value for hasRelativeValues() to false, as it was intended.
4143 (WebCore::SVGStyledElement::hasRelativeValues): Make it public, to be usable from SVGRenderSupport.
4144 * svg/SVGSymbolElement.h: Remove dead code.
4145 * svg/SVGUseElement.cpp: Implement hasRelativeValues() - it was simply missing here.
4146 (WebCore::SVGUseElement::hasRelativeValues):
4147 * svg/SVGUseElement.h:
4149 2010-01-13 Fumitoshi Ukai <ukai@chromium.org>
4151 Reviewed by David Levin.
4153 Fix websocket/tests/worker/worker-simple.html crash on Leopard Intel Debug (Tests) builder
4154 https://bugs.webkit.org/show_bug.cgi?id=33581
4156 unref m_workerContext when websocket is disconnected, so that avoid
4157 keeping reference to workerContext longer than wor