1 2012-03-23 Eric Carlson <eric.carlson@apple.com>
3 Deal with DOM modifications when evaluating source elements.
4 https://bugs.webkit.org/show_bug.cgi?id=81163
6 Reviewed by Alexey Proskuryakov.
8 Test: media/video-beforeload-remove-source.html
10 * dom/ContainerNode.cpp: Make NodeVector and collectNodes public, renamed as getChildNodes.
11 (WebCore::ContainerNode::takeAllChildrenFrom): collectNodes -> getChildNodes.
12 (WebCore::ContainerNode::willRemove): collectNodes -> getChildNodes.
13 (WebCore::ContainerNode::willRemoveChildren): collectNodes -> getChildNodes.
14 (WebCore::ContainerNode::insertedIntoDocument): collectNodes -> getChildNodes.
15 (WebCore::ContainerNode::removedFromDocument): collectNodes -> getChildNodes.
16 * dom/ContainerNode.h:
17 (WebCore::getChildNodes):
19 * editing/ReplaceSelectionCommand.cpp: Remove unused NodeVector declaration.
21 * html/HTMLMediaElement.cpp:
22 (WebCore::HTMLMediaElement::HTMLMediaElement): m_nextChildNodeToConsider and m_currentSourceNode
24 (WebCore::HTMLMediaElement::loadTimerFired): Protect HTMLMediaElement from being deleted during
25 a DOM modification during an event callback.
26 (WebCore::HTMLMediaElement::load): Ditto.
27 (WebCore::HTMLMediaElement::selectMediaResource): Set m_nextChildNodeToConsider to the first
28 child node, it will be the first node considered.
29 (WebCore::HTMLMediaElement::havePotentialSourceChild): m_nextChildNodeToConsider and m_currentSourceNode
31 (WebCore::HTMLMediaElement::selectNextSourceChild): Collect all child nodes in a vector before
32 looking for <source> nodes because 'beforeload' event handlers can mutate the DOM. Don't
33 use a <source> that is no longer a child node after 'beforeload'. Use 0 to represent the end
34 of the child node list because m_nextChildNodeToConsider is now a RefPtr so using the previous
35 sentinel, "this", would cause a retain cycle.
36 (WebCore::HTMLMediaElement::sourceWasAdded): m_nextChildNodeToConsider and m_currentSourceNode
38 (WebCore::HTMLMediaElement::sourceWillBeRemoved): Ditto.
39 (WebCore::HTMLMediaElement::getPluginProxyParams): Protect HTMLMediaElement from being deleted during
40 a DOM modification during an event callback.
41 * html/HTMLMediaElement.h:
43 2012-03-23 Dean Jackson <dino@apple.com>
45 Disable CSS_SHADERS in Apple builds
46 https://bugs.webkit.org/show_bug.cgi?id=81996
48 Reviewed by Simon Fraser.
50 Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h.
52 * Configurations/FeatureDefines.xcconfig:
54 2012-03-23 Dave Michael <dmichael@chromium.org>
56 Relanding(r111754): HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
57 https://bugs.webkit.org/show_bug.cgi?id=80428
59 Reviewed by Eric Seidel and Ryosuke Niwa.
61 Make HTMLPluginElement release its m_NPObject in detach() to break a
62 reference-counting cycle that happens on reload or navigation. With this
63 change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
64 was removed. Note that Releasing m_NPObject does not result in a call to
65 the plugin; it simply releases a reference count on the wrapper object
66 for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
67 when the render tree is destroyed, when PluginView calls
68 PluginPackage::unload.) Thus, it is safe to release m_NPObject in
69 detach, because it can not result in layout or style changes.
71 Also added numberOfLiveNodes() and numberOfLiveDocuments() to
72 window.internals to enable testing.
74 Test: plugins/netscape-dom-access-and-reload.html
77 * html/HTMLPlugInElement.cpp:
78 (WebCore::HTMLPlugInElement::detach):
79 * html/HTMLPlugInElement.h:
81 * testing/Internals.cpp:
83 (WebCore::Internals::numberOfLiveNodes):
84 (WebCore::Internals::numberOfLiveDocuments):
85 * testing/Internals.h:
87 * testing/Internals.idl:
89 2012-03-23 Ryosuke Niwa <rniwa@webkit.org>
91 CSSParser doesn't set border-*-width/style/color to initial by border shorthand property
92 https://bugs.webkit.org/show_bug.cgi?id=82040
94 Reviewed by Antti Koivisto.
96 The border shorthand property sets values for border-width, border-style, and border-color shorthand properties.
97 While CSSParser::parseValue can process these shorthand properties properly and set the longhand properties
98 such as border-top-width, border-right-width, ... border-left-color, CSSParser::addProperty can't and the
99 initialization in parseShorthand fails for the border property.
101 Fixed the bug by explicitly initializing longhand properties.
103 Changing the behavior here is unlikely to break the Web since our behavior already differs from that of Firefox
104 and Internet Explorer. Both of those browsers return the actual initial values such as "medium" and "currentColor".
105 This discrepancy is tracked by https://bugs.webkit.org/show_bug.cgi?id=82078.
107 Test: fast/css/border-shorthand-initialize-longhands.html
110 (WebCore::CSSParser::parseValue): Uses borderAbridgedLonghand.
111 (WebCore::CSSParser::parseShorthand): Uses longhand properties for initialization if one is available.
112 This allows us to initialize multiple properties (e.g. border-*-color) for a single property missing in the set.
113 * css/CSSPropertyLonghand.cpp:
114 (WebCore::borderAbridgedLonghand): Added. The longhand here (border-width, border-style, border-color) is
115 "abridged" in the sense that they're still shorthands.
116 * css/CSSPropertyLonghand.h:
117 (WebCore::CSSPropertyLonghand::CSSPropertyLonghand):
118 (CSSPropertyLonghand): Added the version that takes longhand instances for initialization purposes.
119 (WebCore::CSSPropertyLonghand::longhandsForInitialization):
121 2012-03-23 Tony Chang <tony@chromium.org>
123 [chromium] rename newwtf target back to wtf
124 https://bugs.webkit.org/show_bug.cgi?id=82064
126 Reviewed by Adam Barth.
128 No new tests, only renaming a build target.
130 * WebCore.gyp/WebCore.gyp:
132 2012-03-23 Adrienne Walker <enne@google.com>
134 [chromium] Turn off painting of scrollbars on compositor thread for unsupported platforms
135 https://bugs.webkit.org/show_bug.cgi?id=82066
137 Reviewed by James Robinson.
139 With threaded compositing, OSX will crash and Windows will have black
140 scrollbars. Fix that by reverting to the previosu behavior of updating
141 scrollbars on the main thread instead.
143 * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
144 (WebCore::scrollbarLayerDidChange):
146 2012-03-23 Dan Bernstein <mitz@apple.com>
148 <rdar://problem/7883987> ASSERTION FAILED: ASSERT(input == AnimationStateInputEndTimerFired || input == AnimationStateInputPlayStatePaused) in AnimationBase::updateStateMachine causing multiple "crashes" on Lion Intel Debug WebKit testers
149 https://bugs.webkit.org/show_bug.cgi?id=81351
151 Rubber-stamped by Jessie Berlin.
153 * page/animation/AnimationBase.cpp:
154 (WebCore::AnimationBase::updateStateMachine): Replaced the assertion with a LOG_ERROR so that
155 the issue is still noticeable, but it does not automatically make the debug bots red.
157 2012-03-23 Mike Lawther <mikelawther@chromium.org>
159 CSS3 calc: image sizing works with mixed percentage/absolute
160 https://bugs.webkit.org/show_bug.cgi?id=82017
162 Reviewed by Ojan Vafai.
164 Test: css3/calc/img-size-expected.html
166 * rendering/RenderBox.cpp:
167 (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
168 (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
170 2012-03-23 Julien Chaffraix <jchaffraix@webkit.org>
172 REGRESSION(107971): Google Voice contact list is broken in WebKit due to badly allocating the extra height
173 https://bugs.webkit.org/show_bug.cgi?id=81826
175 Reviewed by Tony Chang.
177 Covered by tables/mozilla/bugs/bug27038-{1|2}.html.
179 This partly reverts r107971: the extra logical height distribution change was not needed
180 to fix the bug (it is needed by the test though). We revert to giving all the extra height
181 to the first tbody and not the first section.
183 This is broken but unfortunately some websites are relying on that. Getting a real
184 distribution algorithm is covered by bug 81824. However this is super tricky to get
185 right and I did not want to add more compatibility risks until I have something solid.
187 * rendering/RenderTable.cpp:
188 (WebCore::RenderTable::distributeExtraLogicalHeight):
190 2012-03-23 Xingnan Wang <xingnan.wang@intel.com>
192 Optimize for IPP in DirectConvolver::process()
193 https://bugs.webkit.org/show_bug.cgi?id=80255
195 Reviewed by Chris Rogers.
197 Increase ~2X performance by conv() in IPP.
199 * platform/audio/DirectConvolver.cpp:
200 (WebCore::DirectConvolver::DirectConvolver):
201 (WebCore::DirectConvolver::process):
202 * platform/audio/DirectConvolver.h:
205 2012-03-23 Tommy Widenflycht <tommyw@google.com>
207 MediaStream API (JSEP): Introducing PeerConnection00 and IceCallback
208 https://bugs.webkit.org/show_bug.cgi?id=81657
210 Reviewed by Adam Barth.
212 Last major WebCore patch for the JSEP PeerConnection, together with the associated
213 IceCallback (they both depend on each other and IceCallback has very few lines of real code).
215 My next patch after this one will do a major overhaul of the existing layout tests
216 and add a few new ones.
218 * GNUmakefile.list.am:
219 * Modules/mediastream/DOMWindowMediaStream.idl:
220 * Modules/mediastream/IceCallback.h: Added.
223 (WebCore::IceCallback::~IceCallback):
224 * Modules/mediastream/IceCallback.idl: Added.
225 * Modules/mediastream/PeerConnection00.cpp: Added.
227 (WebCore::PeerConnection00::create):
228 (WebCore::PeerConnection00::PeerConnection00):
229 (WebCore::PeerConnection00::~PeerConnection00):
230 (WebCore::PeerConnection00::hasLocalAudioTrack):
231 (WebCore::PeerConnection00::hasLocalVideoTrack):
232 (WebCore::PeerConnection00::parseMediaHints):
233 (WebCore::PeerConnection00::createOffer):
234 (WebCore::PeerConnection00::createAnswer):
235 (WebCore::PeerConnection00::setLocalDescription):
236 (WebCore::PeerConnection00::setRemoteDescription):
237 (WebCore::PeerConnection00::localDescription):
238 (WebCore::PeerConnection00::remoteDescription):
239 (WebCore::PeerConnection00::startIce):
240 (WebCore::PeerConnection00::processIceMessage):
241 (WebCore::PeerConnection00::readyState):
242 (WebCore::PeerConnection00::iceState):
243 (WebCore::PeerConnection00::addStream):
244 (WebCore::PeerConnection00::removeStream):
245 (WebCore::PeerConnection00::localStreams):
246 (WebCore::PeerConnection00::remoteStreams):
247 (WebCore::PeerConnection00::close):
248 (WebCore::PeerConnection00::didGenerateIceCandidate):
249 (WebCore::PeerConnection00::didChangeReadyState):
250 (WebCore::PeerConnection00::didChangeIceState):
251 (WebCore::PeerConnection00::didAddRemoteStream):
252 (WebCore::PeerConnection00::didRemoveRemoteStream):
253 (WebCore::PeerConnection00::interfaceName):
254 (WebCore::PeerConnection00::scriptExecutionContext):
255 (WebCore::PeerConnection00::stop):
256 (WebCore::PeerConnection00::eventTargetData):
257 (WebCore::PeerConnection00::ensureEventTargetData):
258 (WebCore::PeerConnection00::changeReadyState):
259 (WebCore::PeerConnection00::changeIceState):
260 * Modules/mediastream/PeerConnection00.h: Added.
263 (WebCore::PeerConnection00::refEventTarget):
264 (WebCore::PeerConnection00::derefEventTarget):
265 * Modules/mediastream/PeerConnection00.idl: Added.
267 * bindings/generic/RuntimeEnabledFeatures.h:
268 (WebCore::RuntimeEnabledFeatures::webkitPeerConnection00Enabled):
269 * bindings/js/JSPeerConnection00Custom.cpp: Added.
271 (WebCore::JSPeerConnection00Constructor::constructJSPeerConnection00):
272 * dom/EventTargetFactory.in:
274 2012-03-23 Adrienne Walker <enne@google.com>
276 [chromium] Fix scrollbarLayerLostContext flaky test crash on 10.6
277 https://bugs.webkit.org/show_bug.cgi?id=82062
279 Reviewed by James Robinson.
281 * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
282 (CCScrollbarLayerImpl):
284 2012-03-23 Tommy Widenflycht <tommyw@google.com>
286 [chromium] MediaStream API (JSEP): Extending WebMediaStreamCenter
287 https://bugs.webkit.org/show_bug.cgi?id=81924
289 Reviewed by Adam Barth.
291 Nothing to test, just moving methods.
293 * platform/mediastream/MediaStreamCenter.cpp:
294 (WebCore::MediaStreamCenter::constructSDP):
297 2012-03-23 Sami Kyostila <skyostil@chromium.org>
299 Reuse buffer allocation if canvas size does not change
300 https://bugs.webkit.org/show_bug.cgi?id=80871
302 Reviewed by Stephen White.
304 If the user changes the width or height attributes of a canvas element,
305 the contents of the canvas should be cleared and the context state
306 should be reset. This has become a common idiom to clear the canvas
307 "efficiently" at the start of a frame.
309 Previously, this code path triggered a full reallocation of the image
310 buffer backing the canvas, leading to reduced performance. This patch
311 implements an optimization where we reuse the previous image buffer
312 allocation if the size of the canvas did not change. Also, instead of
313 clearing the canvas every time its dimensions are touched, we only clear
314 if anything has been drawn into the canvas since it was previously
317 Note that for now this optimization only applies for 2D canvases,
318 since it is not entirely clear how touching the dimensions of a WebGL
321 Test: fast/canvas/canvas-resize-after-paint-without-layout.html +
322 existing layout tests for canvas resetting.
324 * html/HTMLCanvasElement.cpp:
325 (WebCore::HTMLCanvasElement::HTMLCanvasElement):
326 (WebCore::HTMLCanvasElement::reset):
327 (WebCore::HTMLCanvasElement::createImageBuffer): Save the initial
328 graphics context state so we can restore it without creating a new
330 (WebCore::HTMLCanvasElement::clearImageBuffer):
332 (WebCore::HTMLCanvasElement::clearCopiedImage):
333 * html/HTMLCanvasElement.h:
335 * html/canvas/CanvasRenderingContext2D.cpp:
336 (WebCore::CanvasRenderingContext2D::reset): No need to notify the
337 compositor when the context is reset, because clearing the image buffer
338 does the same thing. We can also skip the notification if we did not
339 have an image buffer at the time of the reset, because the reset will
340 not have any visual impact in this case. Finally, if the canvas size
341 did change, the notification is also unnecessary because of the call
342 to RenderObject::repaint() from HTMLCanvasElement::reset().
344 2012-03-22 Martin Robinson <mrobinson@igalia.com>
346 Fix some code generation warnings on GTK+.
348 Reviewed by Gustavo Noronha Silva.
350 No new tests. This just fixes warnings.
352 * GNUmakefile.am: Remove nonexistent directories from the list IDL directories.
354 2012-03-23 Sheriff Bot <webkit.review.bot@gmail.com>
356 Unreviewed, rolling out r111751.
357 http://trac.webkit.org/changeset/111751
358 https://bugs.webkit.org/show_bug.cgi?id=82060
360 caused 15% page cycler regression for chromium-linux
361 (Requested by eae on #webkit).
363 * css/CSSStyleSelector.cpp:
364 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
366 2012-03-23 Kentaro Hara <haraken@chromium.org>
368 Support [ImplementedAs] for attributes
369 https://bugs.webkit.org/show_bug.cgi?id=81605
371 Reviewed by Adam Barth.
373 [ImplementedAs] just supports methods. [ImplementedAs] should support
376 Explained here: https://trac.webkit.org/wiki/WebKitIDL#ImplementedAs
378 Test: bindings/scripts/test/TestObj.idl
380 * bindings/scripts/CodeGenerator.pm: Modified to support [ImplementedAs] for attributes.
381 (AttributeNameForGetterAndSetter):
383 * bindings/scripts/test/TestObj.idl: Added a test case.
385 * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
386 (WebDOMTestObj::strawberry):
387 (WebDOMTestObj::setStrawberry):
388 * bindings/scripts/test/CPP/WebDOMTestObj.h:
389 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
390 (webkit_dom_test_obj_get_strawberry):
391 (webkit_dom_test_obj_set_strawberry):
392 (webkit_dom_test_obj_get_property):
393 (webkit_dom_test_obj_class_init):
394 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
395 * bindings/scripts/test/JS/JSTestObj.cpp:
397 (WebCore::jsTestObjStrawberry):
398 (WebCore::setJSTestObjStrawberry):
399 * bindings/scripts/test/JS/JSTestObj.h:
401 * bindings/scripts/test/ObjC/DOMTestObj.h:
402 * bindings/scripts/test/ObjC/DOMTestObj.mm:
403 (-[DOMTestObj strawberry]):
404 (-[DOMTestObj setStrawberry:]):
405 * bindings/scripts/test/V8/V8TestObj.cpp:
406 (WebCore::TestObjInternal::strawberryAttrGetter):
408 (WebCore::TestObjInternal::strawberryAttrSetter):
411 2012-03-23 Tommy Widenflycht <tommyw@google.com>
413 The JSC code generator doesn't generate correct code for Constructors
414 https://bugs.webkit.org/show_bug.cgi?id=82046
416 Reviewed by Kentaro Hara.
418 The main bulk of generated code for constructors uses the name jsConstructor
419 for the created object, and then calls GenerateParametersCheck which generates
420 code that uses the name castedThis.
422 * bindings/scripts/CodeGeneratorJS.pm:
423 (GenerateConstructorDefinition):
424 * bindings/scripts/test/JS/JSTestInterface.cpp:
425 (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
426 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
427 (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
428 * bindings/scripts/test/JS/JSTestObj.cpp:
429 (WebCore::JSTestObjConstructor::finishCreation):
430 (WebCore::JSTestObjConstructor::constructJSTestObj):
431 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
432 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
433 * bindings/scripts/test/TestObj.idl:
434 * bindings/scripts/test/V8/V8TestObj.cpp:
435 (WebCore::V8TestObj::constructorCallback):
437 2012-03-23 Tommy Widenflycht <tommyw@google.com>
439 The JSC code generator can't handle boolean arguments for Callbacks
440 https://bugs.webkit.org/show_bug.cgi?id=82045
442 Reviewed by Kentaro Hara.
444 CodeGeneratorJS.pm only handles DOMStrings and objects as arguments
445 for a Callback, so I added support for boolean values as well.
447 * bindings/scripts/CodeGeneratorJS.pm:
448 (GenerateCallbackImplementation):
449 * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
450 (WebDOMTestCallback::callbackWithBoolean):
451 * bindings/scripts/test/CPP/WebDOMTestCallback.h:
452 (WebDOMTestCallback):
453 * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
454 (webkit_dom_test_callback_callback_with_boolean):
455 * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
456 * bindings/scripts/test/JS/JSTestCallback.cpp:
457 (WebCore::JSTestCallback::callbackWithBoolean):
459 * bindings/scripts/test/JS/JSTestCallback.h:
461 * bindings/scripts/test/ObjC/DOMTestCallback.h:
462 * bindings/scripts/test/ObjC/DOMTestCallback.mm:
463 (-[DOMTestCallback callbackWithBoolean:]):
464 * bindings/scripts/test/TestCallback.idl:
465 * bindings/scripts/test/V8/V8TestCallback.cpp:
466 (WebCore::V8TestCallback::callbackWithBoolean):
468 * bindings/scripts/test/V8/V8TestCallback.h:
471 2012-03-23 Allan Sandfeld Jensen <allan.jensen@nokia.com>
473 Touch adjustment forgets some subtarget quads.
474 https://bugs.webkit.org/show_bug.cgi?id=82044
476 Reviewed by Kenneth Rohde Christiansen.
478 Do not uncritically skip all nodes that are ancestors to other test results.
479 Instead return the inner-most element if multiple nodes have the same distance.
481 Test: touchadjustment/block-testing.html
483 * page/TouchAdjustment.cpp:
484 (WebCore::TouchAdjustment::compileSubtargetList):
485 (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
487 2012-03-23 Allan Sandfeld Jensen <allan.jensen@nokia.com>
489 TouchAdjustment does not correct for frame position
490 https://bugs.webkit.org/show_bug.cgi?id=82043
492 Reviewed by Kenneth Rohde Christiansen.
494 Convert geometry to window coordinates before calculating distance.
496 Test: touchadjustment/iframe.html
498 * page/TouchAdjustment.cpp:
499 (WebCore::TouchAdjustment::distanceSquaredToTargetCenterLine):
501 2012-03-23 Vlad Voicu <vladv@rosedu.org>
503 Fixed minor WebInspector display issue
504 Clicking on disabled sections in Styles Sidebar Pane creates new elements.
505 https://bugs.webkit.org/show_bug.cgi?id=81925
507 Reviewed by Timothy Hatcher
509 No new tests should be required.
511 * inspector/front-end/StylesSidebarPane.js:
512 (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
513 (WebInspector.StylePropertyTreeElement.prototype):
515 2012-03-23 Kentaro Hara <haraken@chromium.org>
517 Unreviewed, rebaselined run-bindings-tests results.
519 * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
520 * bindings/scripts/test/CPP/WebDOMTestObj.h:
521 * bindings/scripts/test/JS/JSTestObj.cpp:
522 (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
523 (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
524 (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
525 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
526 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
527 * bindings/scripts/test/V8/V8TestObj.cpp:
528 (WebCore::TestObjInternal::methodWithCallbackArgCallback):
529 (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
530 (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
531 (WebCore::TestObjInternal::overloadedMethod5Callback):
532 (WebCore::TestObjInternal::overloadedMethodCallback):
534 2012-03-23 Ryosuke Niwa <rniwa@webkit.org>
536 cssText should use StringBuilder
537 https://bugs.webkit.org/show_bug.cgi?id=82028
539 Reviewed by Hajime Morita.
541 Make StylePropertySet::asText more efficient by deploying StringBuilder;
542 avoids heap churn by String::operator+ and String::operator+=.
544 * css/StylePropertySet.cpp:
545 (WebCore::StylePropertySet::asText):
547 2012-03-23 Ryosuke Niwa <rniwa@webkit.org>
549 REGRESSION(r111754): plugins/reloadplugins-and-pages.html fails on all platforms
550 https://bugs.webkit.org/show_bug.cgi?id=82035
552 Rollout r111754 since it caused a test to fail and the test added by the patch
553 is failing on Mac WebKit 2.
556 * html/HTMLPlugInElement.cpp:
557 (WebCore::HTMLPlugInElement::detach):
559 (WebCore::HTMLPlugInElement::removedFromDocument):
560 * html/HTMLPlugInElement.h:
562 * testing/Internals.cpp:
563 * testing/Internals.h:
565 * testing/Internals.idl:
567 2012-03-23 Adam Barth <abarth@webkit.org>
569 Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 2)
570 https://bugs.webkit.org/show_bug.cgi?id=82026
572 Reviewed by Kentaro Hara.
574 This patch removes DOMWindow::resetNotifications, which was unneeded
575 special-case logic for clearing the notifications center. The previous
576 patch that tried to accomplish the same thing did not override
577 willDetachPage, which is why it caused crashes.
579 There's actually a cleaner way to handle these cases, which will let us
580 implement reconnectFrame, but that will need to wait for the next
583 * notifications/DOMWindowNotifications.cpp:
584 (WebCore::DOMWindowNotifications::DOMWindowNotifications):
585 (WebCore::DOMWindowNotifications::from):
586 (WebCore::DOMWindowNotifications::webkitNotifications):
588 (WebCore::DOMWindowNotifications::disconnectFrame):
589 (WebCore::DOMWindowNotifications::willDetachPage):
590 (WebCore::DOMWindowNotifications::reset):
591 * notifications/DOMWindowNotifications.h:
592 (DOMWindowNotifications):
593 * page/DOMWindow.cpp:
594 (WebCore::DOMWindow::willDetachPage):
595 (WebCore::DOMWindow::disconnectDOMWindowProperties):
596 (WebCore::DOMWindow::clearDOMWindowProperties):
600 (WebCore::Frame::willDetachPage):
602 2012-03-22 Adam Barth <abarth@webkit.org>
604 Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 1)
605 https://bugs.webkit.org/show_bug.cgi?id=82015
607 Reviewed by Kentaro Hara.
609 This patch moves DOMWindow.webkitNotifications from DOMWindow.idl to
610 DOMWindowNotificiations.idl in preparation for moving notificiations
613 A future patch will remove DOMWindow::resetNotificaitions in favor of
614 more general mechanisms.
617 * DerivedSources.make:
618 * DerivedSources.pri:
619 * GNUmakefile.list.am:
622 * WebCore.vcproj/WebCore.vcproj:
623 * WebCore.xcodeproj/project.pbxproj:
624 * notifications/DOMWindowNotifications.cpp: Added.
626 (WebCore::DOMWindowNotifications::DOMWindowNotifications):
627 (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
628 (WebCore::DOMWindowNotifications::from):
629 (WebCore::DOMWindowNotifications::webkitNotifications):
630 (WebCore::DOMWindowNotifications::reset):
631 (WebCore::DOMWindowNotifications::supplementName):
632 * notifications/DOMWindowNotifications.h: Added.
634 (DOMWindowNotifications):
635 * notifications/DOMWindowNotifications.idl: Added.
636 * page/DOMWindow.cpp:
637 (WebCore::DOMWindow::~DOMWindow):
639 (WebCore::DOMWindow::resetNotifications):
643 * page/DOMWindow.idl:
645 2012-03-22 Li Yin <li.yin@intel.com>
647 A client MUST close a connection if it detects a masked frame
648 https://bugs.webkit.org/show_bug.cgi?id=81361
650 Reviewed by Kent Tamura.
652 A server must not mask any frames that it sends to the client.
653 Change the test case, not mask the frames from server to client.
655 Test: http/tests/websocket/tests/hybi/invalid-masked-frames-from-server.html
657 * Modules/websockets/WebSocketChannel.cpp:
658 (WebCore::WebSocketChannel::processFrame):
660 2012-03-22 Li Yin <li.yin@intel.com>
662 [WebSocket]The minimal number of bytes MUST be used to encode the length
663 https://bugs.webkit.org/show_bug.cgi?id=81443
665 Reviewed by Kent Tamura.
667 From RFC 6455 http://tools.ietf.org/html/rfc6455#section-5.2
668 the minimal number of bytes MUST be used to encode the length
670 New test case : http/tests/websocket/tests/hybi/invalid-encode-length.html
672 * Modules/websockets/WebSocketChannel.cpp:
673 (WebCore::WebSocketChannel::parseFrame):
675 2012-03-22 Adam Barth <abarth@webkit.org>
677 Unreviewed. Sort xcodeproj file.
679 * WebCore.xcodeproj/project.pbxproj:
681 2012-03-22 Mao Yujie <yujie.mao@intel.com>
683 Implement strict testing criterion for callback function definition
684 https://bugs.webkit.org/show_bug.cgi?id=80005
686 Reviewed by Adam Barth.
688 Callback function should be defined as the function type instead of
691 LayoutTest: fast/dom/MediaStream/argument-types.html
693 * bindings/scripts/CodeGeneratorJS.pm:
694 (GenerateParametersCheckExpression):
695 (GenerateParametersCheck):
696 * bindings/scripts/CodeGeneratorV8.pm:
697 (GenerateParametersCheckExpression):
698 (GenerateParametersCheck):
700 2012-03-22 Gyuyoung Kim <gyuyoung.kim@samsung.com>
702 Convert hasGrammarMarker to use Internals interface
703 https://bugs.webkit.org/show_bug.cgi?id=82004
705 Reviewed by Ryosuke Niwa.
707 Remove hasGrammarMarker functions, because it is able to work in the
708 cross-port way through the Internals interface.
710 No new tests, since we are improving here the infra-structure
711 for testing a specific method.
713 * testing/Internals.cpp:
714 (WebCore::Internals::hasGrammarMarker):
716 * testing/Internals.h:
718 * testing/Internals.idl:
720 2012-03-22 Xingnan Wang <xingnan.wang@intel.com>
722 Add exception for the setter of "fftSize" in RealtimeAnalyserNode
723 https://bugs.webkit.org/show_bug.cgi?id=81748
725 Reviewed by Chris Rogers.
727 * Modules/webaudio/RealtimeAnalyser.cpp:
728 (WebCore::RealtimeAnalyser::setFftSize):
729 * Modules/webaudio/RealtimeAnalyser.h:
731 * Modules/webaudio/RealtimeAnalyserNode.cpp:
732 (WebCore::RealtimeAnalyserNode::setFftSize):
734 * Modules/webaudio/RealtimeAnalyserNode.h:
735 (RealtimeAnalyserNode):
736 * Modules/webaudio/RealtimeAnalyserNode.idl:
738 2012-03-22 Leo Yang <leo.yang@torchmobile.com.cn>
740 [BlackBerry] Add HistoryItemViewState for BlackBerry port
741 https://bugs.webkit.org/show_bug.cgi?id=81867
743 Reviewed by Rob Buis.
745 HistoryItemViewState is the blackberry specific field of HistoryItem.
746 It's used to maintain the porting specific view state.
748 No new test because the port can't be built yet.
750 * history/HistoryItem.h:
752 (WebCore::HistoryItem::viewState):
754 2012-03-22 SravanKumar Sandela <ssandela@innominds.com>
756 Fieldset unexpectedly stretches to minimum intrinsic width
757 https://bugs.webkit.org/show_bug.cgi?id=79128
759 Reviewed by Julien Chaffraix.
761 Fieldset element width will now check if css width is specified explicitly
762 before stretching to minimum intrinsic width. The reference
763 can be taken from IE9, instead of FF(FF acknowledged the broken behavior).
765 Tests: fast/forms/fieldset-width-nostretch-ifspecified-expected.html
766 fast/forms/fieldset-width-nostretch-ifspecified.html
768 * rendering/RenderFieldset.cpp:
769 (WebCore::RenderFieldset::stretchesToMinIntrinsicLogicalWidth):
771 * rendering/RenderFieldset.h:
774 2012-03-22 Shawn Singh <shawnsingh@chromium.org>
776 [chromium] Target surface should be damaged for a new layers even when layer had no changes
777 https://bugs.webkit.org/show_bug.cgi?id=81879
779 Reviewed by Adrienne Walker.
781 Unit test added to CCDamageTrackerTest.
783 * platform/graphics/chromium/cc/CCDamageTracker.cpp:
784 (WebCore::CCDamageTracker::removeRectFromCurrentFrame): added a
785 boolean arg to detect if the layer is new on this update.
787 (WebCore::CCDamageTracker::extendDamageForLayer): added logic that
788 damages the target surface if the layer is new.
790 (WebCore::CCDamageTracker::extendDamageForRenderSurface): added
791 logic that damages the target surface if the descendant surface is
792 new; similar logic for the surface's replica if the replica is new.
794 * platform/graphics/chromium/cc/CCDamageTracker.h:
797 2012-03-22 Charles Wei <charles.wei@torchmobile.com.cn>
799 [BlackBerry] Need to store the meta info of a page in the ViewState of the history
800 https://bugs.webkit.org/show_bug.cgi?id=82000
802 Reviewed by Rob Buis.
804 Internally reviewed by George Staikos.
806 No new tests, BlackBerry porting doesn't build yet upstreaming.
808 * history/blackberry/HistoryItemViewState.h:
809 (WebCore::HistoryItemViewState::HistoryItemViewState):
810 (HistoryItemViewState):
812 2012-03-22 Adam Klein <adamk@chromium.org>
814 [v8] wrapSlow methods should ref underlying object before creating wrapper
815 https://bugs.webkit.org/show_bug.cgi?id=81919
817 Reviewed by Adam Barth.
819 Because instatiating the wrapper can trigger GC, it's important that
820 wrapSlow() hold a reference to an object when creating a wrapper for
821 that object. Once the V8 wrapper exists and is associated with the object,
822 the reference can be handed off (via leakRef) to be handled by the normal
823 binding code logic (where derefObject is called if the handle is GCed).
825 Binding tests have been updated to reflect this change.
827 Testing the change directly is hard. Any test landed today would only
828 be a valid test until V8's logic about when to GC changes, at which point
829 it would become dead weight. So I don't think it's worth landing a
830 layout test along with this.
832 * bindings/scripts/CodeGeneratorV8.pm:
833 (GenerateHeader): Make wrapSlow take a PassRefPtr for RefCounted objects.
834 (GenerateToV8Converters): Get rid of the explicit call to ref() and
835 instead call leakRef() when adding a RefCounted object to the DOM map.
836 (GetPassRefPtrType): Helper to generate "PassRefPtr<T>", or "PassRefPtr<T<U> >" as appropriate.
837 * bindings/scripts/test/V8/V8Float64Array.cpp:
838 (WebCore::V8Float64Array::wrapSlow):
839 * bindings/scripts/test/V8/V8Float64Array.h:
841 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
842 (WebCore::V8TestActiveDOMObject::wrapSlow):
843 * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
844 (V8TestActiveDOMObject):
845 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
846 (WebCore::V8TestCustomNamedGetter::wrapSlow):
847 * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
848 (V8TestCustomNamedGetter):
849 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
850 (WebCore::V8TestEventConstructor::wrapSlow):
851 * bindings/scripts/test/V8/V8TestEventConstructor.h:
852 (V8TestEventConstructor):
853 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
854 (WebCore::V8TestEventTarget::wrapSlow):
855 * bindings/scripts/test/V8/V8TestEventTarget.h:
857 * bindings/scripts/test/V8/V8TestInterface.cpp:
858 (WebCore::V8TestInterface::wrapSlow):
859 * bindings/scripts/test/V8/V8TestInterface.h:
861 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
862 (WebCore::V8TestMediaQueryListListener::wrapSlow):
863 * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
864 (V8TestMediaQueryListListener):
865 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
866 (WebCore::V8TestNamedConstructor::wrapSlow):
867 * bindings/scripts/test/V8/V8TestNamedConstructor.h:
868 (V8TestNamedConstructor):
869 * bindings/scripts/test/V8/V8TestObj.cpp:
870 (WebCore::V8TestObj::wrapSlow):
871 * bindings/scripts/test/V8/V8TestObj.h:
873 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
874 (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
875 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
876 (V8TestSerializedScriptValueInterface):
878 2012-03-22 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
880 [BlackBerry] add interface clearCredentials() and clearNeverRememberSites()
881 https://bugs.webkit.org/show_bug.cgi?id=81887
883 Reviewed by Rob Buis.
885 Fixed SQL issue when clearing table logins and table never_remember.
889 * platform/network/blackberry/CredentialBackingStore.cpp:
890 (WebCore::CredentialBackingStore::clearLogins):
891 (WebCore::CredentialBackingStore::clearNeverRemember):
893 2012-03-22 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
895 [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
896 https://bugs.webkit.org/show_bug.cgi?id=80135
898 Reviewed by Rob Buis.
900 Modified the interface function authenticationChallenge() in class
901 PageClientBlackBerry, moved Credential from return value to the
902 function's reference parameter, and returned a bool to indicate if
903 user pressed Ok button or not.
904 Removed the logic which checks m_currentWebChallenge not null,
905 because we should challenge user again if the last provided credential
906 is not valid; also added the logic that will popup challenge
907 dialog again immediately if user press Ok buttton directly without
912 * platform/blackberry/PageClientBlackBerry.h:
913 * platform/network/blackberry/NetworkJob.cpp:
914 (WebCore::NetworkJob::handleAuthHeader):
915 (WebCore::NetworkJob::sendRequestWithCredentials):
917 2012-03-22 Jason Liu <jason.liu@torchmobile.com.cn>
919 [BlackBerry] Synchronize platform/network/blackberry
920 https://bugs.webkit.org/show_bug.cgi?id=81874
922 We changed a lot in these files locally. But the changes are not upstreamed.
923 It is not convenient to do the other upstreaming work based on these differences.
924 So upstream these changes.
926 Reviewed by Rob Buis.
928 No new tests. Just synchronize codes.
930 * platform/network/blackberry/NetworkJob.cpp:
931 (WebCore::NetworkJob::NetworkJob):
932 (WebCore::NetworkJob::initialize):
933 (WebCore::NetworkJob::handleNotifyHeaderReceived):
934 (WebCore::NetworkJob::handleNotifyDataReceived):
935 (WebCore::NetworkJob::sendResponseIfNeeded):
936 (WebCore::NetworkJob::sendRequestWithCredentials):
937 (WebCore::NetworkJob::handleAbout):
938 * platform/network/blackberry/NetworkJob.h:
939 (WebCore::NetworkJob::isError):
941 * platform/network/blackberry/NetworkManager.cpp:
942 (WebCore::NetworkManager::startJob):
943 * platform/network/blackberry/ResourceRequest.h:
944 (WebCore::ResourceRequest::ResourceRequest):
945 * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
946 (WebCore::platformTargetTypeForRequest):
948 2012-03-22 Tom Sepez <tsepez@chromium.org>
950 XSS Auditor bypass via script tag src=data:, URLS.
951 https://bugs.webkit.org/show_bug.cgi?id=81948
953 Reviewed by Adam Barth.
955 This change fixes an XSSAuditor bypass wherby a script with a data: URL src
956 attribute could evade detection by using characters from the page to create
957 a snippet for matching not found in the URL's reflected vector. This change
958 terminates the snippet for matching earlier in these cases.
960 Test: http/tests/security/xssAuditor/script-tag-with-source-data-url2.html
962 * html/parser/XSSAuditor.cpp:
963 (WebCore::XSSAuditor::decodedSnippetForAttribute):
965 2012-03-22 Dana Jansens <danakj@chromium.org>
967 [chromium] Incorrect assert on animating opacity for a surface
968 https://bugs.webkit.org/show_bug.cgi?id=81994
970 Reviewed by Adrienne Walker.
972 Draw opacity and animation state match on the surface itself. A
973 surface with animating opacity always has an owning layer without
974 animation, as the surface does the animation for it.
976 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
977 (WebCore::CCLayerTreeHost::paintLayerContents):
979 2012-03-22 Dana Jansens <danakj@chromium.org>
981 [chromium] Skip frames when checkerboarding an animation
982 https://bugs.webkit.org/show_bug.cgi?id=81716
984 Reviewed by Adrienne Walker.
986 This will stop drawing frames when prepareToDraw fails, if the draw is
987 not forced. The expected behaviour is outlined below by the unit tests.
989 When a draw fails, we:
990 1. Set m_needsRedraw to try again next vsync
991 2. Set m_needsCommit because we need more data from webkit to succeed
992 3. Set m_drawIfPossibleFailed. This allows us to try draw again within
993 the same vsync *if* a commit finishes during this time.
995 Unit test: CCSchedulerTest.RequestRedrawInsideFailedDraw
996 CCSchedulerTest.RequestCommitInsideFailedDraw
997 CCSchedulerTest.NoBeginFrameWhenDrawFails
998 CCSchedulerStateMachineTest.TestFailedDrawSetsNeedsCommitAndDoesNotDrawAgain
999 CCSchedulerStateMachineTest.TestSetNeedsRedrawDuringFailedDrawDoesNotRemoveNeedsRedraw
1000 CCSchedulerStateMachineTest.TestCommitAfterFailedDrawAllowsDrawInSameFrame
1001 CCSchedulerStateMachineTest.TestCommitAfterFailedAndSuccessfulDrawDoesNotAllowDrawInSameFrame
1002 CCSchedulerStateMachineTest.TestFailedDrawIsRetriedNextVSync
1004 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1005 (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1006 (WebCore::CCLayerTreeHostImpl::prepareToDraw):
1007 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1008 (CCLayerTreeHostImpl):
1009 * platform/graphics/chromium/cc/CCScheduler.cpp:
1010 (WebCore::CCScheduler::processScheduledActions):
1011 * platform/graphics/chromium/cc/CCScheduler.h:
1012 (CCSchedulerClient):
1013 * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
1014 (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
1015 (WebCore::CCSchedulerStateMachine::nextAction):
1016 (WebCore::CCSchedulerStateMachine::updateState):
1017 (WebCore::CCSchedulerStateMachine::didDrawIfPossibleCompleted):
1019 * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
1020 (CCSchedulerStateMachine):
1021 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1022 (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
1024 (WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
1025 (WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):
1026 * platform/graphics/chromium/cc/CCThreadProxy.h:
1029 2012-03-22 W. James MacLean <wjmaclean@chromium.org>
1031 [chromium] Force update of nonFastScrollableRegion if target CCLayerImpl has been freshly created.
1032 https://bugs.webkit.org/show_bug.cgi?id=81968
1034 Reviewed by Adrienne Walker.
1036 Added unit test to existing tests for TreeSynchronizer.
1038 When creating a new CCLayerImpl during tree synchronization, make sure we transfer the nonFastScrollableRegion as
1039 the new CCLayerImpl will default to an empty region.
1041 * platform/graphics/chromium/LayerChromium.h:
1042 (WebCore::LayerChromium::nonFastScrollableRegion):
1043 (WebCore::LayerChromium::setNonFastScrollableRegionChanged):
1044 * platform/graphics/chromium/TreeSynchronizer.cpp:
1045 (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
1047 2012-03-22 Raphael Kubo da Costa <rakuco@FreeBSD.org>
1049 [CMake] Unreviewed build fix after r111778.
1051 * CMakeLists.txt: Replace ${JAVASCRIPTCORE_DIR}/wtf includes with
1052 ${WTF_DIR}/wtf ones.
1054 2012-03-22 Tony Chang <tony@chromium.org>
1056 Unreviewed, fix chromium build after wtf move.
1058 Only use newwtf, remove references to wtf.
1060 * WebCore.gyp/WebCore.gyp:
1062 2012-03-22 Benjamin Poulain <bpoulain@apple.com>
1064 Remove an obsolete comment regarding magic frames from Geolocation
1065 https://bugs.webkit.org/show_bug.cgi?id=81871
1067 Reviewed by Alexey Proskuryakov.
1069 Moving a frame into another document is no longer possible after r111361. The comment
1072 * Modules/geolocation/Geolocation.cpp:
1073 (WebCore::Geolocation::stop):
1075 2012-03-22 Csaba Osztrogonác <ossy@webkit.org>
1077 Actually move WTF files to their new home
1078 https://bugs.webkit.org/show_bug.cgi?id=81844
1080 [Qt] Unreviewed buildfix after r111778.
1084 2012-03-22 Kentaro Hara <haraken@chromium.org>
1086 run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl
1087 https://bugs.webkit.org/show_bug.cgi?id=81852
1089 Reviewed by Adam Barth.
1091 run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl:
1093 Use of uninitialized value in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2743.
1094 Use of uninitialized value $name in substitution (s///) at WebCore/bindings/scripts/CodeGenerator.pm line 119.
1095 Use of uninitialized value $type in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2969.
1096 Use of uninitialized value $type in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2972.
1097 Use of uninitialized value $type in hash element at WebCore/bindings/scripts/CodeGenerator.pm line 367.
1098 Use of uninitialized value $type in hash element at WebCore/bindings/scripts/CodeGenerator.pm line 368.
1101 This is because [Constructor(...)] does not yet support [Optional] arguments.
1102 It just supports [Optional=DefaultIsUndefined] and [Optional=DefaultIsNullString] arguments:
1103 https://trac.webkit.org/wiki/WebKitIDL#Constructor
1105 This patch replaces [Optional] with [Optional=DefaultIsUndefined]
1106 in TestSerializedScriptValueInterface.idl.
1108 Test: bindings/scripts/test/TestSerializedScriptValueInterface.idl
1110 * bindings/scripts/CodeGeneratorJS.pm:
1111 (GenerateConstructorDefinition):
1112 * bindings/scripts/CodeGeneratorV8.pm:
1113 (GenerateConstructorCallback):
1114 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1115 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
1116 * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
1117 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1118 (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
1120 2012-03-22 Michal Mocny <mmocny@google.com>
1122 [chromium] LayerRendererChromium should use GpuMemoryAllocationChanged callback to explicitly manage framebuffer.
1123 https://bugs.webkit.org/show_bug.cgi?id=81823
1125 Reviewed by Adrienne Walker.
1127 New UnitTests: LayerRendererChromiumTest
1129 * platform/graphics/chromium/LayerRendererChromium.cpp:
1130 (LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
1131 (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::create):
1132 (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::~LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
1133 (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::onGpuMemoryAllocationChanged):
1134 (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
1136 (WebCore::LayerRendererChromium::LayerRendererChromium):
1137 (WebCore::LayerRendererChromium::initialize):
1138 (WebCore::LayerRendererChromium::~LayerRendererChromium):
1139 (WebCore::LayerRendererChromium::setVisible):
1140 (WebCore::LayerRendererChromium::swapBuffers):
1141 (WebCore::LayerRendererChromium::discardFramebuffer):
1142 (WebCore::LayerRendererChromium::ensureFramebuffer):
1143 * platform/graphics/chromium/LayerRendererChromium.h:
1145 (LayerRendererChromiumClient):
1146 (LayerRendererChromium):
1147 (WebCore::LayerRendererChromium::isFramebufferDiscarded):
1148 (ScopedEnsureFramebufferAllocation):
1149 (WebCore::ScopedEnsureFramebufferAllocation::ScopedEnsureFramebufferAllocation):
1150 (WebCore::ScopedEnsureFramebufferAllocation::~ScopedEnsureFramebufferAllocation):
1151 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1152 (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
1153 (LayerRendererCapabilities):
1154 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1155 (WebCore::CCLayerTreeHostImpl::setVisible):
1156 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1157 (CCLayerTreeHostImpl):
1158 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1159 (WebCore::CCSingleThreadProxy::compositeAndReadback):
1160 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1161 (WebCore::CCThreadProxy::compositeAndReadback):
1163 2012-03-22 Adam Barth <abarth@webkit.org>
1165 ContainerNode::insertedIntoTree and removedFromTree use weak iteration patterns
1166 https://bugs.webkit.org/show_bug.cgi?id=80570
1168 Reviewed by Ryosuke Niwa.
1170 These functions use weak iteration patterns, but as far as I can tell,
1171 we never execute script below these functions. This patch adds ASSERTs
1172 to help us avoid adding events in the future.
1174 * dom/ContainerNode.cpp:
1175 (WebCore::ContainerNode::insertedIntoTree):
1176 (WebCore::ContainerNode::removedFromTree):
1177 * html/HTMLMediaElement.cpp:
1178 (WebCore::HTMLMediaElement::loadInternal):
1179 - There's a somewhat complex call chain from insertedIntoTree into
1180 HTMLMediaElement, and somewhat complex control flow below
1181 loadInternal that eventually leads to the BeforeLoad event being
1182 fired. In studying this code, I don't see a way for the
1183 BeforeLoad event to be fired during insertedIntoTree, but I've
1184 added this assert here to make sure we don't call loadInternal
1185 when we're not supposed to dispatch events. This ASSERT should
1186 help us catch these BeforeLoad errors more quickly.
1188 2012-03-22 Raphael Kubo da Costa <rakuco@FreeBSD.org>
1190 Crash in fast/dom/navigator-detached-nocrash.html
1191 https://bugs.webkit.org/show_bug.cgi?id=81773
1193 Reviewed by Adam Barth.
1195 BatteryManager::create() blindly assumes the Navigator* it
1196 receives has a valid Frame, which is not always the case, as made
1197 evident by the crashing test.
1199 Follow abarth's suggestion and just stop
1200 NavigatorBattery::webkitBattery() before it reaches the call to
1201 BatteryManager::create() if that's the case.
1203 No new tests, covered by fast/dom/navigator-detached-nocrash.html.
1205 * Modules/battery/NavigatorBattery.cpp:
1206 (WebCore::NavigatorBattery::webkitBattery):
1208 2012-03-22 Emil A Eklund <eae@chromium.org>
1210 Unreviewed, add missing include statement for CSSValueList.h.
1212 * css/CSSStyleSelector.h:
1214 2012-03-22 Tony Chang <tony@chromium.org>
1216 flexbox flexing implementation should match the spec
1217 https://bugs.webkit.org/show_bug.cgi?id=70796
1219 Reviewed by Ojan Vafai.
1221 Match the algorithm in the spec. Handling min/max constraints are slightly improved.
1222 http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths
1224 New test cases in css3/flexbox/flex-algorithm-min-max.html.
1226 * rendering/RenderFlexibleBox.cpp:
1227 (WebCore::adjustFlexSizeForMinAndMax): Step 5 of resolving flexible lengths.
1229 (WebCore::RenderFlexibleBox::Violation::Violation):
1230 (RenderFlexibleBox::Violation):
1231 (WebCore::RenderFlexibleBox::freezeViolations): Used by step 6.
1232 (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
1233 * rendering/RenderFlexibleBox.h:
1235 2012-03-22 Emil A Eklund <eae@chromium.org>
1237 Unreviewed, add missing import.
1239 * rendering/RenderThemeMac.mm:
1241 2012-03-22 Anders Carlsson <andersca@apple.com>
1243 ASSERT(!needsLayout) in RenderView.cpp when visiting http://www.panic.com/blog/
1244 https://bugs.webkit.org/show_bug.cgi?id=81953
1245 <rdar://problem/11086998>
1247 Reviewed by Sam Weinig.
1249 If a page ends up creating CATiledLayers, CA transactions can be committed outside of the normal
1250 CA run loop observer, so we can't call setNeedsDisplay on tile cache layers directly because then
1251 we'll end up calling into painting code before all the layers have been flushed.
1253 Fix this by adding a list of dirty rects to platformCALayerDidCreateTiles and change GraphicsLayerCA to
1254 mark them as dirty. This ensures that any CA transaction commits won't cause newly added layers to be painted.
1256 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1257 (WebCore::LayerClient::platformCALayerDidCreateTiles):
1258 * platform/graphics/ca/GraphicsLayerCA.cpp:
1259 (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
1260 * platform/graphics/ca/GraphicsLayerCA.h:
1262 * platform/graphics/ca/PlatformCALayerClient.h:
1263 (PlatformCALayerClient):
1264 * platform/graphics/ca/mac/TileCache.mm:
1265 (WebCore::TileCache::setScale):
1266 (WebCore::TileCache::revalidateTiles):
1267 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1268 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):
1270 2012-03-19 Robert Hogan <robert@webkit.org>
1272 Text should overflow when list item height set to 0
1273 https://bugs.webkit.org/show_bug.cgi?id=78726
1275 Reviewed by Julien Chaffraix.
1277 Tests: css2.1/20110323/height-applies-to-010a-expected.html
1278 fast/css/heightless-list-item-expected.html
1279 fast/css/heightless-list-item.html
1281 * rendering/RenderListItem.cpp:
1282 (WebCore::RenderListItem::paint):
1283 If the list item has height:0, only paint it if the list item allows any block or inline content
1284 to overflow unclipped. The zero-height check is a shortcut to avoid unnecessary painting and
1285 this seems to be the only case where there's something to do.
1287 2012-03-22 Dave Michael <dmichael@chromium.org>
1289 HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
1290 https://bugs.webkit.org/show_bug.cgi?id=80428
1292 Reviewed by Eric Seidel.
1294 Make HTMLPluginElement release its m_NPObject in detach() to break a
1295 reference-counting cycle that happens on reload or navigation. With this
1296 change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
1297 was removed. Note that Releasing m_NPObject does not result in a call to
1298 the plugin; it simply releases a reference count on the wrapper object
1299 for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
1300 when the render tree is destroyed, when PluginView calls
1301 PluginPackage::unload.) Thus, it is safe to release m_NPObject in
1302 detach, because it can not result in layout or style changes.
1304 Also added numberOfLiveNodes() and numberOfLiveDocuments() to
1305 window.internals to enable testing.
1307 Test: plugins/netscape-dom-access-and-reload.html
1310 * html/HTMLPlugInElement.cpp:
1311 (WebCore::HTMLPlugInElement::detach):
1312 * html/HTMLPlugInElement.h:
1313 (HTMLPlugInElement):
1314 * testing/Internals.cpp:
1315 (WebCore::Internals::numberOfLiveDocuments):
1316 (WebCore::Internals::numberOfLiveNodes):
1318 * testing/Internals.h:
1320 * testing/Internals.idl:
1322 2012-03-22 Shawn Singh <shawnsingh@chromium.org>
1324 [chromium] Make CCDamageTracker robust to empty layer lists
1325 https://bugs.webkit.org/show_bug.cgi?id=81831
1327 Reviewed by Adrienne Walker.
1329 Added a unit test in CCDamageTrackerTest that causes a crash in
1330 the old code. With this patch applied, the crash will not occur.
1331 In theory, that crash should never occur anyway, unless there is a
1332 bug outside the damage tracker, but for robustness it's
1333 appropriate to handle it properly.
1335 In addition to this fix, performed some trivial maintenance on the
1336 damage tracker code.
1338 * platform/graphics/chromium/cc/CCDamageTracker.cpp:
1339 (WebCore::CCDamageTracker::updateDamageTrackingState): removed
1340 unclean code that accessed the targetSurface to get necessary
1341 information. Instead, we now pass those args through the damage
1344 * platform/graphics/chromium/cc/CCDamageTracker.h:
1345 (CCDamageTracker): modified args passed to damage tracker on update.
1347 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1348 (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
1349 modified args passed to damage tracker on update.
1351 2012-03-22 Julien Chaffraix <jchaffraix@webkit.org>
1353 Enable style sharing for elements with a style attribute
1354 https://bugs.webkit.org/show_bug.cgi?id=81523
1356 Reviewed by Antti Koivisto.
1358 Memory improvement change only.
1360 Overall, this is a performance wash (some benchmarks may regress a bit due to the increase in time taken
1361 by CSSStyleSelector::locateSharedStyle as we try more nodes, others increase their performance due to style sharing).
1363 Instrumenting our style sharing, this should give us some nice memory shavings on some benchmarks:
1364 - HTML5 isn't impacted as it doesn't use much inline style
1365 - page cyclers' intl1 showed a 6% increase in style sharing.
1367 * css/CSSStyleSelector.cpp:
1368 (WebCore::CSSStyleSelector::canShareStyleWithElement):
1369 This method now handles inline style like presentation attributes on the element.
1371 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1372 (WebCore::CSSStyleSelector::locateSharedStyle):
1373 Don't bail out for an element with an inline style declaration.
1375 (WebCore::CSSStyleSelector::stylesEqual):
1376 Generalized attributeStylesEqual to share the logic between attribute and
1377 inline style property set. This means that attribute checks are actually
1378 doing a little extra more work but that didn't impact our benchmarks.
1380 2012-03-22 Kevin Ollivier <kevino@theolliviers.com>
1382 [wx] Unreviewed. WebDOM build fix after array type changes.
1384 * bindings/scripts/CodeGeneratorCPP.pm:
1387 2012-03-22 Pavel Feldman <pfeldman@chromium.org>
1389 Web Inspector: text gutter decorations should move upon edits.
1390 https://bugs.webkit.org/show_bug.cgi?id=81932
1392 Reviewed by Vsevolod Vlasov.
1394 Decorations set by the line number now shift as editing inserts / removes lines.
1396 * inspector/front-end/TextViewer.js:
1397 (WebInspector.TextViewer.prototype._syncLineHeight):
1398 (WebInspector.TextEditorGutterPanel):
1399 (WebInspector.TextEditorGutterPanel.prototype.textChanged):
1400 (WebInspector.TextEditorGutterPanel.prototype.syncClientHeight):
1401 (WebInspector.TextEditorGutterPanel.prototype.addDecoration):
1402 (WebInspector.TextEditorGutterPanel.prototype.removeDecoration):
1404 2012-03-21 Robert Hogan <robert@webkit.org>
1406 CSS 2.1 failure: fixed-table-layout-006 fails
1407 https://bugs.webkit.org/show_bug.cgi?id=78412
1409 Reviewed by Julien Chaffraix.
1411 Tests: css2.1/20110323/fixed-table-layout-006.htm
1412 fast/css/fixed-table-layout-cell-padding.htm
1414 In fixed tables, positive width specified on a column should include borders and padding.
1415 See the thread at http://lists.w3.org/Archives/Public/www-style/2011Oct/0502.html. The discussion
1416 there resulted in a whole new set of tests for section 17.5.2.1 in the CSS 2.1 spec. See
1417 http://test.csswg.org/harness/test/CSS21_DEV/section/17.5.2.1/. This patch allows WebKit
1418 to pass all of them, and all tests for the 17.5.2.1 section as a whole. I'll land them all separately.
1420 * rendering/FixedTableLayout.cpp:
1421 (WebCore::FixedTableLayout::calcWidthArray): Include border width and cell padding in the width of the column.
1422 Note that borderAndPaddingLogicalWidth() returns the border width for separate and collapsed borders as appropriate.
1424 2012-03-22 Simon Fraser <simon.fraser@apple.com>
1426 Factor compositing layer updates after scroll into a new method
1427 https://bugs.webkit.org/show_bug.cgi?id=81943
1429 Reviewed by Dean Jackson.
1431 Move some code that updates compositing layers after scrolling
1432 into its own method, for cleanliness.
1434 * rendering/RenderLayer.cpp:
1435 (WebCore::RenderLayer::scrollTo):
1436 (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
1438 * rendering/RenderLayer.h:
1441 2012-03-22 Gavin Barraclough <barraclough@apple.com>
1443 Add JSValue::isFunction
1444 https://bugs.webkit.org/show_bug.cgi?id=81935
1446 Reviewed by Geoff Garen.
1448 This would be useful in the WebCore bindings code.
1449 Also, remove asFunction, replace with jsCast<JSFunction*>.
1451 * bindings/js/JSInjectedScriptHostCustom.cpp:
1452 (WebCore::JSInjectedScriptHost::functionDetails):
1453 * bindings/js/ScriptCallStackFactory.cpp:
1454 (WebCore::createScriptCallStack):
1456 2012-03-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1458 TiledBackingStore: Fix test regressions that appeared with r111560.
1459 https://bugs.webkit.org/show_bug.cgi?id=81519
1461 Reviewed by Kenneth Rohde Christiansen.
1463 The visible rect wasn't intersected with the contents rect anymore which
1464 could lead to an astronomical layer size to check for intersecting tiles.
1466 Add a visibleContentsRect that doesn't do the conversion and use it
1467 in visibleAreaIsCovered.
1469 * platform/graphics/TiledBackingStore.cpp:
1470 (WebCore::TiledBackingStore::visibleContentsRect):
1472 (WebCore::TiledBackingStore::visibleRect):
1473 (WebCore::TiledBackingStore::visibleAreaIsCovered):
1474 * platform/graphics/TiledBackingStore.h:
1475 (TiledBackingStore):
1477 2012-03-22 Joe Thomas <joethomas@motorola.com>
1479 Make Length Calculation functions non-inline
1480 https://bugs.webkit.org/show_bug.cgi?id=81733
1482 Currently length calculation functions in LengthFunctions.h are inline. These functions are pretty big to be inline.
1483 And these functions are expected to grow again when new length units will be introduced in bug 27160.
1485 A decent rule of thumb is to not inline a function if it is more than 10 lines long. Also it's typically not cost effective to inline
1486 functions with loops or switch statements. (Reference: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Inline_Functions).
1488 Ran PerformanceTests/Parser/html5-full-render.html on Mac Snow-Leopard with and without the patch and did not see much performance difference.
1490 Reviewed by Antti Koivisto.
1493 * GNUmakefile.list.am:
1496 * WebCore.vcproj/WebCore.vcproj:
1497 * WebCore.xcodeproj/project.pbxproj:
1498 * css/LengthFunctions.cpp: Added.
1500 (WebCore::miminumValueForLength):
1501 (WebCore::valueForLength):
1502 (WebCore::floatValueForLength):
1503 * css/LengthFunctions.h:
1506 2012-03-22 Alexis Menard <alexis.menard@openbossa.org>
1508 Increase code sharing between CSSParser and CSSPropertyLonghand.
1509 https://bugs.webkit.org/show_bug.cgi?id=81587
1511 Reviewed by Antti Koivisto.
1513 Expose the longhands declaration for a given shorthand in CSSPropertyLonghand and
1514 make CSSParser use them. It will make the declaration of longhands in one place only.
1515 Remove the map of CSSPropertyLonghand and replace it by a regular switch/case.
1516 The map doesn't bring much here and it's cleaner and faster to use the switch.
1517 It also shows a little performance improvement in CSS/CSSPropertySetterGetter.html.
1519 No new tests : no behavior change.
1521 * css/CSSParser.cpp:
1522 (WebCore::CSSParser::parseValue):
1523 (WebCore::CSSParser::parseAnimationShorthand):
1524 (WebCore::CSSParser::parseTransitionShorthand):
1525 (WebCore::CSSParser::parseShorthand):
1526 Modify the prototype of this function to directly use the CSSPropertyLonghand.
1530 * css/CSSPropertyLonghand.cpp:
1532 (WebCore::backgroundLonghand):
1533 (WebCore::backgroundPositionLonghand):
1534 (WebCore::backgroundRepeatLonghand):
1535 (WebCore::borderLonghand):
1536 (WebCore::borderBottomLonghand):
1537 (WebCore::borderColorLonghand):
1538 (WebCore::borderImageLonghand):
1539 (WebCore::borderLeftLonghand):
1540 (WebCore::borderRadiusLonghand):
1541 (WebCore::borderRightLonghand):
1542 (WebCore::borderSpacingLonghand):
1543 (WebCore::borderStyleLonghand):
1544 (WebCore::borderTopLonghand):
1545 (WebCore::borderWidthLonghand):
1546 (WebCore::listStyleLonghand):
1547 (WebCore::fontLonghand):
1548 (WebCore::marginLonghand):
1549 (WebCore::outlineLonghand):
1550 (WebCore::overflowLonghand):
1551 (WebCore::paddingLonghand):
1552 (WebCore::webkitAnimationLonghand):
1553 (WebCore::webkitBorderAfterLonghand):
1554 (WebCore::webkitBorderBeforeLonghand):
1555 (WebCore::webkitBorderEndLonghand):
1556 (WebCore::webkitBorderStartLonghand):
1557 (WebCore::webkitColumnsLonghand):
1558 (WebCore::webkitColumnRuleLonghand):
1559 (WebCore::webkitFlexFlowLonghand):
1560 (WebCore::webkitMarginCollapseLonghand):
1561 (WebCore::webkitMarqueeLonghand):
1562 (WebCore::webkitMaskLonghand):
1563 (WebCore::webkitMaskPositionLonghand):
1564 (WebCore::webkitMaskRepeatLonghand):
1565 (WebCore::webkitTextEmphasisLonghand):
1566 (WebCore::webkitTextStrokeLonghand):
1567 (WebCore::webkitTransitionLonghand):
1568 (WebCore::webkitTransformOriginLonghand):
1569 (WebCore::webkitWrapLonghand):
1570 (WebCore::longhandForProperty):
1571 * css/CSSPropertyLonghand.h:
1574 2012-03-22 Emil A Eklund <eae@chromium.org>
1576 Unreviewed, touching file to force bots to pick up CSS_SHADERS flag change.
1578 * css/CSSStyleSelector.h:
1581 2012-03-22 Xingnan Wang <xingnan.wang@intel.com>
1583 ReverbConvolver::latencyFrames() should return 0.
1584 https://bugs.webkit.org/show_bug.cgi?id=81806
1586 Reviewed by Chris Rogers.
1588 * platform/audio/ReverbConvolver.cpp:
1589 (WebCore::ReverbConvolver::latencyFrames):
1591 2012-03-22 Tony Chang <tony@chromium.org>
1593 refactor flexbox in preparation for flex-line-pack
1594 https://bugs.webkit.org/show_bug.cgi?id=81843
1596 Reviewed by Ojan Vafai.
1598 Replace WrapReverseContext with a vector of LineContexts that contain
1599 the same information, plus values needed for flex-align.
1601 alignChildren has been moved to after all the lines have been
1602 positioned. We want to align children after flex-line-pack has changed
1603 the size of each line to avoid unnecessary layouts.
1605 Take 2: Remove the assert. If there are no children, then there are no
1606 flex lines. Instead, assert that child is not null.
1608 No new tests, just refactoring.
1610 * rendering/RenderFlexibleBox.cpp:
1611 (WebCore::RenderFlexibleBox::LineContext::LineContext): New struct,
1612 holds information needed for wrap-reverse and aligning children.
1613 (RenderFlexibleBox::LineContext):
1614 (WebCore::RenderFlexibleBox::layoutFlexItems): alignChildren after layout out all the lines rather than after each line.
1615 (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): don't alignChildren
1616 (WebCore::RenderFlexibleBox::alignChildren): align all flex items, not just a line at a time.
1617 (WebCore::RenderFlexibleBox::flipForWrapReverse): Update to use LineContext
1618 * rendering/RenderFlexibleBox.h:
1620 2012-03-22 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1622 Event dispatching in XMLHttpRequestProgressEventThrottle should go through XMLHttpRequestProgressEventThrottle::dispatchEvent
1623 https://bugs.webkit.org/show_bug.cgi?id=46743
1625 Reviewed by Julien Chaffraix
1626 Based on original patch by Anton D'Auria
1628 In preparation for platform-specific queuing of XMLHttpRequest events,
1629 this patch changes all calls to m_target->dispatchEvent to
1630 XMLHttpRequestProgressEventThrottle::dispatchEvent.
1631 Currently, we queue only one progress event on suspend() if we have
1632 throttled progress events. We should be able to queue all XHR events
1633 that can be generated after suspend(), if the platform network layer
1634 continues to receive data.
1635 XMLHttpRequest uses XMLHttpRequestProgressEventThrottle to dispatch only
1636 download events, so this doesn't change behavior of upload events, which
1637 aren't throttled or queued.
1639 * xml/XMLHttpRequest.cpp:
1640 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1641 * xml/XMLHttpRequestProgressEventThrottle.cpp:
1642 (WebCore::XMLHttpRequestProgressEventThrottle::dispatchReadyStateChangeEvent):
1643 (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent):
1644 (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
1645 (WebCore::XMLHttpRequestProgressEventThrottle::dispatchPausedEvent):
1646 (WebCore::XMLHttpRequestProgressEventThrottle::fired):
1647 * xml/XMLHttpRequestProgressEventThrottle.h:
1648 (XMLHttpRequestProgressEventThrottle):
1650 2012-03-22 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
1652 [EFL] Map BackSpace key code to Unicode value
1653 https://bugs.webkit.org/show_bug.cgi?id=81130
1655 Reviewed by Gustavo Noronha Silva.
1657 Test: fast/events/backspace-navigates-back.html
1659 * platform/efl/EflKeyboardUtilities.cpp:
1660 (WebCore::createKeyMap): Map BackSpace to Unicode value
1662 2012-03-22 Abhishek Arya <inferno@chromium.org>
1664 Incorrect beforeChild parent calculation in RenderRubyBase::moveChildren.
1665 https://bugs.webkit.org/show_bug.cgi?id=80297
1667 Reviewed by Julien Chaffraix.
1669 beforeChild might share the same anonymous block parent with other previous
1670 siblings. Before moving the children across ruby bases, we need to make sure
1671 to split the tree across the beforeChild correctly.
1673 Test: fast/ruby/ruby-text-before-child-split.html
1675 * rendering/RenderRubyBase.cpp:
1676 (WebCore::RenderRubyBase::moveChildren):
1678 2012-03-22 Kristóf Kosztyó <kkristof@inf.u-szeged.hu>
1680 [Qt] Fix Qt minimal build after r111692
1682 Reviewed by Csaba Osztrogonác.
1684 * bindings/js/JSScriptProfileNodeCustom.cpp:
1686 2012-03-22 Adrienne Walker <enne@google.com>
1688 [chromium] Fix scrollbar layers holding onto invalid textures after lost context
1689 https://bugs.webkit.org/show_bug.cgi?id=81841
1691 Reviewed by James Robinson.
1693 Unit test: CCLayerTreeHostImplTest.scrollbarLayerLostContext
1695 * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
1696 (WebCore::CCScrollbarLayerImpl::willDraw):
1698 2012-03-22 Philippe Normand <pnormand@igalia.com>
1700 [GTK] ASSERT bug in WebAudio (AudioFileReader)
1701 https://bugs.webkit.org/show_bug.cgi?id=81777
1703 Reviewed by Martin Robinson.
1705 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1706 (WebCore::AudioFileReader::decodeAudioForBusCreation): Don't steal
1707 the GstBus floating reference.
1708 (WebCore::AudioFileReader::createBus): Ditto.
1710 2012-03-22 Ilya Tikhonovsky <loislo@chromium.org>
1712 Unreviewed: Web Inspector: fix syntax error in text.
1714 * English.lproj/localizedStrings.js:
1715 * inspector/front-end/HeapSnapshotProxy.js:
1716 (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
1718 2012-03-22 Sheriff Bot <webkit.review.bot@gmail.com>
1720 Unreviewed, rolling out r111688.
1721 http://trac.webkit.org/changeset/111688
1722 https://bugs.webkit.org/show_bug.cgi?id=81912
1724 "Heap profiler test fails" (Requested by yurys on #webkit).
1726 * inspector/front-end/HeapSnapshot.js:
1727 (WebInspector.HeapSnapshot.prototype._buildRetainers):
1729 2012-03-22 Dana Jansens <danakj@chromium.org>
1731 [chromium] Early out in a new prepareToDraw() step if checkerboarding an accelerated animation in order to skip the frame
1732 https://bugs.webkit.org/show_bug.cgi?id=81437
1734 Reviewed by Adrienne Walker.
1736 Split CCLayerTreeHostImpl::drawLayers() into two phases:
1737 prepareToDraw() and drawLayers().
1739 When calculating a RenderPass, and we checkerboard a quad on a
1740 layer, bubble this info back up to CCLayerTreeHostImpl. If the
1741 layer is transforming in an animation, then abort the prepareToDraw()
1742 phase and cause it to return false back to the thread proxy.
1744 Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
1746 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1747 (WebCore::CCLayerImpl::appendQuads):
1748 * platform/graphics/chromium/cc/CCLayerImpl.h:
1750 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1751 (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1752 (WebCore::CCLayerTreeHostImpl::prepareToDraw):
1754 (WebCore::CCLayerTreeHostImpl::drawLayers):
1755 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1756 (CCLayerTreeHostImpl):
1758 * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1759 (WebCore::CCQuadCuller::append):
1760 * platform/graphics/chromium/cc/CCQuadCuller.h:
1762 * platform/graphics/chromium/cc/CCRenderPass.cpp:
1763 (WebCore::CCRenderPass::appendQuadsForLayer):
1764 * platform/graphics/chromium/cc/CCRenderPass.h:
1766 * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
1767 (WebCore::CCScrollbarLayerImpl::appendQuads):
1768 * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
1769 (CCScrollbarLayerImpl):
1770 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1771 (WebCore::CCSingleThreadProxy::doComposite):
1772 * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
1773 (WebCore::CCSolidColorLayerImpl::appendQuads):
1774 * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
1775 (CCSolidColorLayerImpl):
1776 * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
1777 (WebCore::CCTextureLayerImpl::appendQuads):
1778 * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
1779 (CCTextureLayerImpl):
1780 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1781 (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
1782 * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1783 (WebCore::CCTiledLayerImpl::appendQuads):
1784 * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1786 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1787 (WebCore::CCVideoLayerImpl::appendQuads):
1788 * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
1791 2012-03-22 Levi Weintraub <leviw@chromium.org>
1793 Correct LayoutUnit usage in Accessibility code
1794 https://bugs.webkit.org/show_bug.cgi?id=81789
1796 Reviewed by Eric Seidel.
1798 Reverting Accessibility hit testing code back to integers. Accessibility hit tests originate from
1799 the embedder and don't accumulate offsets, so we get nothing from using LayoutUnits, and needlessly
1800 expose them to the embedder.
1802 No new tests. No change in behavior.
1804 * accessibility/AccessibilityListBox.cpp:
1805 (WebCore::AccessibilityListBox::elementAccessibilityHitTest): See above.
1806 * accessibility/AccessibilityListBox.h:
1807 (AccessibilityListBox):
1808 * accessibility/AccessibilityObject.cpp:
1809 (WebCore::AccessibilityObject::clickPoint): This value is only ever used to display a context menu,
1810 which is always done with integer coordinates.
1811 (WebCore::AccessibilityObject::boundingBoxForQuads): This is a bounding box built from floats. We
1812 don't pixel snap floats, so we return an integer bounding box.
1813 (WebCore::AccessibilityObject::elementAccessibilityHitTest): See above.
1814 (WebCore::AccessibilityObject::scrollToMakeVisible): Pixel snapping the bounding box and simplifying
1815 up the code to position it at (0,0).
1816 * accessibility/AccessibilityObject.h:
1817 (WebCore::AccessibilityObject::accessibilityHitTest): See above.
1818 (AccessibilityObject):
1819 (WebCore::AccessibilityObject::pixelSnappedBoundingBoxRect): Convenience method for embedder callers.
1820 * accessibility/AccessibilityRenderObject.cpp:
1821 (WebCore::AccessibilityRenderObject::visiblePositionForPoint): The point passed in here is comes from
1822 screen coordinates and originates in embedder code. Reverting it to take an integer.
1823 (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): See above.
1824 (WebCore::AccessibilityRenderObject::accessibilityHitTest): See above.
1825 * accessibility/AccessibilityRenderObject.h:
1826 (AccessibilityRenderObject):
1827 * accessibility/AccessibilityScrollView.cpp:
1828 (WebCore::AccessibilityScrollView::accessibilityHitTest): See above.
1829 * accessibility/AccessibilityScrollView.h:
1830 (AccessibilityScrollView):
1831 * accessibility/AccessibilitySlider.cpp:
1832 (WebCore::AccessibilitySlider::elementAccessibilityHitTest): See above.
1833 * accessibility/AccessibilitySlider.h:
1834 (AccessibilitySlider):
1836 2012-03-21 Ilya Tikhonovsky <loislo@chromium.org>
1838 Web Inspector: HeapProfiler: Heap snapshot worker has to report the errors to the front-end
1839 https://bugs.webkit.org/show_bug.cgi?id=81804
1841 Sometimes the worker process of HeapSnapshot does some wrong thing and throw an Exception.
1842 At this momemnt we have no way to see the error in the front-end.
1844 Reviewed by Yury Semikhatsky.
1846 * English.lproj/localizedStrings.js:
1847 * inspector/front-end/HeapSnapshotProxy.js: check the exception field and dump it into front-end's console.
1848 (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
1849 * inspector/front-end/HeapSnapshotWorkerDispatcher.js: catch the exception and transfer it's text to requester's side.
1850 (WebInspector.HeapSnapshotWorkerDispatcher.prototype.dispatchMessage):
1852 2012-03-22 Carlos Garcia Campos <cgarcia@bb-webkit-rel-64.local.igalia.com>
1854 [GTK] Use the angle-bracket form to include wtf headers
1855 https://bugs.webkit.org/show_bug.cgi?id=81884
1857 Reviewed by Eric Seidel.
1859 Use #include <wtf/foo> instead of #include "foo".
1861 * platform/graphics/freetype/FontPlatformData.h:
1862 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1863 * platform/gtk/DataObjectGtk.h:
1864 * platform/network/ResourceHandleInternal.h:
1865 * platform/network/soup/SocketStreamHandleSoup.cpp:
1867 2012-03-22 Alexander Pavlov <apavlov@chromium.org>
1869 Web Inspector: Case of the elements of the xml document should be shown as it is in the console
1870 https://bugs.webkit.org/show_bug.cgi?id=81902
1872 When registering a detached root, DOMAgent always presumes it is a node,
1873 while it can also be a document.
1875 Reviewed by Vsevolod Vlasov.
1877 Test: inspector/console/console-xml-document.html
1879 * inspector/front-end/ConsoleMessage.js:
1880 (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
1881 * inspector/front-end/DOMAgent.js:
1882 (WebInspector.DOMAgent.prototype._setDetachedRoot):
1884 2012-03-22 Vsevolod Vlasov <vsevik@chromium.org>
1886 Web Inspector: Introduce ScriptBound/ScriptUnbound events in ScriptMapping.
1887 https://bugs.webkit.org/show_bug.cgi?id=81904
1889 Reviewed by Pavel Feldman.
1891 This is another step on the way to cleaner BreakpointManager logic.
1892 Here we extract ScriptBound/ScriptUnbound events from UISourceCodeListChanged event.
1893 This allows us to handle script-uiSourceCode binding separately from
1894 uiSourceCode creation/deletion and to handle unbinding that was not
1895 possible at all before.
1897 * inspector/front-end/CompilerScriptMapping.js:
1898 (WebInspector.CompilerScriptMapping.prototype._uiSourceCodesForSourceMap):
1899 (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
1900 (WebInspector.CompilerScriptMapping.prototype.addScript):
1901 (WebInspector.CompilerScriptMapping.prototype.reset):
1902 * inspector/front-end/ResourceScriptMapping.js:
1903 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
1904 * inspector/front-end/ScriptMapping.js:
1905 (WebInspector.MainScriptMapping):
1906 (WebInspector.MainScriptMapping.prototype._updateLiveLocation):
1907 (WebInspector.MainScriptMapping.prototype._handleUISourceCodeListChanged):
1908 (WebInspector.MainScriptMapping.prototype._handleScriptBound):
1909 (WebInspector.MainScriptMapping.prototype._handleScriptUnbound):
1910 * inspector/front-end/SnippetsModel.js:
1911 (WebInspector.SnippetsScriptMapping.prototype.addScript.get this):
1912 (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
1913 (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
1914 (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
1915 (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):
1916 (WebInspector.SnippetsScriptMapping.prototype.reset):
1918 2012-03-22 Vineet Chaudhary <rgf748@motorola.com>
1920 https://bugs.webkit.org/show_bug.cgi?id=81893
1921 Remove custom bindings form ScriptProfileNode.idl of attribute type Array.
1923 Reviewed by Kentaro Hara.
1925 Replace [CustomGetter] Array with sequence<ScriptProfileNode>.
1926 To remove the custom bindings code.
1928 Test: No new tests. LayoutTests/fast/profiler/* test are enough for this.
1930 * bindings/js/JSScriptProfileNodeCustom.cpp: Removed custom function.
1931 (WebCore::JSScriptProfileNode::callUID):
1932 * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Removed custom function.
1934 * inspector/ScriptProfileNode.idl: Replaced Array with sequence<ScriptProfileNode>.
1936 2012-03-22 Andrey Kosyakov <caseq@chromium.org>
1938 Web Inspector: only update timeline overview categories strips when these are visible
1939 https://bugs.webkit.org/show_bug.cgi?id=81903
1941 Reviewed by Pavel Feldman.
1943 - factor out category strips update into a separate method;
1944 - only invoke it when "Timeline" overview mode is selected.
1946 * inspector/front-end/TimelineOverviewPane.js:
1947 (WebInspector.TimelineOverviewPane.prototype._showTimelines):
1948 (WebInspector.TimelineOverviewPane.prototype.update):
1949 (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
1951 2012-03-22 Levi Weintraub <leviw@chromium.org>
1953 Update LayoutUnit usage in FrameSelection
1954 https://bugs.webkit.org/show_bug.cgi?id=81754
1956 Reviewed by Eric Seidel.
1958 FrameSelection stores its caret and repaint bounds in absolute coordinates. Absolute coordinates
1959 we treat as pixel values, so this patch changes these values to integers. Sub-pixel precision
1960 will still be used when these coordinates are passed down and used locally.
1962 No new tests. No change in behavior.
1964 * editing/FrameSelection.cpp:
1965 (WebCore::absoluteCaretY): Uses absolute coordinates, which are ints.
1966 (WebCore::FrameSelection::modify): Uses absolute coordinates to handle vertical selection
1967 modification. Sub-pixel precision will be used when these values are converted to local ones.
1968 (WebCore::CaretBase::absoluteBoundsForLocalRect): Absolute coordinates -> ints.
1969 (WebCore::FrameSelection::absoluteCaretBounds): Ditto.
1970 (WebCore::CaretBase::caretRepaintRect): The caret repaint rect is stored in absolute coordinates.
1971 Reverting the values to ints.
1972 (WebCore::FrameSelection::recomputeCaretRect): Ditto.
1973 * editing/FrameSelection.h:
1975 * editing/mac/FrameSelectionMac.mm:
1976 (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): Switching to store absolute
1977 coordinates as integers.
1979 2012-03-22 Alexei Filippov <alexeif@chromium.org>
1981 Web Inspector: Speed up the build retainers phase.
1982 https://bugs.webkit.org/show_bug.cgi?id=81763
1984 Replacing the edge iterator with a raw loop makes it
1985 faster by more than 10 times.
1987 Reviewed by Yury Semikhatsky.
1989 * inspector/front-end/HeapSnapshot.js:
1990 (WebInspector.HeapSnapshot.prototype._buildRetainers):
1992 2012-03-22 No'am Rosenthal <noam.rosenthal@nokia.com>
1994 [Qt][WK2] The background appears to have one extra pixel from the contents
1995 https://bugs.webkit.org/show_bug.cgi?id=81830
1997 Reviewed by Kenneth Rohde Christiansen.
1999 TextureMapperGL applied a 1-offset that was covering for another bug,
2000 which was already fixed.
2002 No new tests, this would be tested once we test GL rendering results.
2004 * platform/graphics/texmap/TextureMapperGL.cpp:
2005 (WebCore::TextureMapperGLData::SharedGLData::scissorClip):
2007 2012-03-22 W. James MacLean <wjmaclean@chromium.org>
2009 Rename touchpad fling curve, add curve parameters to constructor.
2010 https://bugs.webkit.org/show_bug.cgi?id=81820
2012 Reviewed by Adrienne Walker.
2014 Covered by existing unit tests.
2016 * GNUmakefile.list.am:
2018 * platform/ScrollAnimatorNone.cpp:
2019 (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
2020 * platform/TouchpadFlingPlatformGestureCurve.cpp: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.cpp.
2022 (WebCore::TouchpadFlingPlatformGestureCurve::create):
2023 (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):
2024 (WebCore::TouchpadFlingPlatformGestureCurve::~TouchpadFlingPlatformGestureCurve):
2025 (WebCore::TouchpadFlingPlatformGestureCurve::apply):
2026 * platform/TouchpadFlingPlatformGestureCurve.h: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.h.
2028 (TouchpadFlingPlatformGestureCurve):
2030 2012-03-22 Pavel Feldman <pfeldman@chromium.org>
2032 Web Inspector: make CSS and JavaScript files editable by default.
2033 https://bugs.webkit.org/show_bug.cgi?id=81787
2035 Reviewed by Vsevolod Vlasov.
2037 This change removes cancelEditing and setReadOnly capabilities from source frame.
2038 It removes dblclick handler as well since one does not need to enter editing mode.
2039 It also establishes proper content dispatching so that views are updated with the
2040 resource content. All these are inter-dependent, need to be landed simultaneously.
2041 Drive-by follow up to the r111675 where range is modified prior to the exiting
2044 * inspector/front-end/JavaScriptSourceFrame.js:
2045 (WebInspector.JavaScriptSourceFrame):
2046 (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
2047 (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
2048 (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
2049 (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
2050 (WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
2051 * inspector/front-end/ResourceView.js:
2052 (WebInspector.ResourceSourceFrame):
2053 (WebInspector.ResourceSourceFrame.prototype.suggestedFileName):
2054 (WebInspector.ResourceSourceFrame.prototype._contentChanged):
2055 (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
2056 (WebInspector.EditableResourceSourceFrame.prototype.editContent.callbackWrapper):
2057 (WebInspector.EditableResourceSourceFrame.prototype.editContent):
2058 (WebInspector.EditableResourceSourceFrame.prototype._contentChanged):
2059 * inspector/front-end/ResourcesPanel.js:
2060 (WebInspector.ResourcesPanel.prototype._innerShowView):
2061 (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
2062 * inspector/front-end/ScriptsPanel.js:
2063 (WebInspector.ScriptsPanel.prototype.setScriptSourceIsDirty):
2064 * inspector/front-end/Settings.js:
2065 (WebInspector.ExperimentsSettings):
2066 * inspector/front-end/SourceFrame.js:
2067 (WebInspector.SourceFrame):
2068 (WebInspector.SourceFrame.prototype.wasShown):
2069 (WebInspector.SourceFrame.prototype.willHide):
2070 (WebInspector.SourceFrame.prototype.beforeTextChanged):
2071 (WebInspector.SourceFrame.prototype.setContent):
2072 (WebInspector.SourceFrame.prototype.commitEditing):
2073 (WebInspector.SourceFrame.prototype.didEditContent):
2074 (WebInspector.SourceFrame.prototype.editContent):
2075 * inspector/front-end/TextPrompt.js:
2076 (WebInspector.TextPrompt.prototype._startEditing):
2077 (WebInspector.TextPrompt.prototype._stopEditing):
2078 * inspector/front-end/TextViewer.js:
2079 (WebInspector.TextViewer):
2080 (WebInspector.TextViewer.prototype._registerShortcuts):
2081 (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
2083 2012-03-22 Allan Sandfeld Jensen <allan.jensen@nokia.com>
2085 [Qt] Enable FAST_MOBILE_SCROLLING when scrolling is delegated.
2086 https://bugs.webkit.org/show_bug.cgi?id=81889
2088 Reviewed by Kenneth Rohde Christiansen.
2090 On the Qt platform only enable the fast mobile scroll feature when scrolling is delegated.
2092 * rendering/RenderObject.cpp:
2093 (WebCore::RenderObject::styleWillChange):
2095 2012-03-22 Pavel Feldman <pfeldman@chromium.org>
2097 Web Inspector: dispatch styleSheetChanged event synchronously.
2098 https://bugs.webkit.org/show_bug.cgi?id=81892
2100 Reviewed by Vsevolod Vlasov.
2102 Today, backend generates stylesheet change event synchronously from within set* command.
2103 But CSSStyleModel defers its dispatching until the stylesheet content is available. This
2104 prevents us from ignoring update events from within commands that initiated those updates.
2106 This change makes stylesheet change event dispatch synchronously and delegates stylesheet
2107 content fetching to the event client.
2109 * inspector/front-end/CSSStyleModel.js:
2110 (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
2111 (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
2112 (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
2113 (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent.callbackWrapper):
2114 (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
2115 (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.callback):
2116 (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
2117 (WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged):
2119 2012-03-21 Ian Vollick <vollick@chromium.org>
2121 [chromium] timing functions are getting incorrectly applied for accelerated css transitions
2122 https://bugs.webkit.org/show_bug.cgi?id=81692
2124 Reviewed by Adrienne Walker.
2126 Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction
2128 * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2130 2012-03-22 Pavel Feldman <pfeldman@chromium.org>
2132 Web Inspector: allow on-hover popover while in edit mode.
2133 https://bugs.webkit.org/show_bug.cgi?id=81898
2135 Reviewed by Vsevolod Vlasov.
2137 This change allows popover while in-edit mode, hides it upon Esc. It also introduces anchorOverride
2138 concept in ObjectPopoverHelper that allows dynamically switching the anchor (say if we want to highlight anchor itself).
2140 * inspector/front-end/DetailedHeapshotView.js:
2141 * inspector/front-end/ElementsPanel.js:
2142 * inspector/front-end/JavaScriptSourceFrame.js:
2143 (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover.showObjectPopover):
2144 (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
2145 (WebInspector.JavaScriptSourceFrame.prototype._onKeyDown):
2146 * inspector/front-end/NetworkPanel.js:
2147 * inspector/front-end/ObjectPopoverHelper.js:
2148 (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
2149 (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
2150 * inspector/front-end/Popover.js:
2151 (WebInspector.PopoverHelper.prototype.isPopoverVisible):
2152 * inspector/front-end/TimelinePanel.js:
2154 2012-03-22 Pavel Feldman <pfeldman@chromium.org>
2156 Web Inspector: breakpoints should shift when line break is inserted in the middle of the line.
2157 https://bugs.webkit.org/show_bug.cgi?id=81896
2159 Reviewed by Vsevolod Vlasov.
2161 There is a bug that collapses selection prior to exiting change mode, we should never
2162 collapse edit area prior committing.
2164 * inspector/front-end/TextEditorModel.js:
2165 (WebInspector.TextEditorModel.endsWithBracketRegex.):
2166 * inspector/front-end/TextViewer.js:
2167 (WebInspector.TextViewer):
2168 (WebInspector.TextEditorMainPanel.prototype.highlightLine):
2169 (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.callback):
2170 (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
2172 2012-03-22 Zoltan Herczeg <zherczeg@webkit.org>
2174 Merge SVGImageBufferTools to SVGRenderingContext
2175 https://bugs.webkit.org/show_bug.cgi?id=81890
2177 Reviewed by Nikolas Zimmermann.
2179 Copy the code to SVGRenderingContext and delete
2180 SVGImageBufferTools[.cpp.h]. Update build systems,
2181 no functionality change. This is the first step
2182 towards making SVGImageBufferTools stageful.
2184 Existing tests cover this issue.
2187 * GNUmakefile.list.am:
2190 * WebCore.xcodeproj/project.pbxproj:
2191 * platform/graphics/filters/FETile.cpp:
2192 (WebCore::FETile::platformApplySoftware):
2193 * rendering/svg/RenderSVGAllInOne.cpp:
2194 * rendering/svg/RenderSVGInlineText.cpp:
2195 (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
2196 * rendering/svg/RenderSVGResourceClipper.cpp:
2197 (WebCore::RenderSVGResourceClipper::applyClippingToContext):
2198 (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
2199 * rendering/svg/RenderSVGResourceFilter.cpp:
2200 (WebCore::RenderSVGResourceFilter::applyResource):
2201 * rendering/svg/RenderSVGResourceGradient.cpp:
2202 (WebCore::createMaskAndSwapContextForTextGradient):
2203 (WebCore::clipToTextMask):
2204 * rendering/svg/RenderSVGResourceMasker.cpp:
2205 (WebCore::RenderSVGResourceMasker::applyResource):
2206 (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
2207 * rendering/svg/RenderSVGResourcePattern.cpp:
2208 (WebCore::RenderSVGResourcePattern::applyResource):
2209 (WebCore::RenderSVGResourcePattern::createTileImage):
2210 * rendering/svg/SVGImageBufferTools.cpp: Removed.
2211 * rendering/svg/SVGImageBufferTools.h: Removed.
2212 * rendering/svg/SVGInlineTextBox.cpp:
2213 * rendering/svg/SVGRenderingContext.cpp:
2214 (WebCore::currentContentTransformation):
2216 (WebCore::SVGRenderingContext::calculateTransformationToOutermostSVGCoordinateSystem):
2217 (WebCore::SVGRenderingContext::createImageBuffer):
2218 (WebCore::SVGRenderingContext::createImageBufferForPattern):
2219 (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
2220 (WebCore::SVGRenderingContext::clipToImageBuffer):
2221 (WebCore::SVGRenderingContext::clampedAbsoluteTargetRect):
2222 (WebCore::SVGRenderingContext::clampedAbsoluteSize):
2223 (WebCore::SVGRenderingContext::clear2DRotation):
2224 * rendering/svg/SVGRenderingContext.h:
2225 (SVGRenderingContext):
2226 (WebCore::SVGRenderingContext::calculateImageBufferRect):
2227 * svg/graphics/filters/SVGFEImage.cpp:
2228 (WebCore::FEImage::platformApplySoftware):
2230 2012-03-22 Hyowon Kim <hw1008.kim@samsung.com>
2232 [EFL] Add PageClientEfl to WebCoreSupport.
2233 https://bugs.webkit.org/show_bug.cgi?id=80748
2235 Reviewed by Noam Rosenthal.
2237 * platform/Widget.h: Use PageClientEfl as type for PlatformPageClient.
2239 * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2240 (WebCore::GraphicsContext3DPrivate::createSurface): Change the argument type.
2241 * plugins/efl/PluginViewEfl.cpp:
2242 (WebCore::PluginView::platformGetValue): Use PageClientEfl.
2244 2012-03-22 Kaustubh Atrawalkar <kaustubh@motorola.com>
2246 blur() on shadow host should work when a shadow host contains a focused element in its shadow DOM subtrees
2247 https://bugs.webkit.org/show_bug.cgi?id=81102
2249 Reviewed by Hajime Morita.
2251 This implementation will support blur for a focused element when its shadowHost's blur() is called.
2252 To achieve this Element::blur() function is modified to blur the focused node in it's treeScope.
2254 Test: fast/dom/shadow/shadow-root-blur.html
2257 (WebCore::Element::blur): Modified to blur current treeScope's focused node.
2259 (WebCore::ShadowRoot::activeElement): Rework for code sharing.
2260 * dom/TreeScope.cpp:
2261 (WebCore::TreeScope::focusedNode): Added new function to share code for getting focused node.
2263 (TreeScope): New function declartion.
2264 * html/HTMLDocument.cpp:
2265 (WebCore::HTMLDocument::activeElement): Rework for code sharing.
2267 2012-03-22 Vsevolod Vlasov <vsevik@chromium.org>
2269 Web Inspector: RawSourceCode does not need uiSourceCode lists because it never has more than one.
2270 https://bugs.webkit.org/show_bug.cgi?id=81894
2272 RawSourceCode never has more than one uiSourceCode, uiSourceCodeList
2273 are just remains of older implementation. This patch switches RawSourceCode
2274 and SourceMappings from uiSourceCodeList to uiSourceCode.
2276 Reviewed by Pavel Feldman.
2278 * inspector/front-end/RawSourceCode.js:
2279 (WebInspector.RawSourceCode.prototype.uiSourceCode):
2280 (WebInspector.RawSourceCode.prototype._saveSourceMapping):
2281 (WebInspector.RawSourceCode.SourceMapping.prototype.uiLocationToRawLocation):
2282 (WebInspector.RawSourceCode.SourceMapping.prototype.uiSourceCode):
2283 (WebInspector.RawSourceCode.PlainSourceMapping):
2284 (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
2285 (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
2286 (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiSourceCode):
2287 (WebInspector.RawSourceCode.FormattedSourceMapping):
2288 (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
2289 (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
2290 (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiSourceCode):
2291 * inspector/front-end/ResourceScriptMapping.js:
2292 (WebInspector.ResourceScriptMapping.prototype.uiSourceCodeList):
2293 (WebInspector.ResourceScriptMapping.prototype.addScript):
2294 (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged):
2295 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
2296 (WebInspector.ResourceScriptMapping.prototype.reset):
2298 2012-03-22 Mario Sanchez Prada <msanchez@igalia.com>
2300 [GTK] Fix the only remaining coding style issue in GTK accessibility code
2301 https://bugs.webkit.org/show_bug.cgi?id=81885
2303 Reviewed by Xan Lopez.
2305 Add needed extra line and remove an unneeded one.
2307 * accessibility/gtk/AccessibilityObjectAtk.cpp:
2309 2012-03-22 Kent Tamura <tkent@chromium.org>
2311 Expand RenderTextControlSingleLine::controlClipRect() to contain contentRect().
2312 https://bugs.webkit.org/show_bug.cgi?id=81866
2314 Reviewed by Hajime Morita.
2316 We need to expand the controlClipRect because the existing shadow
2317 tree of a text field can be wrapped by another shadow tree. e.g.
2319 A current situation:
2324 ┌────────────┐<input>'s border box
2330 Wrapped by another ShadowRoot:
2334 ┣ <shadow> represents the existing shadow tree
2335 ┃ ┗ container element
2336 ┗ D: an additional decoration element
2337 ┌────────────┐<input>'s border box
2339 ││container box │ D ││
2342 In this case, if we clip child renderers by container box, D is not
2343 drawn. We should clip by the content box of the <input>.
2345 A search field has an exceptional behavior. It can have the container
2346 box of which height is taller than the content box height. The
2347 controlClipRect should contain both of the container box and the content
2348 box in this case. In other cases, the container box is equivalent to the
2349 content box. So the code always unites them.
2351 No new tests. This won't make any behavior change for now.
2353 * rendering/RenderTextControlSingleLine.cpp:
2354 (WebCore::RenderTextControlSingleLine::controlClipRect):
2356 2012-03-22 Yoshifumi Inoue <yosin@chromium.org>
2358 [Forms] The option element should not be form associated element.
2359 https://bugs.webkit.org/show_bug.cgi?id=79764
2361 Reviewed by Kent Tamura.
2363 This patch changes base class of HTMLOptionELement to HTMLElement
2364 from HTMLFormControlElement for saving memory space and iteration
2365 time of extra "option" elements in HTMLFormElement::m_formAssociatedElements
2366 and matching the HTML5 specification for ease of maintenance.
2368 This patch changes behavior of handling of CSS pseudo classes "invalid"
2369 and "valid". The "option" elements no longer use these CSS pseudo classes
2370 as HTML5 specification. This bug was filed in https://bugs.webkit.org/show_bug.cgi?id=80088
2372 Changes of TextIterator is lead by usage of isFormControlElement. This
2373 changes will be replaced with more meaningful predicate as part of
2374 https://bugs.webkit.org/show_bug.cgi?id=80381
2376 No new tests but updated select-live-pseudo-selectors.html test.
2378 * css/CSSStyleSelector.cpp:
2379 (WebCore::CSSStyleSelector::canShareStyleWithElement): Added checking of the "option" element and returns false as HTMLFormControlElement.
2380 * css/SelectorChecker.cpp:
2381 (WebCore::SelectorChecker::checkOneSelector): Removed isFormControlElement for PseudoDisabled and PseudoChecked.
2382 * html/HTMLKeygenElement.cpp:
2383 (WebCore::HTMLKeygenElement::HTMLKeygenElement): Removed form parameter of call site of HTMLOptionElement::create.
2384 * html/HTMLOptionElement.cpp:
2385 (WebCore::HTMLOptionElement::HTMLOptionElement): Removed form parameter which no longer needed. Changed base class in initialization list. Added m_disabled initialization.
2386 (WebCore::HTMLOptionElement::create): Removed form parameter which no longer needed.
2387 (WebCore::HTMLOptionElement::attach): Changeid base class.
2388 (WebCore::HTMLOptionElement::detach): Changed base class.
2389 (WebCore::HTMLOptionElement::parseAttribute): Changed base class. Added "disabled" attribute handling.
2390 (WebCore::HTMLOptionElement::childrenChanged): Changed base class.
2391 (WebCore::HTMLOptionElement::insertedIntoTree): Changed base class.
2392 * html/HTMLOptionElement.h:
2393 (HTMLOptionElement): Added new member variable m_disabled which was in HTMLFormControlElement.
2394 (WebCore::HTMLOptionElement::ownElementDisabled): Changed for using m_disabled.
2395 * html/HTMLTagNames.in: Removed constructorNeedsFormElement for the "option" element, which was used for passing form parameter to create function.
2397 2012-03-21 Pavel Podivilov <podivilov@chromium.org>
2399 Web Inspector: rename ClosureCompilerSourceMapping to SourceMapParser and move it to CompilerScriptMapping.js.
2400 https://bugs.webkit.org/show_bug.cgi?id=81780
2402 Reviewed by Pavel Feldman.
2405 * WebCore.vcproj/WebCore.vcproj:
2406 * inspector/compile-front-end.py:
2407 * inspector/front-end/CompilerScriptMapping.js:
2408 (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
2409 (WebInspector.SourceMapParserPayload):
2410 (WebInspector.SourceMapParser):
2411 (WebInspector.SourceMapParser.prototype.load):
2412 (WebInspector.SourceMapParser.prototype.compiledLocationToSourceLocation):
2413 (WebInspector.SourceMapParser.prototype.sourceLocationToCompiledLocation):
2414 (WebInspector.SourceMapParser.prototype.sources):
2415 (WebInspector.SourceMapParser.prototype.loadSourceCode):
2416 (WebInspector.SourceMapParser.prototype._findMapping):
2417 (WebInspector.SourceMapParser.prototype._parseMappingPayload):
2418 (WebInspector.SourceMapParser.prototype._parseSections):
2419 (WebInspector.SourceMapParser.prototype._parseMap):
2420 (WebInspector.SourceMapParser.prototype._isSeparator):
2421 (WebInspector.SourceMapParser.prototype._decodeVLQ):
2422 (WebInspector.SourceMapParser.prototype._canonicalizeURL):
2423 (WebInspector.SourceMapParser.StringCharIterator):
2424 (WebInspector.SourceMapParser.StringCharIterator.prototype.next):
2425 (WebInspector.SourceMapParser.StringCharIterator.prototype.peek):
2426 (WebInspector.SourceMapParser.StringCharIterator.prototype.hasNext):
2427 * inspector/front-end/CompilerSourceMapping.js: Removed.
2428 * inspector/front-end/WebKit.qrc:
2429 * inspector/front-end/inspector.html:
2431 2012-03-21 Vsevolod Vlasov <vsevik@chromium.org>
2433 Web Inspector: IndexedDB transaction is not closed when requesting data.
2434 https://bugs.webkit.org/show_bug.cgi?id=81837
2436 Reviewed by Pavel Feldman.
2438 * inspector/InspectorIndexedDBAgent.cpp: Added missing IDBCursorBackendInterface::postSuccessHandlerCallback() call.
2441 2012-03-21 Yury Semikhatsky <yurys@chromium.org>
2443 Web Inspector: event listeners section is broken for about:blank page
2444 https://bugs.webkit.org/show_bug.cgi?id=81795
2446 Parse about:blank as a valid URL.
2448 Reviewed by Pavel Feldman.
2450 Test: inspector/elements/event-listeners-about-blank.html
2452 * inspector/front-end/utilities.js:
2453 (String.prototype.asParsedURL):
2455 2012-03-21 Dan Bernstein <mitz@apple.com>
2457 REGRESSION (r111635): Assertion failure in RenderFlexibleBox::layoutFlexItems() (!lineContexts.size()) in many flexbox tests
2458 https://bugs.webkit.org/show_bug.cgi?id=81870
2460 Reverted r111635, the fix for bug 81843.
2462 * rendering/RenderFlexibleBox.cpp:
2463 (WebCore::RenderFlexibleBox::WrapReverseContext::WrapReverseContext):
2464 (WebCore::RenderFlexibleBox::WrapReverseContext::addCrossAxisOffset):
2465 (RenderFlexibleBox::WrapReverseContext):
2466 (WebCore::RenderFlexibleBox::WrapReverseContext::addNumberOfChildrenOnLine):
2467 (WebCore::RenderFlexibleBox::WrapReverseContext::lineCrossAxisDelta):
2468 (WebCore::RenderFlexibleBox::layoutFlexItems):
2469 (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
2470 (WebCore::RenderFlexibleBox::alignChildren):
2471 (WebCore::RenderFlexibleBox::flipForWrapReverse):
2472 * rendering/RenderFlexibleBox.h:
2474 2012-03-21 Emil A Eklund <eae@chromium.org>
2476 Unreviewed change touching CustomFilterProgram.h to try
2477 to force the chromium-win bots to rebuilt it and pick up
2478 on the fact that CSS_SHADERS is not set (since r111610).
2480 * platform/graphics/filters/CustomFilterProgram.h:
2482 2012-03-21 Vangelis Kokkevis <vangelis@chromium.org>
2484 [chromium] FPS counter causes garbage to be displayed at top left corner
2485 https://bugs.webkit.org/show_bug.cgi?id=81851
2487 The HUD expects the PlatformCanvas it paints on to be cleared on creation which is
2488 no longer true after http://src.chromium.org/viewvc/chrome?view=rev&revision=127196 .
2489 This patch does an explicit clearRect before the HUD contents are painted.
2491 Reviewed by Adrienne Walker.
2493 TEST=Manually verified that --show-fps-counter and --show-composited-layer-tree work correctly.
2495 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2496 (WebCore::CCHeadsUpDisplay::draw):
2498 2012-03-21 Ryosuke Niwa <rniwa@webkit.org>
2500 Touch a file to make Chromium Windows bots happy.
2502 * css/CSSValueKeywords.in:
2504 2012-03-19 Igor Oliveira <igor.o@sisa.samsung.com>
2506 Every call to RenderObject::setAnimatableStyle() iterates through all m_compositeAnimations: potentially O(N^2)
2507 https://bugs.webkit.org/show_bug.cgi?id=38025
2509 Implement updateAnimationTimerForRender. This reduces unnecessary animation
2510 steps on the current RenderObject by checking the value of timeToNextService
2511 before starting a new timer.
2513 Reviewed by Dean Jackson.
2515 Test: animations/animation-welcome-safari.html
2517 * page/animation/AnimationController.cpp:
2518 (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
2520 (WebCore::AnimationController::updateAnimations):
2521 * page/animation/AnimationControllerPrivate.h:
2522 (AnimationControllerPrivate):
2524 2012-03-21 Sheriff Bot <webkit.review.bot@gmail.com>
2526 Unreviewed, rolling out r111616.
2527 http://trac.webkit.org/changeset/111616
2528 https://bugs.webkit.org/show_bug.cgi?id=81862
2530 broke chromium mac (Requested by eae on #webkit).
2532 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2533 (WebCore::CCLayerImpl::appendQuads):
2534 * platform/graphics/chromium/cc/CCLayerImpl.h:
2536 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2537 (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2538 (WebCore::CCLayerTreeHostImpl::drawLayers):
2539 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2540 (CCLayerTreeHostImpl):
2541 * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2542 (WebCore::CCQuadCuller::append):
2543 * platform/graphics/chromium/cc/CCQuadCuller.h:
2545 * platform/graphics/chromium/cc/CCRenderPass.cpp:
2546 (WebCore::CCRenderPass::appendQuadsForLayer):
2547 * platform/graphics/chromium/cc/CCRenderPass.h:
2549 * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2550 (WebCore::CCScrollbarLayerImpl::appendQuads):
2551 * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2552 (CCScrollbarLayerImpl):
2553 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2554 (WebCore::CCSingleThreadProxy::doComposite):
2555 * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
2556 (WebCore::CCSolidColorLayerImpl::appendQuads):
2557 * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
2558 (CCSolidColorLayerImpl):
2559 * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
2560 (WebCore::CCTextureLayerImpl::appendQuads):
2561 * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
2562 (CCTextureLayerImpl):
2563 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2564 (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
2565 * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2566 (WebCore::CCTiledLayerImpl::appendQuads):
2567 * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2569 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2570 (WebCore::CCVideoLayerImpl::appendQuads):
2571 * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2574 2012-03-21 Beth Dakin <bdakin@apple.com>
2576 https://bugs.webkit.org/show_bug.cgi?id=80322
2579 Reviewed by Dean Jackson.
2581 This initial implementation of -webkit-image-set.
2582 http://lists.w3.org/Archives/Public/www-style/2012Feb/1103.html
2583 The idea behind the feature is to allow authors to provide multiple variants
2584 of the same image at differing resolutions, and to allow the User Agent to
2585 choose the resource that is most appropriate at the time. This patch will
2586 choose the most appropriate image based on device scale factor.
2588 CSSImageSetValue inherits from CSSValueList and behaves a lot like
2590 * WebCore.xcodeproj/project.pbxproj:
2591 * css/CSSImageSetValue.h: Added.
2594 (WebCore::CSSImageSetValue::create):
2595 (WebCore::CSSImageSetValue::isPending):
2597 (WebCore::CSSImageSetValue::compareByScaleFactor):
2598 * css/CSSImageSetValue.cpp: Added.
2600 (WebCore::CSSImageSetValue::CSSImageSetValue):
2601 (WebCore::CSSImageSetValue::~CSSImageSetValue):
2602 (WebCore::CSSImageSetValue::cachedOrPendingImageSet):
2603 (WebCore::CSSImageSetValue::customCssText):
2605 fillImageSet() iterates through the value list and turns the information into
2606 a sorted Vector of ImageWithScales (which is a struct containing image URLs
2608 (WebCore::CSSImageSetValue::fillImageSet):
2610 cachedImageSet() finds which image is most appropriate based on the device
2611 scale factor, and it loads only that image. In the future, additional scale
2612 factors will be taken into account.
2613 (WebCore::CSSImageSetValue::bestImageForScaleFactor):
2614 (WebCore::CSSImageSetValue::cachedImageSet):
2616 parseImageSet() is called everywhere in the CSSParser that a regular image or
2617 generated image can be found.
2618 * css/CSSParser.cpp:
2619 (WebCore::CSSParser::parseValue):
2620 (WebCore::CSSParser::parseContent):
2621 (WebCore::CSSParser::parseFillImage):
2622 (WebCore::CSSParser::parseBorderImage):
2624 (WebCore::CSSParser::parseImageSet):
2627 Since CSSImageSetValue is implemented as a value list,
2628 ApplyPropertyFillLayer::applyValue() needs to be more specific when it's
2629 looking for a list of multiple URLs.
2630 * css/CSSStyleApplyProperty.cpp:
2631 (WebCore::ApplyPropertyFillLayer::applyValue):
2633 Handle image-set as a valid image value.
2634 * css/CSSStyleSelector.cpp:
2635 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2636 * css/CSSStyleSelector.h:
2639 (WebCore::CSSValue::cssText):
2640 (WebCore::CSSValue::destroy):
2643 (WebCore::CSSValue::isImageSetValue):
2645 computeIntrinsicDimensions() now takes an optional scaleFactor parameter that represents the author-enforced "intrinsic" scale factor of the image.
2646 * loader/cache/CachedImage.cpp:
2647 (WebCore::CachedImage::computeIntrinsicDimensions):
2648 * loader/cache/CachedImage.h:
2650 * platform/graphics/GeneratedImage.h:
2652 * platform/graphics/GeneratorGeneratedImage.cpp:
2653 (WebCore::GeneratedImage::computeIntrinsicDimensions):
2654 * platform/graphics/Image.cpp:
2655 (WebCore::Image::computeIntrinsicDimensions):
2656 * platform/graphics/Image.h:
2658 * platform/graphics/cg/PDFDocumentImage.cpp:
2659 (WebCore::PDFDocumentImage::computeIntrinsicDimensions):
2660 * platform/graphics/cg/PDFDocumentImage.h:
2662 * svg/graphics/SVGImage.cpp:
2663 (WebCore::SVGImage::computeIntrinsicDimensions):
2664 * svg/graphics/SVGImage.h:
2667 Inherits from StyleImage and returns a scaled size for imageSize() and
2668 computeIntrinsicDimensions().
2669 * rendering/style/StyleCachedImageSet.cpp: Added.
2671 (WebCore::StyleCachedImageSet::StyleCachedImageSet):
2672 (WebCore::StyleCachedImageSet::cssValue):
2673 (WebCore::StyleCachedImageSet::canRender):
2674 (WebCore::StyleCachedImageSet::isLoaded):
2675 (WebCore::StyleCachedImageSet::errorOccurred):
2676 (WebCore::StyleCachedImageSet::imageSize):
2677 (WebCore::StyleCachedImageSet::imageHasRelativeWidth):
2678 (WebCore::StyleCachedImageSet::imageHasRelativeHeight):
2679 (WebCore::StyleCachedImageSet::computeIntrinsicDimensions):
2680 (WebCore::StyleCachedImageSet::usesImageContainerSize):
2681 (WebCore::StyleCachedImageSet::setContainerSizeForRenderer):
2682 (WebCore::StyleCachedImageSet::addClient):
2683 (WebCore::StyleCachedImageSet::removeClient):
2684 (WebCore::StyleCachedImageSet::image):
2685 * rendering/style/StyleCachedImageSet.h: Added.
2687 (StyleCachedImageSet):
2688 (WebCore::StyleCachedImageSet::create):
2689 (WebCore::StyleCachedImageSet::data):
2690 (WebCore::StyleCachedImageSet::cachedImage):
2693 * rendering/style/StyleImage.h:
2694 (WebCore::StyleImage::isCachedImageSet):
2695 (WebCore::StyleImage::StyleImage):
2697 * rendering/style/StylePendingImage.h:
2698 (StylePendingImage):
2699 (WebCore::StylePendingImage::cssImageSetValue):
2701 2012-03-21 David Barton <dbarton@mathscribe.com>
2703 MathML internals - improve naming in RenderMathMLSquareRoot.cpp and RenderMathMLRoot.cpp
2704 https://bugs.webkit.org/show_bug.cgi?id=81850
2706 Reviewed by Eric Seidel.
2708 This prepares these files for bug fixes, and eventually combining their common code. To
2709 understand this patch, I suggest you start with RenderMathMLSquareRoot.cpp, as it's
2710 simpler than RenderMathMLRoot.cpp.
2712 No new tests. LayoutTests/mathml/presentation/roots.xhtml is thorough enough for this.
2714 * rendering/mathml/RenderMathMLRoot.cpp:
2716 (WebCore::RenderMathMLRoot::addChild):
2717 (WebCore::RenderMathMLRoot::paint):
2718 (WebCore::RenderMathMLRoot::layout):
2719 * rendering/mathml/RenderMathMLRoot.h:
2722 * rendering/mathml/RenderMathMLSquareRoot.cpp:
2724 (WebCore::RenderMathMLSquareRoot::paint):
2725 (WebCore::RenderMathMLSquareRoot::layout):
2726 * rendering/mathml/RenderMathMLSquareRoot.h:
2728 (RenderMathMLSquareRoot):
2729 * rendering/mathml/RenderMathMLSubSup.h:
2732 2012-03-21 Tony Chang <tony@chromium.org>
2734 refactor flexbox in preparation for flex-line-pack
2735 https://bugs.webkit.org/show_bug.cgi?id=81843
2737 Reviewed by Ojan Vafai.
2739 Replace WrapReverseContext with a vector of LineContexts that contain
2740 the same information, plus values needed for flex-align.
2742 alignChildren has been moved to after all the lines have been
2743 positioned. We want to align children after flex-line-pack has changed
2744 the size of each line to avoid unnecessary layouts.
2746 No new tests, just refactoring.
2748 * rendering/RenderFlexibleBox.cpp:
2749 (WebCore::RenderFlexibleBox::LineContext::LineContext): New struct,
2750 holds information needed for wrap-reverse and aligning children.
2751 (RenderFlexibleBox::LineContext):
2752 (WebCore::RenderFlexibleBox::layoutFlexItems): alignChildren after layout out all the lines rather than after each line.
2753 (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): don't alignChildren
2754 (WebCore::RenderFlexibleBox::alignChildren): align all flex items, not just a line at a time.
2755 (WebCore::RenderFlexibleBox::flipForWrapReverse): Update to use LineContext
2756 * rendering/RenderFlexibleBox.h:
2758 2012-03-21 Ryosuke Niwa <rniwa@webkit.org>
2760 BDI element should have dir=auto by default
2761 https://bugs.webkit.org/show_bug.cgi?id=68773
2763 Reviewed by Daniel Bates.
2765 Treat bdi elements without dir content attribute as if they have dir=auto per spec:
2766 http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-bdi-element
2768 The patch tries to encapsulate the logic to look for dir content attribute and dir=auto.
2770 It also adds HTMLBDIElement interface (binding remains to use HTMLElement) to set
2771 selfOrAncestorHasDirAutoAttribute flag true by default, which is used by functions like
2772 directionalityIfhasDirAutoAttribute to look for elements with dir=auto. Since dir=auto-ness of bdi
2773 elements can be overridden by dir content attribute, we must change and only change the default value.
2775 Tests: fast/text/international/bdi-dir-default-to-auto-expected.html
2776 fast/text/international/bdi-dir-default-to-auto.html
2778 * GNUmakefile.list.am:
2781 * WebCore.vcproj/WebCore.vcproj:
2782 * WebCore.xcodeproj/project.pbxproj:
2783 * css/CSSStyleSelector.cpp:
2784 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2785 * html/HTMLBDIElement.h: Added.
2788 (WebCore::HTMLBDIElement::create):
2789 (WebCore::HTMLBDIElement::HTMLBDIElement): Sets selfOrAncestorHasDirAutoAttribute to true because
2790 bdi elements are treated as if it has dir=auto by default.
2791 * html/HTMLElement.cpp:
2792 (WebCore::elementAffectsDirectionality): Added. Checks if the specified element is bdi or
2793 has dir content attribute.
2795 (WebCore::setHasDirAutoFlagRecursively):
2796 (WebCore::HTMLElement::hasDirectionAuto): Added. Checks if the specified element should be treated
2797 as if it has dir=auto (bdi or element with dir=auto).
2798 (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
2799 (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
2800 (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
2801 * html/HTMLElement.h:
2803 * html/HTMLTagNames.in: Use HTMLBDIElement instead of HTMLElement for constructing bdi element
2804 to set selfOrAncestorHasDirAutoAttribute true but still use HTMLElement for binding.
2806 2012-03-21 Luke Macpherson <macpherson@chromium.org>
2808 Use CSSPrimitiveValue::convertToLength() in a few places.
2809 https://bugs.webkit.org/show_bug.cgi?id=81492
2811 Reviewed by Eric Seidel.
2813 No new tests - refactoring only.
2815 CSSPrimitiveValue::convertToLength() provides the same functionality that is duplicated
2816 in many places in CSSStyleSelector. This patch removes some of that code duplication.
2818 * css/CSSStyleApplyProperty.cpp:
2819 (WebCore::ApplyPropertyVerticalAlign::applyValue):
2820 * css/CSSStyleSelector.cpp:
2821 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2823 2012-03-21 Patrick Gansterer <paroga@webkit.org>
2825 Build fix for ENABLE(SVG) && !ENABLE(FILTERS) after r111601.
2827 * rendering/svg/RenderSVGRoot.cpp:
2829 2012-03-21 Patrick Gansterer <paroga@webkit.org>
2831 Build fix for !ENABLE(INSPECTOR) after r104831.
2833 * bindings/js/ScriptDebugServer.cpp:
2834 (WebCore::ScriptDebugServer::dispatchDidParseSource):
2836 2012-03-21 Xiaomei Ji <xji@chromium.org>
2838 visual word movement: using cache to decrease the number of collectLeafBoxesInLogicalOrder on RootInlineBox
2839 https://bugs.webkit.org/show_bug.cgi?id=81408
2841 Reviewed by Ryosuke Niwa.
2843 Cache logically ordered leaf boxes under a particular root box.
2844 Also, move 'Vector<UChar, 1024> string' declared in visualWordPosition() to outside of loop (it is always
2845 clear-ed before use).
2847 * editing/visible_units.cpp:
2848 (CachedLogicallyOrderedLeafBoxes): Add class to cache logically ordered leaf boxes under a particular root box.
2849 (WebCore::CachedLogicallyOrderedLeafBoxes::size):
2850 (WebCore::CachedLogicallyOrderedLeafBoxes::firstBox):
2852 (WebCore::CachedLogicallyOrderedLeafBoxes::CachedLogicallyOrderedLeafBoxes):
2853 (WebCore::CachedLogicallyOrderedLeafBoxes::previousTextBox):
2854 (WebCore::CachedLogicallyOrderedLeafBoxes::nextTextBox):
2855 (WebCore::CachedLogicallyOrderedLeafBoxes::collectBoxes):
2856 (WebCore::CachedLogicallyOrderedLeafBoxes::boxIndexInLeaves):
2857 (WebCore::logicallyPreviousBox): Pass CachedLogicallyOrderedLeafBoxes object around.
2858 (WebCore::logicallyNextBox):
2859 (WebCore::wordBreakIteratorForMinOffsetBoundary):
2860 (WebCore::wordBreakIteratorForMaxOffsetBoundary):
2861 (WebCore::visualWordPosition):
2863 2012-03-21 Dana Jansens <danakj@chromium.org>
2865 [chromium] Early out in a new prepareToDraw() step if checkerboarding an accelerated animation in order to skip the frame
2866 https://bugs.webkit.org/show_bug.cgi?id=81437
2868 Reviewed by Adrienne Walker.
2870 Split CCLayerTreeHostImpl::drawLayers() into two phases:
2871 prepareToDraw() and drawLayers().
2873 When calculating a RenderPass, and we checkerboard a quad on a
2874 layer, bubble this info back up to CCLayerTreeHostImpl. If the
2875 layer is transforming in an animation, then abort the prepareToDraw()
2876 phase and cause it to return false back to the thread proxy.
2878 Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
2880 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2881 (WebCore::CCLayerImpl::appendQuads):
2882 * platform/graphics/chromium/cc/CCLayerImpl.h:
2884 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2885 (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2886 (WebCore::CCLayerTreeHostImpl::prepareToDraw):
2888 (WebCore::CCLayerTreeHostImpl::drawLayers):
2889 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2890 (CCLayerTreeHostImpl):
2892 * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2893 (WebCore::CCQuadCuller::append):
2894 * platform/graphics/chromium/cc/CCQuadCuller.h:
2896 * platform/graphics/chromium/cc/CCRenderPass.cpp:
2897 (WebCore::CCRenderPass::appendQuadsForLayer):
2898 * platform/graphics/chromium/cc/CCRenderPass.h:
2900 * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2901 (WebCore::CCScrollbarLayerImpl::appendQuads):
2902 * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2903 (CCScrollbarLayerImpl):
2904 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2905 (WebCore::CCSingleThreadProxy::doComposite):
2906 * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
2907 (WebCore::CCSolidColorLayerImpl::appendQuads):
2908 * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
2909 (CCSolidColorLayerImpl):
2910 * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
2911 (WebCore::CCTextureLayerImpl::appendQuads):
2912 * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
2913 (CCTextureLayerImpl):
2914 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2915 (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
2916 * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2917 (WebCore::CCTiledLayerImpl::appendQuads):
2918 * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2920 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2921 (WebCore::CCVideoLayerImpl::appendQuads):
2922 * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2925 2012-03-21 Enrica Casucci <enrica@apple.com>
2927 WebKitURLWithTitles pasteboard format should support URLs containing Emoji characters.
2928 https://bugs.webkit.org/show_bug.cgi?id=81835
2929 <rdar://problem/11082749>
2931 Reviewed by Brady Eidson.
2933 When writing the URL in the pasteboard for the WebURLWithTitles format,
2934 we use the user visible string instead of the original URL.
2935 In case of URL with Unicode characters, we lose the encoding.
2937 Added TestWebKitAPI test.
2939 * platform/mac/PasteboardMac.mm:
2940 (WebCore::writeURLForTypes): Writes to the pasteboard the original URL.
2942 2012-03-21 Levi Weintraub <leviw@chromium.org>
2944 Correct LayoutUnit usage in VisiblePosition.cpp
2945 https://bugs.webkit.org/show_bug.cgi?id=81775
2947 Reviewed by Eric Seidel.
2949 Correcting a mismatch between the .h and .cpp for the definition of localCaretRect,
2950 and properly using LayoutUnits for local coordinates.
2952 No new tests. No change in behavior.
2954 * editing/VisiblePosition.cpp:
2955 (WebCore::VisiblePosition::localCaretRect): Switching to return a LayoutRect, as in the
2956 header. Local coordinates are in LayoutUnits.
2957 (WebCore::VisiblePosition::absoluteCaretBounds): Using LayoutRect for the localCaretRect.
2958 (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation): Ditto.
2960 2012-03-21 Adam Klein <adamk@chromium.org>
2962 "this" argument for MutationCallbacks should be the MutationObserver
2963 https://bugs.webkit.org/show_bug.cgi?id=81712
2965 Reviewed by Adam Barth.
2967 Test: fast/mutation/callback-arguments.html
2969 * bindings/js/JSCallbackData.cpp:
2970 (WebCore::JSCallbackData::invokeCallback): Add an overload that takes
2971 an explicit this argument and have the old method call the new one.
2972 * bindings/js/JSCallbackData.h:
2974 * bindings/js/JSMutationCallbackCustom.cpp:
2975 (WebCore::JSMutationCallback::handleEvent): Call the new overload.
2976 * bindings/v8/custom/V8CustomVoidCallback.cpp:
2977 (WebCore::invokeCallback): Add an overload that takes an explicit this
2978 argument and have the old method call the new one.
2979 * bindings/v8/custom/V8CustomVoidCallback.h:
2981 * bindings/v8/custom/V8MutationCallbackCustom.cpp:
2982 (WebCore::V8MutationCallback::handleEvent): Call the new overload.
2984 2012-03-21 Alexandru Chiculita <achicu@adobe.com>
2986 [CSS Shaders] Make CSS Shaders compile on Chromium
2987 https://bugs.webkit.org/show_bug.cgi?id=81435
2989 Reviewed by Stephen White.
2991 This patch enables the CSS Shaders compile time flag, but keeps the runtime flag disabled.
2992 The only way to test the functionality now is to use the overridePreference from dump render tree.
2994 Also part of this patch I fix a layering violation: I removed the "Document" reference from the FECustomFilter.cpp and passed the
2995 HostWindow directly. There should be no problem when the HostWindow changes, because the RenderLayer and the FECustomFilter
2996 get recreated anyway.
2998 No new tests. I've updated the existing custom filter tests to run under Chromium and added the expected results.
2999 I've just added window.layoutTestController.overridePreference("WebKitCSSCustomFilterEnabled", "1") to force
3000 enable the feature at runtime.
3002 * loader/cache/CachedResource.cpp: Made CachedResource::ShaderResource report as ResourceRequest::TargetIsSubresource for Chromium.
3003 (WebCore::cachedResourceTypeToTargetType):
3005 * platform/graphics/filters/FECustomFilter.cpp:
3006 (WebCore::FECustomFilter::FECustomFilter): Removed Document and just used the HostWindow directly.
3007 (WebCore::FECustomFilter::create):
3008 (WebCore::FECustomFilter::initializeContext):
3009 (WebCore::FECustomFilter::bindVertexAttribute): There was a typo and instead of using the "size" parameter it always used 4 component attribute.
3010 Other drivers didn't complain about it, but it was clearly a bug.
3011 (WebCore::FECustomFilter::bindProgramAndBuffers): Reading the image back from GPU will flip vertically the framebuffer in Chromium. I've flipped the
3012 projection matrix only on Chromium, so that we get the correct result.
3014 * rendering/FilterEffectRenderer.cpp:
3015 (WebCore::FilterEffectRenderer::build): Passing the HostWindow instead of the Document.
3017 2012-03-21 Mark Pilgrim <pilgrim@chromium.org>
3019 Realphabetize about webaudio move
3020 https://bugs.webkit.org/show_bug.cgi?id=81825
3022 Reviewed by Adam Barth.
3024 No new tests, all existing tests pass.
3028 2012-03-21 Anders Carlsson <andersca@apple.com>
3030 Evict tiles from pages in background tabs
3031 https://bugs.webkit.org/show_bug.cgi?id=81829
3032 <rdar://problem/10866152>
3034 Reviewed by Andreas Kling.
3036 When the tile cache for a page is no longer in a window (which happens when it's moved to
3037 a background tab), schedule a tile revalidation after 4 seconds. This tile revalidation
3038 will ensure that tiles outside of the visible rect will be dropped.
3040 * platform/graphics/ca/mac/TileCache.h:
3042 * platform/graphics/ca/mac/TileCache.mm:
3043 (WebCore::TileCache::tileCacheLayerBoundsChanged):
3044 (WebCore::TileCache::setIsInWindow):
3045 (WebCore::TileCache::tileCoverageRect):
3047 (WebCore::TileCache::scheduleTileRevalidation):
3048 (WebCore::TileCache::revalidateTiles):
3050 2012-03-21 Stephen Chenney <schenney@chromium.org>
3052 SVG layout leaves objects still needing layout
3053 https://bugs.webkit.org/show_bug.cgi?id=81006
3055 Reviewed by Nikolas Zimmermann.
3057 Change the layout of SVG objects such that resources that trigger
3058 layout of other objects are handled in a distinct pass, and then
3059 objects still requiring layout are laid out again.
3061 Test: svg/custom/delete-text-innerText-crash.html
3063 * rendering/svg/RenderSVGResourceContainer.cpp:
3064 (WebCore::RenderSVGResourceContainer::layout):
3065 * rendering/svg/RenderSVGResourceMarker.cpp:
3066 (WebCore::RenderSVGResourceMarker::layout):
3067 * rendering/svg/RenderSVGRoot.cpp:
3068 (WebCore::RenderSVGRoot::layout):
3069 (WebCore::RenderSVGRoot::addResourceForClientInvalidation):
3071 * rendering/svg/RenderSVGRoot.h:
3074 2012-03-21 Tim Horton <timothy_horton@apple.com>
3076 Make use of CG rounded-rect primitives
3077 https://bugs.webkit.org/show_bug.cgi?id=79932
3078 <rdar://problem/9274953>
3080 Reviewed by Simon Fraser.
3082 Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman.
3084 Dispatch to potentially platform-specific rounded rectangle path
3085 construction from addPathForRoundedRect. Make use of this to call
3086 wkCGPathAddRoundedRect on Lion and above, as long as the rounded
3087 corners are all equivalent.
3089 The origin of the stroke dash differs between the bezier approach
3090 and the path added by wkCGPathAddRoundedRect, so Path::addRoundedRect()
3091 takes a new parameter allowing code which is sensitive to stroke dash
3092 origin (i.e. SVG) to fall back to the old behavior if need be.
3094 Make use of the new Path::addRoundedRect() parameter to fall back to
3095 the old (bezier) rounded-rect behavior when constructing a dashed SVG path,
3096 in order to continue complying with the spec.
3098 No new tests, as this is covered by many that use rounded corners,
3099 and is only a performance improvement.
3102 * platform/graphics/Path.cpp:
3103 (WebCore::Path::addRoundedRect):
3105 (WebCore::Path::addPathForRoundedRect):
3106 * platform/graphics/Path.h:
3108 * platform/graphics/cg/PathCG.cpp:
3109 (WebCore::Path::platformAddPathForRoundedRect):
3111 * platform/mac/WebCoreSystemInterface.h:
3112 * platform/mac/WebCoreSystemInterface.mm:
3113 * rendering/svg/SVGPathData.cpp:
3114 (WebCore::updatePathFromRectElement):
3116 2012-03-21 David Reveman <reveman@chromium.org>
3118 [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
3119 https://bugs.webkit.org/show_bug.cgi?id=80988
3121 Reviewed by Adrienne Walker.
3123 Expose EXT_occlusion_query API to WebKit compositor. Add
3124 GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query
3127 * platform/graphics/chromium/Extensions3DChromium.h:
3128 (Extensions3DChromium):
3130 2012-03-21 Tony Chang <tony@chromium.org>
3132 compute the sign of flexibility for new flexbox
3133 https://bugs.webkit.org/show_bug.cgi?id=81722
3135 Reviewed by Ojan Vafai.
3137 This implements the computation of the sign of flexibility used by the
3138 new flexing algorithm.
3139 http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths
3141 No new tests, we don't use the sign of flexibility yet.
3143 * rendering/RenderFlexibleBox.cpp:
3144 (WebCore::RenderFlexibleBox::layoutFlexItems):
3145 (WebCore::RenderFlexibleBox::computeNextFlexLine): Compute the size
3146 adjusted for min/max as well as not adjusted.
3147 (WebCore::RenderFlexibleBox::resolveFlexibleLengths): Renamed to match
3149 * rendering/RenderFlexibleBox.h: Added enum for flex sign.
3151 2012-03-21 Vsevolod Vlasov <vsevik@chromium.org>
3153 Web Inspector: Extract WebInspector.UIBreakpoint from WebInspector.Breakpoint.
3154 https://bugs.webkit.org/show_bug.cgi?id=81669
3156 Reviewed by Pavel Feldman.
3158 * inspector/front-end/BreakpointManager.js:
3159 (WebInspector.BreakpointManager.get for):
3160 (WebInspector.BreakpointManager):
3161 (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
3162 (WebInspector.BreakpointManager.prototype.uiSourceCodeRemoved):
3163 (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
3164 (WebInspector.BreakpointManager.prototype.setBreakpoint):
3165 (WebInspector.BreakpointManager.prototype.removeBreakpoint):
3166 (WebInspector.BreakpointManager.prototype._innerRemoveBreakpoint):
3167 (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
3168 (WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
3169 (WebInspector.BreakpointManager.prototype._uiBreakpoints.get this):
3170 (WebInspector.BreakpointManager.prototype._uiBreakpoints):
3171 (WebInspector.BreakpointManager.prototype.get _uiBreakpoint):
3172 (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
3173 (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
3174 (WebInspector.BreakpointManager.prototype._breakpoints):
3175 (WebInspector.BreakpointManager.prototype._breakpoint):
3176 (WebInspector.BreakpointManager.prototype._addBreakpointToModel):
3177 (WebInspector.BreakpointManager.prototype._removeBreakpointFromModel):
3178 (WebInspector.BreakpointManager.prototype._forEachBreakpoint):
3179 (WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
3180 (WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
3181 (WebInspector.BreakpointManager.prototype.debuggerReset):
3182 (WebInspector.Breakpoint.prototype.serialize):
3183 (WebInspector.Breakpoint.prototype.get uiBreakpoint):
3184 (WebInspector.Breakpoint.prototype.createUIBreakpoint):
3185 (WebInspector.Breakpoint.prototype.removeUIBreakpoint):
3186 (WebInspector.UIBreakpoint):
3187 * inspector/front-end/DebuggerPresentationModel.js:
3188 (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
3189 (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
3190 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
3191 (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
3192 * inspector/front-end/ScriptsPanel.js:
3194 2012-03-21 Anders Carlsson <andersca@apple.com>
3196 TileCache needs to know if its containing page is in a window
3197 https://bugs.webkit.org/show_bug.cgi?id=81821
3199 Reviewed by Andreas Kling.
3201 This is in preparation for throwing away invisible tiles in background tabs to reduce memory usage.
3203 * page/FrameView.cpp:
3204 (WebCore::FrameView::didMoveOnscreen):
3205 (WebCore::FrameView::willMoveOffscreen):
3207 (WebCore::Page::Page):
3208 (WebCore::Page::didMoveOnscreen):
3209 (WebCore::Page::willMoveOffscreen):
3211 (WebCore::Page::isOnscreen):
3213 * platform/graphics/TiledBacking.h:
3215 * platform/graphics/ca/mac/TileCache.h:
3217 * platform/graphics/ca/mac/TileCache.mm:
3218 (WebCore::TileCache::TileCache):
3219 (WebCore::TileCache::setIsInWindow):
3221 * rendering/RenderLayerBacking.cpp:
3222 (WebCore::RenderLayerBacking::RenderLayerBacking):
3224 2012-03-21 Xingnan Wang <xingnan.wang@intel.com>
3226 Web audio layout test failed in debug with an ASSERT error in ReverbConvolverStage.cpp
3227 https://bugs.webkit.org/show_bug.cgi?id=81744
3229 Reviewed by Chris Rogers.
3231 * platform/audio/ReverbConvolverStage.cpp:
3232 (WebCore::ReverbConvolverStage::ReverbConvolverStage):
3234 2012-03-21 Xiaomei Ji <xji@chromium.org>
3236 [chromium] Font fallback in cr-win is wrong for string contains zero-width-space.
3237 https://bugs.webkit.org/show_bug.cgi?id=79961
3239 Reviewed by Adam Barth.
3241 Treat zero-width-space (\u200B) as true for treatAsZeroWidthSpaceInComplexScipt().
3243 * platform/graphics/Font.h:
3244 (WebCore::Font::treatAsZeroWidthSpaceInComplexScript):
3245 * platform/graphics/mac/ComplexTextController.cpp:
3246 (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
3247 * platform/graphics/win/UniscribeController.cpp:
3248 (WebCore::UniscribeController::shapeAndPlaceItem):
3250 2012-03-21 Patrick Gansterer <paroga@webkit.org>
3252 Build fix for !ENABLE(INSPECTOR) after r111005.
3254 * inspector/ContentSearchUtils.h:
3256 2012-03-21 Ulan Degenbaev <ulan@chromium.org>
3258 [V8] V8GCForContextDispose should indicate whether a context is disposed for the main frame or not
3259 https://bugs.webkit.org/show_bug.cgi?id=81200
3261 Reviewed by Adam Barth.
3263 Pass a hint to V8::IdleNotification that requests more aggressive GC
3264 when a main frame context is disposed and requests incremental GC otherwise.
3266 * bindings/v8/V8DOMWindowShell.cpp:
3267 (WebCore::V8DOMWindowShell::disposeContextHandles):
3268 * bindings/v8/V8GCForContextDispose.cpp:
3269 (WebCore::V8GCForContextDispose::V8GCForContextDispose):
3270 (WebCore::V8GCForContextDispose::notifyContextDisposed):
3271 (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
3272 * bindings/v8/V8GCForContextDispose.h:
3273 (V8GCForContextDispose):
3275 2012-03-21 Nat Duca <nduca@chromium.org>
3277 [chromium] CCThreadProxy must initialize frameBeginTime to monotonicallyIncreasingTime rather than zero
3278 https://bugs.webkit.org/show_bug.cgi?id=81790
3280 Reviewed by James Robinson.
3282 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3283 (WebCore::CCThreadProxy::scheduledActionBeginFrame):
3285 2012-03-21 Xingnan Wang <xingnan.wang@intel.com>
3287 Add multichannel support in RealtimeAnalyser
3288 https://bugs.webkit.org/show_bug.cgi?id=81745
3290 Reviewed by Chris Rogers.
3292 * Modules/webaudio/RealtimeAnalyser.cpp:
3293 (WebCore::RealtimeAnalyser::writeInput):
3296 2012-03-21 Eric Carlson <eric.carlson@apple.com>
3298 Removing HTMLTrackElement does not delete TextTrack
3299 https://bugs.webkit.org/show_bug.cgi?id=80873
3301 Reviewed by Antti Koivisto.
3303 No new tests, but media/track/track-language-preference.html has been updated
3306 * html/HTMLMediaElement.cpp:
3307 (WebCore::HTMLMediaElement::didAddTrack): Renamed from trackWasAdded.
3308 (WebCore::HTMLMediaElement::willRemoveTrack): Renamed from trackWasRemoved because it is
3309 called before the track is removed, to allow the TextTrack to be removed.
3310 * html/HTMLMediaElement.h:
3312 * html/HTMLTrackElement.cpp:
3313 (WebCore::HTMLTrackElement::insertedIntoTree): Renamed from insertedIntoDocument
3314 (WebCore::HTMLTrackElement::willRemove): Renamed from removedFromDocument.
3315 * html/HTMLTrackElement.h:
3317 * html/track/LoadableTextTrack.cpp:
3318 (WebCore::LoadableTextTrack::trackElementIndex): Don't include tracks that are not in the
3319 document in the calcualtion.
3321 2012-03-21 Zeno Albisser <zeno@webkit.org>
3323 [Qt][Mac] ranlib segfaults when creating symbol tables for libWebCore.a.
3324 https://bugs.webkit.org/show_bug.cgi?id=81750
3326 Building WebCore on mac currently creates an archive that is bigger than
3327 4GB. But ranlib fails to create a symbol table for such a big archive,
3328 even on 64bit machines.
3329 Therefore we start using SVGAllInOne.cpp when building debug
3330 on mac. This reduces the size of the archive by about 300MB.
3332 Reviewed by Tor Arne Vestbø.
3336 2012-03-21 Tommy Widenflycht <tommyw@google.com>
3338 [chromium] MediaStream API (JSEP): Introducing WebSessionDescription and WebIceCandidate
3339 https://bugs.webkit.org/show_bug.cgi?id=81339
3341 Reviewed by Adam Barth.
3343 Not possible to test until the entire JSEP feature is commited.
3345 * Modules/mediastream/IceCandidate.cpp:
3346 (WebCore::IceCandidate::toSdp):
3347 * Modules/mediastream/SessionDescription.cpp:
3348 (WebCore::SessionDescription::toSdp):
3349 * platform/mediastream/IceCandidateDescriptor.cpp:
3350 (WebCore::IceCandidateDescriptor::toSDP):
3351 * platform/mediastream/IceCandidateDescriptor.h:
3352 (IceCandidateDescriptor):
3353 * platform/mediastream/MediaStreamCenter.cpp:
3354 (WebCore::MediaStreamCenter::constructSDP):
3355 * platform/mediastream/MediaStreamCenter.h:
3356 (MediaStreamCenter):
3357 * platform/mediastream/SessionDescriptionDescriptor.cpp:
3358 (WebCore::SessionDescriptionDescriptor::SessionDescriptionDescriptor):
3359 (WebCore::SessionDescriptionDescriptor::toSDP):
3360 (WebCore::SessionDescriptionDescriptor::initialSDP):
3361 * platform/mediastream/SessionDescriptionDescriptor.h:
3362 (SessionDescriptionDescriptor):
3364 2012-03-21 Yuta Kitamura <yutak@chromium.org>
3366 Use RFC version of WebSocket protocol by default
3367 https://bugs.webkit.org/show_bug.cgi?id=81718
3369 Reviewed by Kent Tamura.
3371 Flip the default value of Settings::m_useHixie76WebSocketProtocol so WebKit ports will use
3372 RFC version of WebSocket protocol by default.
3374 All the existing ports already use the RFC protocol as of now, so this change will not make
3375 any impact (hopefully).
3377 No new tests. No change in functionality.
3379 * page/Settings.cpp:
3380 (WebCore::Settings::Settings):
3382 2012-03-21 Andrey Kosyakov <caseq@chromium.org>
3384 Web Inspector: only show JS event listeners in Event Listeners tab of Elements panel
3385 https://bugs.webkit.org/show_bug.cgi?id=81798
3387 Reviewed by Pavel Feldman.
3389 * bindings/js/JSInjectedScriptHostCustom.cpp:
3390 (WebCore::getJSListenerFunctions):
3391 * bindings/js/ScriptEventListener.cpp:
3392 (WebCore::eventListenerHandlerBody):
3393 (WebCore::eventListenerHandlerLocation):
3394 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3395 (WebCore::getJSListenerFunctions):
3396 * inspector/InspectorDOMAgent.cpp:
3397 (WebCore::InspectorDOMAgent::getEventListeners):
3399 2012-03-21 Andrey Kosyakov <caseq@chromium.org>
3401 EventListener::Type enum has unused member InspectorDOMAgentType
3402 https://bugs.webkit.org/show_bug.cgi?id=81794
3404 Reviewed by Pavel Feldman.
3406 * dom/EventListener.h:
3408 2012-03-21 Tom Hudson <tomhudson@google.com>
3410 Incremental cleanup of BitmapImage: inlined virtual functions
3411 https://bugs.webkit.org/show_bug.cgi?id=81688
3413 Reviewed by James Robinson.
3415 No change in functionality, so no new tests.
3417 Move virtual functions defined in headers into .cpp files.
3420 * platform/graphics/BitmapImage.cpp:
3421 (WebCore::BitmapImage::isBitmapImage):
3423 (WebCore::BitmapImage::hasSingleSecurityOrigin):
3424 (WebCore::BitmapImage::nativeImageForCurrentFrame):
3425 (WebCore::BitmapImage::currentFrameHasAlpha):
3426 (WebCore::BitmapImage::notSolidColor):
3427 (WebCore::BitmapImage::decodedSize):
3428 (WebCore::BitmapImage::mayFillWithSolidColor):
3429 (WebCore::BitmapImage::solidColor):
3430 * platform/graphics/BitmapImage.h:
3432 * platform/graphics/skia/BitmapImageSingleFrameSkia.cpp: Added.
3434 (WebCore::BitmapImageSingleFrameSkia::isBitmapImage):
3435 (WebCore::BitmapImageSingleFrameSkia::currentFrameHasAlpha):
3436 (WebCore::BitmapImageSingleFrameSkia::size):
3437 (WebCore::BitmapImageSingleFrameSkia::destroyDecodedData):
3438 (WebCore::BitmapImageSingleFrameSkia::decodedSize):
3439 (WebCore::BitmapImageSingleFrameSkia::nativeImageForCurrentFrame):
3440 (WebCore::BitmapImageSingleFrameSkia::notSolidColor):
3441 * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
3442 (BitmapImageSingleFrameSkia):
3444 2012-03-21 Alexey Proskuryakov <ap@apple.com>
3446 Remove obsolete File attributes
3447 https://bugs.webkit.org/show_bug.cgi?id=79383
3449 Reviewed by Hajime Morita.
3451 * bindings/objc/PublicDOMInterfaces.h:
3454 Removed fileName and fileSize, they have different names now.
3456 * html/FileInputType.cpp:
3457 (WebCore::FileInputType::appendFormData):
3458 (WebCore::FileInputType::getTypeSpecificValue):
3459 (WebCore::FileInputType::defaultToolTip):
3460 Updated to use new function names.
3462 2012-03-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
3464 TiledBackingStore: Create the first round of tiles synchronously after setting the visible rect.
3465 https://bugs.webkit.org/show_bug.cgi?id=81762
3467 Reviewed by Kenneth Rohde Christiansen.
3469 The first round of tiles should cover completely the visible rect.
3470 Creating the tiles synchronously allows us to get the new tiles immediately