Deal with DOM modifications when evaluating source elements.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-23  Eric Carlson  <eric.carlson@apple.com>
2
3         Deal with DOM modifications when evaluating source elements.
4         https://bugs.webkit.org/show_bug.cgi?id=81163
5
6         Reviewed by Alexey Proskuryakov.
7
8         Test: media/video-beforeload-remove-source.html
9
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):
18
19         * editing/ReplaceSelectionCommand.cpp: Remove unused NodeVector declaration.
20
21         * html/HTMLMediaElement.cpp:
22         (WebCore::HTMLMediaElement::HTMLMediaElement): m_nextChildNodeToConsider and m_currentSourceNode
23             are now RefPtrs.
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
30             are now RefPtrs.
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
37             are now RefPtrs.
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:
42
43 2012-03-23  Dean Jackson  <dino@apple.com>
44
45         Disable CSS_SHADERS in Apple builds
46         https://bugs.webkit.org/show_bug.cgi?id=81996
47
48         Reviewed by Simon Fraser.
49
50         Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h.
51
52         * Configurations/FeatureDefines.xcconfig:
53
54 2012-03-23  Dave Michael  <dmichael@chromium.org>
55
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
58
59         Reviewed by Eric Seidel and Ryosuke Niwa.
60
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.
70
71         Also added numberOfLiveNodes() and numberOfLiveDocuments() to
72         window.internals to enable testing.
73
74         Test: plugins/netscape-dom-access-and-reload.html
75
76         * WebCore.exp.in:
77         * html/HTMLPlugInElement.cpp:
78         (WebCore::HTMLPlugInElement::detach):
79         * html/HTMLPlugInElement.h:
80         (HTMLPlugInElement):
81         * testing/Internals.cpp:
82         (WebCore):
83         (WebCore::Internals::numberOfLiveNodes):
84         (WebCore::Internals::numberOfLiveDocuments):
85         * testing/Internals.h:
86         (Internals):
87         * testing/Internals.idl:
88
89 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
90
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
93
94         Reviewed by Antti Koivisto.
95
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.
100
101         Fixed the bug by explicitly initializing longhand properties.
102
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.
106
107         Test: fast/css/border-shorthand-initialize-longhands.html
108
109         * css/CSSParser.cpp:
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):
120
121 2012-03-23  Tony Chang  <tony@chromium.org>
122
123         [chromium] rename newwtf target back to wtf
124         https://bugs.webkit.org/show_bug.cgi?id=82064
125
126         Reviewed by Adam Barth.
127
128         No new tests, only renaming a build target.
129
130         * WebCore.gyp/WebCore.gyp:
131
132 2012-03-23  Adrienne Walker  <enne@google.com>
133
134         [chromium] Turn off painting of scrollbars on compositor thread for unsupported platforms
135         https://bugs.webkit.org/show_bug.cgi?id=82066
136
137         Reviewed by James Robinson.
138
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.
142
143         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
144         (WebCore::scrollbarLayerDidChange):
145
146 2012-03-23  Dan Bernstein  <mitz@apple.com>
147
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
150
151         Rubber-stamped by Jessie Berlin.
152
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.
156
157 2012-03-23  Mike Lawther  <mikelawther@chromium.org>
158
159         CSS3 calc: image sizing works with mixed percentage/absolute
160         https://bugs.webkit.org/show_bug.cgi?id=82017
161
162         Reviewed by Ojan Vafai.
163
164         Test: css3/calc/img-size-expected.html
165
166         * rendering/RenderBox.cpp:
167         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
168         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
169
170 2012-03-23  Julien Chaffraix  <jchaffraix@webkit.org>
171
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
174
175         Reviewed by Tony Chang.
176
177         Covered by tables/mozilla/bugs/bug27038-{1|2}.html.
178
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.
182
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.
186
187         * rendering/RenderTable.cpp:
188         (WebCore::RenderTable::distributeExtraLogicalHeight):
189
190 2012-03-23  Xingnan Wang  <xingnan.wang@intel.com>
191
192         Optimize for IPP in DirectConvolver::process()
193         https://bugs.webkit.org/show_bug.cgi?id=80255
194
195         Reviewed by Chris Rogers.
196
197         Increase ~2X performance by conv() in IPP.
198
199         * platform/audio/DirectConvolver.cpp:
200         (WebCore::DirectConvolver::DirectConvolver):
201         (WebCore::DirectConvolver::process):
202         * platform/audio/DirectConvolver.h:
203         (DirectConvolver):
204
205 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
206
207         MediaStream API (JSEP): Introducing PeerConnection00 and IceCallback
208         https://bugs.webkit.org/show_bug.cgi?id=81657
209
210         Reviewed by Adam Barth.
211
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).
214
215         My next patch after this one will do a major overhaul of the existing layout tests
216         and add a few new ones.
217
218         * GNUmakefile.list.am:
219         * Modules/mediastream/DOMWindowMediaStream.idl:
220         * Modules/mediastream/IceCallback.h: Added.
221         (WebCore):
222         (IceCallback):
223         (WebCore::IceCallback::~IceCallback):
224         * Modules/mediastream/IceCallback.idl: Added.
225         * Modules/mediastream/PeerConnection00.cpp: Added.
226         (WebCore):
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.
261         (WebCore):
262         (PeerConnection00):
263         (WebCore::PeerConnection00::refEventTarget):
264         (WebCore::PeerConnection00::derefEventTarget):
265         * Modules/mediastream/PeerConnection00.idl: Added.
266         * WebCore.gypi:
267         * bindings/generic/RuntimeEnabledFeatures.h:
268         (WebCore::RuntimeEnabledFeatures::webkitPeerConnection00Enabled):
269         * bindings/js/JSPeerConnection00Custom.cpp: Added.
270         (WebCore):
271         (WebCore::JSPeerConnection00Constructor::constructJSPeerConnection00):
272         * dom/EventTargetFactory.in:
273
274 2012-03-23  Adrienne Walker  <enne@google.com>
275
276         [chromium] Fix scrollbarLayerLostContext flaky test crash on 10.6
277         https://bugs.webkit.org/show_bug.cgi?id=82062
278
279         Reviewed by James Robinson.
280
281         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
282         (CCScrollbarLayerImpl):
283
284 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
285
286         [chromium] MediaStream API (JSEP): Extending WebMediaStreamCenter
287         https://bugs.webkit.org/show_bug.cgi?id=81924
288
289         Reviewed by Adam Barth.
290
291         Nothing to test, just moving methods.
292
293         * platform/mediastream/MediaStreamCenter.cpp:
294         (WebCore::MediaStreamCenter::constructSDP):
295         (WebCore):
296
297 2012-03-23  Sami Kyostila  <skyostil@chromium.org>
298
299         Reuse buffer allocation if canvas size does not change
300         https://bugs.webkit.org/show_bug.cgi?id=80871
301
302         Reviewed by Stephen White.
303
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.
308
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
315         cleared.
316
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
319         canvas should work.
320
321         Test: fast/canvas/canvas-resize-after-paint-without-layout.html +
322               existing layout tests for canvas resetting.
323
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
329         context.
330         (WebCore::HTMLCanvasElement::clearImageBuffer):
331         (WebCore):
332         (WebCore::HTMLCanvasElement::clearCopiedImage):
333         * html/HTMLCanvasElement.h:
334         (HTMLCanvasElement):
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().
343
344 2012-03-22  Martin Robinson  <mrobinson@igalia.com>
345
346         Fix some code generation warnings on GTK+.
347
348         Reviewed by Gustavo Noronha Silva.
349
350         No new tests. This just fixes warnings.
351
352         * GNUmakefile.am: Remove nonexistent directories from the list IDL directories.
353
354 2012-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
355
356         Unreviewed, rolling out r111751.
357         http://trac.webkit.org/changeset/111751
358         https://bugs.webkit.org/show_bug.cgi?id=82060
359
360         caused 15% page cycler regression for chromium-linux
361         (Requested by eae on #webkit).
362
363         * css/CSSStyleSelector.cpp:
364         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
365
366 2012-03-23  Kentaro Hara  <haraken@chromium.org>
367
368         Support [ImplementedAs] for attributes
369         https://bugs.webkit.org/show_bug.cgi?id=81605
370
371         Reviewed by Adam Barth.
372
373         [ImplementedAs] just supports methods. [ImplementedAs] should support
374         attributes too.
375
376         Explained here: https://trac.webkit.org/wiki/WebKitIDL#ImplementedAs
377
378         Test: bindings/scripts/test/TestObj.idl
379
380         * bindings/scripts/CodeGenerator.pm: Modified to support [ImplementedAs] for attributes.
381         (AttributeNameForGetterAndSetter):
382
383         * bindings/scripts/test/TestObj.idl: Added a test case.
384
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:
396         (WebCore):
397         (WebCore::jsTestObjStrawberry):
398         (WebCore::setJSTestObjStrawberry):
399         * bindings/scripts/test/JS/JSTestObj.h:
400         (WebCore):
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):
407         (TestObjInternal):
408         (WebCore::TestObjInternal::strawberryAttrSetter):
409         (WebCore):
410
411 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
412
413         The JSC code generator doesn't generate correct code for Constructors
414         https://bugs.webkit.org/show_bug.cgi?id=82046
415
416         Reviewed by Kentaro Hara.
417
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.
421
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):
436
437 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
438
439         The JSC code generator can't handle boolean arguments for Callbacks
440         https://bugs.webkit.org/show_bug.cgi?id=82045
441
442         Reviewed by Kentaro Hara.
443
444         CodeGeneratorJS.pm only handles DOMStrings and objects as arguments
445         for a Callback, so I added support for boolean values as well.
446
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):
458         (WebCore):
459         * bindings/scripts/test/JS/JSTestCallback.h:
460         (JSTestCallback):
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):
467         (WebCore):
468         * bindings/scripts/test/V8/V8TestCallback.h:
469         (V8TestCallback):
470
471 2012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
472
473         Touch adjustment forgets some subtarget quads.
474         https://bugs.webkit.org/show_bug.cgi?id=82044
475
476         Reviewed by Kenneth Rohde Christiansen.
477
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.
480
481         Test: touchadjustment/block-testing.html
482
483         * page/TouchAdjustment.cpp:
484         (WebCore::TouchAdjustment::compileSubtargetList):
485         (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
486
487 2012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
488
489         TouchAdjustment does not correct for frame position
490         https://bugs.webkit.org/show_bug.cgi?id=82043
491
492         Reviewed by Kenneth Rohde Christiansen.
493
494         Convert geometry to window coordinates before calculating distance.
495
496         Test: touchadjustment/iframe.html
497
498         * page/TouchAdjustment.cpp:
499         (WebCore::TouchAdjustment::distanceSquaredToTargetCenterLine):
500
501 2012-03-23  Vlad Voicu  <vladv@rosedu.org>
502
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
506
507         Reviewed by Timothy Hatcher
508
509         No new tests should be required.
510
511         * inspector/front-end/StylesSidebarPane.js:
512         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
513         (WebInspector.StylePropertyTreeElement.prototype):
514
515 2012-03-23  Kentaro Hara  <haraken@chromium.org>
516
517         Unreviewed, rebaselined run-bindings-tests results.
518
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):
533
534 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
535
536         cssText should use StringBuilder
537         https://bugs.webkit.org/show_bug.cgi?id=82028
538
539         Reviewed by Hajime Morita.
540
541         Make StylePropertySet::asText more efficient by deploying StringBuilder;
542         avoids heap churn by String::operator+ and String::operator+=.
543
544         * css/StylePropertySet.cpp:
545         (WebCore::StylePropertySet::asText):
546
547 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
548
549         REGRESSION(r111754): plugins/reloadplugins-and-pages.html fails on all platforms
550         https://bugs.webkit.org/show_bug.cgi?id=82035
551
552         Rollout r111754 since it caused a test to fail and the test added by the patch
553         is failing on Mac WebKit 2.
554
555         * WebCore.exp.in:
556         * html/HTMLPlugInElement.cpp:
557         (WebCore::HTMLPlugInElement::detach):
558         (WebCore):
559         (WebCore::HTMLPlugInElement::removedFromDocument):
560         * html/HTMLPlugInElement.h:
561         (HTMLPlugInElement):
562         * testing/Internals.cpp:
563         * testing/Internals.h:
564         (Internals):
565         * testing/Internals.idl:
566
567 2012-03-23  Adam Barth  <abarth@webkit.org>
568
569         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 2)
570         https://bugs.webkit.org/show_bug.cgi?id=82026
571
572         Reviewed by Kentaro Hara.
573
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.
578
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
581         patch.
582
583         * notifications/DOMWindowNotifications.cpp:
584         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
585         (WebCore::DOMWindowNotifications::from):
586         (WebCore::DOMWindowNotifications::webkitNotifications):
587         (WebCore):
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):
597         * page/DOMWindow.h:
598         (DOMWindow):
599         * page/Frame.cpp:
600         (WebCore::Frame::willDetachPage):
601
602 2012-03-22  Adam Barth  <abarth@webkit.org>
603
604         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 1)
605         https://bugs.webkit.org/show_bug.cgi?id=82015
606
607         Reviewed by Kentaro Hara.
608
609         This patch moves DOMWindow.webkitNotifications from DOMWindow.idl to
610         DOMWindowNotificiations.idl in preparation for moving notificiations
611         into Modules.
612
613         A future patch will remove DOMWindow::resetNotificaitions in favor of
614         more general mechanisms.
615
616         * CMakeLists.txt:
617         * DerivedSources.make:
618         * DerivedSources.pri:
619         * GNUmakefile.list.am:
620         * Target.pri:
621         * WebCore.gypi:
622         * WebCore.vcproj/WebCore.vcproj:
623         * WebCore.xcodeproj/project.pbxproj:
624         * notifications/DOMWindowNotifications.cpp: Added.
625         (WebCore):
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.
633         (WebCore):
634         (DOMWindowNotifications):
635         * notifications/DOMWindowNotifications.idl: Added.
636         * page/DOMWindow.cpp:
637         (WebCore::DOMWindow::~DOMWindow):
638         (WebCore):
639         (WebCore::DOMWindow::resetNotifications):
640         * page/DOMWindow.h:
641         (WebCore):
642         (DOMWindow):
643         * page/DOMWindow.idl:
644
645 2012-03-22  Li Yin  <li.yin@intel.com>
646
647         A client MUST close a connection if it detects a masked frame
648         https://bugs.webkit.org/show_bug.cgi?id=81361
649
650         Reviewed by Kent Tamura.
651
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.
654         
655         Test: http/tests/websocket/tests/hybi/invalid-masked-frames-from-server.html
656
657         * Modules/websockets/WebSocketChannel.cpp:
658         (WebCore::WebSocketChannel::processFrame):
659
660 2012-03-22  Li Yin  <li.yin@intel.com>
661
662         [WebSocket]The minimal number of bytes MUST be used to encode the length
663         https://bugs.webkit.org/show_bug.cgi?id=81443
664
665         Reviewed by Kent Tamura.
666
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
669         
670         New test case : http/tests/websocket/tests/hybi/invalid-encode-length.html
671
672         * Modules/websockets/WebSocketChannel.cpp:
673         (WebCore::WebSocketChannel::parseFrame):
674
675 2012-03-22  Adam Barth  <abarth@webkit.org>
676
677         Unreviewed.  Sort xcodeproj file.
678
679         * WebCore.xcodeproj/project.pbxproj:
680
681 2012-03-22  Mao Yujie  <yujie.mao@intel.com>
682
683         Implement strict testing criterion for callback function definition
684         https://bugs.webkit.org/show_bug.cgi?id=80005
685
686         Reviewed by Adam Barth.
687
688         Callback function should be defined as the function type instead of
689         the object type.
690
691         LayoutTest: fast/dom/MediaStream/argument-types.html
692
693         * bindings/scripts/CodeGeneratorJS.pm:
694         (GenerateParametersCheckExpression):
695         (GenerateParametersCheck):
696         * bindings/scripts/CodeGeneratorV8.pm:
697         (GenerateParametersCheckExpression):
698         (GenerateParametersCheck):
699
700 2012-03-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
701
702         Convert hasGrammarMarker to use Internals interface
703         https://bugs.webkit.org/show_bug.cgi?id=82004
704
705         Reviewed by Ryosuke Niwa.
706
707         Remove hasGrammarMarker functions, because it is able to work in the
708         cross-port way through the Internals interface.
709
710         No new tests, since we are improving here the infra-structure
711         for testing a specific method.
712
713         * testing/Internals.cpp:
714         (WebCore::Internals::hasGrammarMarker):
715         (WebCore):
716         * testing/Internals.h:
717         (Internals):
718         * testing/Internals.idl:
719
720 2012-03-22  Xingnan Wang  <xingnan.wang@intel.com>
721
722         Add exception for the setter of "fftSize" in RealtimeAnalyserNode
723         https://bugs.webkit.org/show_bug.cgi?id=81748
724
725         Reviewed by Chris Rogers.
726
727         * Modules/webaudio/RealtimeAnalyser.cpp:
728         (WebCore::RealtimeAnalyser::setFftSize):
729         * Modules/webaudio/RealtimeAnalyser.h:
730         (RealtimeAnalyser):
731         * Modules/webaudio/RealtimeAnalyserNode.cpp:
732         (WebCore::RealtimeAnalyserNode::setFftSize):
733         (WebCore):
734         * Modules/webaudio/RealtimeAnalyserNode.h:
735         (RealtimeAnalyserNode):
736         * Modules/webaudio/RealtimeAnalyserNode.idl:
737
738 2012-03-22  Leo Yang  <leo.yang@torchmobile.com.cn>
739
740         [BlackBerry] Add HistoryItemViewState for BlackBerry port
741         https://bugs.webkit.org/show_bug.cgi?id=81867
742
743         Reviewed by Rob Buis.
744
745         HistoryItemViewState is the blackberry specific field of HistoryItem.
746         It's used to maintain the porting specific view state.
747
748         No new test because the port can't be built yet.
749
750         * history/HistoryItem.h:
751         (HistoryItem):
752         (WebCore::HistoryItem::viewState):
753
754 2012-03-22  SravanKumar Sandela  <ssandela@innominds.com>
755
756         Fieldset unexpectedly stretches to minimum intrinsic width
757         https://bugs.webkit.org/show_bug.cgi?id=79128
758
759         Reviewed by Julien Chaffraix.
760
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). 
764
765         Tests: fast/forms/fieldset-width-nostretch-ifspecified-expected.html
766                fast/forms/fieldset-width-nostretch-ifspecified.html
767
768         * rendering/RenderFieldset.cpp:
769         (WebCore::RenderFieldset::stretchesToMinIntrinsicLogicalWidth):
770         (WebCore):
771         * rendering/RenderFieldset.h:
772         (RenderFieldset):
773
774 2012-03-22  Shawn Singh  <shawnsingh@chromium.org>
775
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
778
779         Reviewed by Adrienne Walker.
780
781         Unit test added to CCDamageTrackerTest.
782
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.
786
787         (WebCore::CCDamageTracker::extendDamageForLayer): added logic that
788         damages the target surface if the layer is new.
789
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.
793
794         * platform/graphics/chromium/cc/CCDamageTracker.h:
795         (CCDamageTracker):
796
797 2012-03-22  Charles Wei  <charles.wei@torchmobile.com.cn>
798
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
801
802         Reviewed by Rob Buis.
803
804         Internally reviewed by George Staikos.
805
806         No new tests, BlackBerry porting doesn't build yet upstreaming.
807
808         * history/blackberry/HistoryItemViewState.h:
809         (WebCore::HistoryItemViewState::HistoryItemViewState):
810         (HistoryItemViewState):
811
812 2012-03-22  Adam Klein  <adamk@chromium.org>
813
814         [v8] wrapSlow methods should ref underlying object before creating wrapper
815         https://bugs.webkit.org/show_bug.cgi?id=81919
816
817         Reviewed by Adam Barth.
818
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).
824
825         Binding tests have been updated to reflect this change.
826
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.
831
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:
840         (V8Float64Array):
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:
856         (V8TestEventTarget):
857         * bindings/scripts/test/V8/V8TestInterface.cpp:
858         (WebCore::V8TestInterface::wrapSlow):
859         * bindings/scripts/test/V8/V8TestInterface.h:
860         (V8TestInterface):
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:
872         (V8TestObj):
873         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
874         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
875         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
876         (V8TestSerializedScriptValueInterface):
877
878 2012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
879
880         [BlackBerry] add interface clearCredentials() and clearNeverRememberSites()
881         https://bugs.webkit.org/show_bug.cgi?id=81887
882
883         Reviewed by Rob Buis.
884
885         Fixed SQL issue when clearing table logins and table never_remember.
886
887         No new tests.
888
889         * platform/network/blackberry/CredentialBackingStore.cpp:
890         (WebCore::CredentialBackingStore::clearLogins):
891         (WebCore::CredentialBackingStore::clearNeverRemember):
892
893 2012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
894
895         [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
896         https://bugs.webkit.org/show_bug.cgi?id=80135
897
898         Reviewed by Rob Buis.
899
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
908         inputting anything.
909
910         No new tests.
911
912         * platform/blackberry/PageClientBlackBerry.h:
913         * platform/network/blackberry/NetworkJob.cpp:
914         (WebCore::NetworkJob::handleAuthHeader):
915         (WebCore::NetworkJob::sendRequestWithCredentials):
916
917 2012-03-22  Jason Liu  <jason.liu@torchmobile.com.cn>
918
919         [BlackBerry] Synchronize platform/network/blackberry
920         https://bugs.webkit.org/show_bug.cgi?id=81874
921
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.
925
926         Reviewed by Rob Buis.
927
928         No new tests. Just synchronize codes.
929
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):
940         (NetworkJob):
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):
947
948 2012-03-22  Tom Sepez  <tsepez@chromium.org>
949
950         XSS Auditor bypass via script tag src=data:, URLS.
951         https://bugs.webkit.org/show_bug.cgi?id=81948
952
953         Reviewed by Adam Barth.
954
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.
959         
960         Test: http/tests/security/xssAuditor/script-tag-with-source-data-url2.html
961
962         * html/parser/XSSAuditor.cpp:
963         (WebCore::XSSAuditor::decodedSnippetForAttribute):
964
965 2012-03-22  Dana Jansens  <danakj@chromium.org>
966
967         [chromium] Incorrect assert on animating opacity for a surface
968         https://bugs.webkit.org/show_bug.cgi?id=81994
969
970         Reviewed by Adrienne Walker.
971
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.
975
976         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
977         (WebCore::CCLayerTreeHost::paintLayerContents):
978
979 2012-03-22  Dana Jansens  <danakj@chromium.org>
980
981         [chromium] Skip frames when checkerboarding an animation
982         https://bugs.webkit.org/show_bug.cgi?id=81716
983
984         Reviewed by Adrienne Walker.
985
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.
988
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.
994
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
1003
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):
1018         (WebCore):
1019         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
1020         (CCSchedulerStateMachine):
1021         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1022         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
1023         (WebCore):
1024         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
1025         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):
1026         * platform/graphics/chromium/cc/CCThreadProxy.h:
1027         (CCThreadProxy):
1028
1029 2012-03-22  W. James MacLean  <wjmaclean@chromium.org>
1030
1031         [chromium] Force update of nonFastScrollableRegion if target CCLayerImpl has been freshly created.
1032         https://bugs.webkit.org/show_bug.cgi?id=81968
1033
1034         Reviewed by Adrienne Walker.
1035
1036         Added unit test to existing tests for TreeSynchronizer.
1037
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.
1040
1041         * platform/graphics/chromium/LayerChromium.h:
1042         (WebCore::LayerChromium::nonFastScrollableRegion):
1043         (WebCore::LayerChromium::setNonFastScrollableRegionChanged):
1044         * platform/graphics/chromium/TreeSynchronizer.cpp:
1045         (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
1046
1047 2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
1048
1049         [CMake] Unreviewed build fix after r111778.
1050
1051         * CMakeLists.txt: Replace ${JAVASCRIPTCORE_DIR}/wtf includes with
1052         ${WTF_DIR}/wtf ones.
1053
1054 2012-03-22  Tony Chang  <tony@chromium.org>
1055
1056         Unreviewed, fix chromium build after wtf move.
1057
1058         Only use newwtf, remove references to wtf.
1059
1060         * WebCore.gyp/WebCore.gyp:
1061
1062 2012-03-22  Benjamin Poulain  <bpoulain@apple.com>
1063
1064         Remove an obsolete comment regarding magic frames from Geolocation
1065         https://bugs.webkit.org/show_bug.cgi?id=81871
1066
1067         Reviewed by Alexey Proskuryakov.
1068
1069         Moving a frame into another document is no longer possible after r111361. The comment
1070         is now irrelevant.
1071
1072         * Modules/geolocation/Geolocation.cpp:
1073         (WebCore::Geolocation::stop):
1074
1075 2012-03-22  Csaba Osztrogonác  <ossy@webkit.org>
1076
1077         Actually move WTF files to their new home
1078         https://bugs.webkit.org/show_bug.cgi?id=81844
1079
1080         [Qt] Unreviewed buildfix after r111778.
1081
1082         * Target.pri:
1083
1084 2012-03-22  Kentaro Hara  <haraken@chromium.org>
1085
1086         run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl
1087         https://bugs.webkit.org/show_bug.cgi?id=81852
1088
1089         Reviewed by Adam Barth.
1090
1091         run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl:
1092
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.
1099         ...
1100
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
1104
1105         This patch replaces [Optional] with [Optional=DefaultIsUndefined]
1106         in TestSerializedScriptValueInterface.idl.
1107
1108         Test: bindings/scripts/test/TestSerializedScriptValueInterface.idl
1109
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):
1119
1120 2012-03-22  Michal Mocny  <mmocny@google.com>
1121
1122         [chromium] LayerRendererChromium should use GpuMemoryAllocationChanged callback to explicitly manage framebuffer.
1123         https://bugs.webkit.org/show_bug.cgi?id=81823
1124
1125         Reviewed by Adrienne Walker.
1126
1127         New UnitTests: LayerRendererChromiumTest
1128
1129         * platform/graphics/chromium/LayerRendererChromium.cpp:
1130         (LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
1131         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::create):
1132         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::~LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
1133         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::onGpuMemoryAllocationChanged):
1134         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
1135         (WebCore):
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:
1144         (WebCore):
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):
1162
1163 2012-03-22  Adam Barth  <abarth@webkit.org>
1164
1165         ContainerNode::insertedIntoTree and removedFromTree use weak iteration patterns
1166         https://bugs.webkit.org/show_bug.cgi?id=80570
1167
1168         Reviewed by Ryosuke Niwa.
1169
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.
1173
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.
1187
1188 2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
1189
1190         Crash in fast/dom/navigator-detached-nocrash.html
1191         https://bugs.webkit.org/show_bug.cgi?id=81773
1192
1193         Reviewed by Adam Barth.
1194
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.
1198
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.
1202
1203         No new tests, covered by fast/dom/navigator-detached-nocrash.html.
1204
1205         * Modules/battery/NavigatorBattery.cpp:
1206         (WebCore::NavigatorBattery::webkitBattery):
1207
1208 2012-03-22  Emil A Eklund  <eae@chromium.org>
1209
1210         Unreviewed, add missing include statement for CSSValueList.h.
1211
1212         * css/CSSStyleSelector.h:
1213
1214 2012-03-22  Tony Chang  <tony@chromium.org>
1215
1216         flexbox flexing implementation should match the spec
1217         https://bugs.webkit.org/show_bug.cgi?id=70796
1218
1219         Reviewed by Ojan Vafai.
1220
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
1223
1224         New test cases in css3/flexbox/flex-algorithm-min-max.html.
1225
1226         * rendering/RenderFlexibleBox.cpp:
1227         (WebCore::adjustFlexSizeForMinAndMax): Step 5 of resolving flexible lengths.
1228         (WebCore):
1229         (WebCore::RenderFlexibleBox::Violation::Violation):
1230         (RenderFlexibleBox::Violation):
1231         (WebCore::RenderFlexibleBox::freezeViolations): Used by step 6.
1232         (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
1233         * rendering/RenderFlexibleBox.h:
1234
1235 2012-03-22  Emil A Eklund  <eae@chromium.org>
1236
1237         Unreviewed, add missing import.
1238
1239         * rendering/RenderThemeMac.mm:
1240
1241 2012-03-22  Anders Carlsson  <andersca@apple.com>
1242
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>
1246
1247         Reviewed by Sam Weinig.
1248
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.
1252
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.
1255
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:
1261         (GraphicsLayerCA):
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):
1269
1270 2012-03-19  Robert Hogan  <robert@webkit.org>
1271
1272         Text should overflow when list item height set to 0
1273         https://bugs.webkit.org/show_bug.cgi?id=78726
1274
1275         Reviewed by Julien Chaffraix.
1276
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
1280
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.
1286
1287 2012-03-22  Dave Michael  <dmichael@chromium.org>
1288
1289         HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
1290         https://bugs.webkit.org/show_bug.cgi?id=80428
1291
1292         Reviewed by Eric Seidel.
1293
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.
1303
1304         Also added numberOfLiveNodes() and numberOfLiveDocuments() to
1305         window.internals to enable testing.
1306
1307         Test: plugins/netscape-dom-access-and-reload.html
1308
1309         * WebCore.exp.in:
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):
1317         (WebCore):
1318         * testing/Internals.h:
1319         (Internals):
1320         * testing/Internals.idl:
1321
1322 2012-03-22  Shawn Singh  <shawnsingh@chromium.org>
1323
1324         [chromium] Make CCDamageTracker robust to empty layer lists
1325         https://bugs.webkit.org/show_bug.cgi?id=81831
1326
1327         Reviewed by Adrienne Walker.
1328
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.
1334
1335         In addition to this fix, performed some trivial maintenance on the
1336         damage tracker code.
1337
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
1342         tracker's API.
1343
1344         * platform/graphics/chromium/cc/CCDamageTracker.h:
1345         (CCDamageTracker): modified args passed to damage tracker on update.
1346
1347         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1348         (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
1349         modified args passed to damage tracker on update.
1350
1351 2012-03-22  Julien Chaffraix  <jchaffraix@webkit.org>
1352
1353         Enable style sharing for elements with a style attribute
1354         https://bugs.webkit.org/show_bug.cgi?id=81523
1355
1356         Reviewed by Antti Koivisto.
1357
1358         Memory improvement change only.
1359
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).
1362
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.
1366
1367         * css/CSSStyleSelector.cpp:
1368         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1369         This method now handles inline style like presentation attributes on the element.
1370
1371         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1372         (WebCore::CSSStyleSelector::locateSharedStyle):
1373         Don't bail out for an element with an inline style declaration.
1374
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.
1379
1380 2012-03-22  Kevin Ollivier  <kevino@theolliviers.com>
1381
1382         [wx] Unreviewed. WebDOM build fix after array type changes.
1383
1384         * bindings/scripts/CodeGeneratorCPP.pm:
1385         (ShouldSkipType):
1386
1387 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
1388
1389         Web Inspector: text gutter decorations should move upon edits.
1390         https://bugs.webkit.org/show_bug.cgi?id=81932
1391
1392         Reviewed by Vsevolod Vlasov.
1393
1394         Decorations set by the line number now shift as editing inserts / removes lines.
1395
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):
1403
1404 2012-03-21  Robert Hogan  <robert@webkit.org>
1405
1406         CSS 2.1 failure: fixed-table-layout-006 fails
1407         https://bugs.webkit.org/show_bug.cgi?id=78412
1408
1409         Reviewed by Julien Chaffraix.
1410
1411         Tests: css2.1/20110323/fixed-table-layout-006.htm
1412                fast/css/fixed-table-layout-cell-padding.htm
1413
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.
1419     
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.
1423
1424 2012-03-22  Simon Fraser  <simon.fraser@apple.com>
1425
1426         Factor compositing layer updates after scroll into a new method
1427         https://bugs.webkit.org/show_bug.cgi?id=81943
1428
1429         Reviewed by Dean Jackson.
1430
1431         Move some code that updates compositing layers after scrolling
1432         into its own method, for cleanliness.
1433
1434         * rendering/RenderLayer.cpp:
1435         (WebCore::RenderLayer::scrollTo):
1436         (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
1437         (WebCore):
1438         * rendering/RenderLayer.h:
1439         (RenderLayer):
1440
1441 2012-03-22  Gavin Barraclough  <barraclough@apple.com>
1442
1443         Add JSValue::isFunction
1444         https://bugs.webkit.org/show_bug.cgi?id=81935
1445
1446         Reviewed by Geoff Garen.
1447
1448         This would be useful in the WebCore bindings code.
1449         Also, remove asFunction, replace with jsCast<JSFunction*>.
1450
1451         * bindings/js/JSInjectedScriptHostCustom.cpp:
1452         (WebCore::JSInjectedScriptHost::functionDetails):
1453         * bindings/js/ScriptCallStackFactory.cpp:
1454         (WebCore::createScriptCallStack):
1455
1456 2012-03-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1457
1458         TiledBackingStore: Fix test regressions that appeared with r111560.
1459         https://bugs.webkit.org/show_bug.cgi?id=81519
1460
1461         Reviewed by Kenneth Rohde Christiansen.
1462
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.
1465
1466         Add a visibleContentsRect that doesn't do the conversion and use it
1467         in visibleAreaIsCovered.
1468
1469         * platform/graphics/TiledBackingStore.cpp:
1470         (WebCore::TiledBackingStore::visibleContentsRect):
1471         (WebCore):
1472         (WebCore::TiledBackingStore::visibleRect):
1473         (WebCore::TiledBackingStore::visibleAreaIsCovered):
1474         * platform/graphics/TiledBackingStore.h:
1475         (TiledBackingStore):
1476
1477 2012-03-22  Joe Thomas  <joethomas@motorola.com>
1478
1479         Make Length Calculation functions non-inline
1480         https://bugs.webkit.org/show_bug.cgi?id=81733
1481
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.
1484
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).
1487
1488         Ran PerformanceTests/Parser/html5-full-render.html on Mac Snow-Leopard with and without the patch and did not see much performance difference.
1489
1490         Reviewed by Antti Koivisto.
1491
1492         * CMakeLists.txt:
1493         * GNUmakefile.list.am:
1494         * Target.pri:
1495         * WebCore.gypi:
1496         * WebCore.vcproj/WebCore.vcproj:
1497         * WebCore.xcodeproj/project.pbxproj:
1498         * css/LengthFunctions.cpp: Added.
1499         (WebCore):
1500         (WebCore::miminumValueForLength):
1501         (WebCore::valueForLength):
1502         (WebCore::floatValueForLength):
1503         * css/LengthFunctions.h:
1504         (WebCore):
1505
1506 2012-03-22  Alexis Menard  <alexis.menard@openbossa.org>
1507
1508         Increase code sharing between CSSParser and CSSPropertyLonghand.
1509         https://bugs.webkit.org/show_bug.cgi?id=81587
1510
1511         Reviewed by Antti Koivisto.
1512
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.
1518
1519         No new tests : no behavior change.
1520
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.
1527         * css/CSSParser.h:
1528         (WebCore):
1529         (CSSParser):
1530         * css/CSSPropertyLonghand.cpp:
1531         (WebCore):
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:
1572         (WebCore):
1573
1574 2012-03-22  Emil A Eklund  <eae@chromium.org>
1575
1576         Unreviewed, touching file to force bots to pick up CSS_SHADERS flag change. 
1577
1578         * css/CSSStyleSelector.h:
1579         (CSSStyleSelector):
1580
1581 2012-03-22  Xingnan Wang  <xingnan.wang@intel.com>
1582
1583         ReverbConvolver::latencyFrames() should return 0.
1584         https://bugs.webkit.org/show_bug.cgi?id=81806
1585
1586         Reviewed by Chris Rogers.
1587
1588         * platform/audio/ReverbConvolver.cpp:
1589         (WebCore::ReverbConvolver::latencyFrames):
1590
1591 2012-03-22  Tony Chang  <tony@chromium.org>
1592
1593         refactor flexbox in preparation for flex-line-pack
1594         https://bugs.webkit.org/show_bug.cgi?id=81843
1595
1596         Reviewed by Ojan Vafai.
1597
1598         Replace WrapReverseContext with a vector of LineContexts that contain
1599         the same information, plus values needed for flex-align.
1600
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.
1604
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.
1607
1608         No new tests, just refactoring.
1609
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:
1619
1620 2012-03-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1621
1622         Event dispatching in XMLHttpRequestProgressEventThrottle should go through XMLHttpRequestProgressEventThrottle::dispatchEvent
1623         https://bugs.webkit.org/show_bug.cgi?id=46743
1624
1625         Reviewed by Julien Chaffraix
1626         Based on original patch by Anton D'Auria
1627
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.
1638
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):
1649
1650 2012-03-22  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
1651
1652         [EFL] Map BackSpace key code to Unicode value
1653         https://bugs.webkit.org/show_bug.cgi?id=81130
1654
1655         Reviewed by Gustavo Noronha Silva.
1656
1657         Test: fast/events/backspace-navigates-back.html
1658
1659         * platform/efl/EflKeyboardUtilities.cpp:
1660         (WebCore::createKeyMap): Map BackSpace to Unicode value
1661
1662 2012-03-22  Abhishek Arya  <inferno@chromium.org>
1663
1664         Incorrect beforeChild parent calculation in RenderRubyBase::moveChildren.
1665         https://bugs.webkit.org/show_bug.cgi?id=80297
1666
1667         Reviewed by Julien Chaffraix.
1668
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.
1672
1673         Test: fast/ruby/ruby-text-before-child-split.html
1674
1675         * rendering/RenderRubyBase.cpp:
1676         (WebCore::RenderRubyBase::moveChildren):
1677
1678 2012-03-22  Kristóf Kosztyó  <kkristof@inf.u-szeged.hu>
1679
1680         [Qt] Fix Qt minimal build after r111692
1681
1682         Reviewed by Csaba Osztrogonác.
1683
1684         * bindings/js/JSScriptProfileNodeCustom.cpp:
1685
1686 2012-03-22  Adrienne Walker  <enne@google.com>
1687
1688         [chromium] Fix scrollbar layers holding onto invalid textures after lost context
1689         https://bugs.webkit.org/show_bug.cgi?id=81841
1690
1691         Reviewed by James Robinson.
1692
1693         Unit test: CCLayerTreeHostImplTest.scrollbarLayerLostContext
1694
1695         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
1696         (WebCore::CCScrollbarLayerImpl::willDraw):
1697
1698 2012-03-22  Philippe Normand  <pnormand@igalia.com>
1699
1700         [GTK] ASSERT bug in WebAudio (AudioFileReader)
1701         https://bugs.webkit.org/show_bug.cgi?id=81777
1702
1703         Reviewed by Martin Robinson.
1704
1705         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1706         (WebCore::AudioFileReader::decodeAudioForBusCreation): Don't steal
1707         the GstBus floating reference.
1708         (WebCore::AudioFileReader::createBus): Ditto.
1709
1710 2012-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
1711
1712         Unreviewed: Web Inspector: fix syntax error in text.
1713
1714         * English.lproj/localizedStrings.js:
1715         * inspector/front-end/HeapSnapshotProxy.js:
1716         (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
1717
1718 2012-03-22  Sheriff Bot  <webkit.review.bot@gmail.com>
1719
1720         Unreviewed, rolling out r111688.
1721         http://trac.webkit.org/changeset/111688
1722         https://bugs.webkit.org/show_bug.cgi?id=81912
1723
1724         "Heap profiler test fails" (Requested by yurys on #webkit).
1725
1726         * inspector/front-end/HeapSnapshot.js:
1727         (WebInspector.HeapSnapshot.prototype._buildRetainers):
1728
1729 2012-03-22  Dana Jansens  <danakj@chromium.org>
1730
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
1733
1734         Reviewed by Adrienne Walker.
1735
1736         Split CCLayerTreeHostImpl::drawLayers() into two phases:
1737         prepareToDraw() and drawLayers().
1738
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.
1743
1744         Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
1745
1746         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1747         (WebCore::CCLayerImpl::appendQuads):
1748         * platform/graphics/chromium/cc/CCLayerImpl.h:
1749         (CCLayerImpl):
1750         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1751         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1752         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
1753         (WebCore):
1754         (WebCore::CCLayerTreeHostImpl::drawLayers):
1755         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1756         (CCLayerTreeHostImpl):
1757         (FrameData):
1758         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1759         (WebCore::CCQuadCuller::append):
1760         * platform/graphics/chromium/cc/CCQuadCuller.h:
1761         (CCQuadCuller):
1762         * platform/graphics/chromium/cc/CCRenderPass.cpp:
1763         (WebCore::CCRenderPass::appendQuadsForLayer):
1764         * platform/graphics/chromium/cc/CCRenderPass.h:
1765         (CCRenderPass):
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:
1785         (CCTiledLayerImpl):
1786         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1787         (WebCore::CCVideoLayerImpl::appendQuads):
1788         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
1789         (CCVideoLayerImpl):
1790
1791 2012-03-22  Levi Weintraub  <leviw@chromium.org>
1792
1793         Correct LayoutUnit usage in Accessibility code
1794         https://bugs.webkit.org/show_bug.cgi?id=81789
1795
1796         Reviewed by Eric Seidel.
1797
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.
1801
1802         No new tests. No change in behavior.
1803
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):
1835
1836 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
1837
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
1840
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.
1843
1844         Reviewed by Yury Semikhatsky.
1845
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):
1851
1852 2012-03-22  Carlos Garcia Campos  <cgarcia@bb-webkit-rel-64.local.igalia.com>
1853
1854         [GTK] Use the angle-bracket form to include wtf headers
1855         https://bugs.webkit.org/show_bug.cgi?id=81884
1856
1857         Reviewed by Eric Seidel.
1858
1859         Use #include <wtf/foo> instead of #include "foo".
1860
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:
1866
1867 2012-03-22  Alexander Pavlov  <apavlov@chromium.org>
1868
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
1871
1872         When registering a detached root, DOMAgent always presumes it is a node,
1873         while it can also be a document.
1874
1875         Reviewed by Vsevolod Vlasov.
1876
1877         Test: inspector/console/console-xml-document.html
1878
1879         * inspector/front-end/ConsoleMessage.js:
1880         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
1881         * inspector/front-end/DOMAgent.js:
1882         (WebInspector.DOMAgent.prototype._setDetachedRoot):
1883
1884 2012-03-22  Vsevolod Vlasov  <vsevik@chromium.org>
1885
1886         Web Inspector: Introduce ScriptBound/ScriptUnbound events in ScriptMapping.
1887         https://bugs.webkit.org/show_bug.cgi?id=81904
1888
1889         Reviewed by Pavel Feldman.
1890
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.
1896
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):
1917
1918 2012-03-22  Vineet Chaudhary  <rgf748@motorola.com>
1919
1920         https://bugs.webkit.org/show_bug.cgi?id=81893
1921         Remove custom bindings form ScriptProfileNode.idl of attribute type Array.
1922
1923         Reviewed by Kentaro Hara.
1924
1925         Replace [CustomGetter] Array with sequence<ScriptProfileNode>.
1926         To remove the custom bindings code.
1927
1928         Test: No new tests. LayoutTests/fast/profiler/* test are enough for this.
1929
1930         * bindings/js/JSScriptProfileNodeCustom.cpp: Removed custom function.
1931         (WebCore::JSScriptProfileNode::callUID):
1932         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Removed custom function.
1933         (WebCore):
1934         * inspector/ScriptProfileNode.idl: Replaced Array with sequence<ScriptProfileNode>.
1935
1936 2012-03-22  Andrey Kosyakov  <caseq@chromium.org>
1937
1938         Web Inspector: only update timeline overview categories strips when these are visible
1939         https://bugs.webkit.org/show_bug.cgi?id=81903
1940
1941         Reviewed by Pavel Feldman.
1942
1943         - factor out category strips update into a separate method;
1944         - only invoke it when "Timeline" overview mode is selected.
1945
1946         * inspector/front-end/TimelineOverviewPane.js:
1947         (WebInspector.TimelineOverviewPane.prototype._showTimelines):
1948         (WebInspector.TimelineOverviewPane.prototype.update):
1949         (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
1950
1951 2012-03-22  Levi Weintraub  <leviw@chromium.org>
1952
1953         Update LayoutUnit usage in FrameSelection
1954         https://bugs.webkit.org/show_bug.cgi?id=81754
1955
1956         Reviewed by Eric Seidel.
1957
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.
1961
1962         No new tests. No change in behavior.
1963
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:
1974         (FrameSelection):
1975         * editing/mac/FrameSelectionMac.mm:
1976         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): Switching to store absolute
1977         coordinates as integers.
1978
1979 2012-03-22  Alexei Filippov  <alexeif@chromium.org>
1980
1981         Web Inspector: Speed up the build retainers phase.
1982         https://bugs.webkit.org/show_bug.cgi?id=81763
1983
1984         Replacing the edge iterator with a raw loop makes it
1985         faster by more than 10 times.
1986
1987         Reviewed by Yury Semikhatsky.
1988
1989         * inspector/front-end/HeapSnapshot.js:
1990         (WebInspector.HeapSnapshot.prototype._buildRetainers):
1991
1992 2012-03-22  No'am Rosenthal  <noam.rosenthal@nokia.com>
1993
1994         [Qt][WK2] The background appears to have one extra pixel from the contents
1995         https://bugs.webkit.org/show_bug.cgi?id=81830
1996
1997         Reviewed by Kenneth Rohde Christiansen.
1998
1999         TextureMapperGL applied a 1-offset that was covering for another bug,
2000         which was already fixed.
2001
2002         No new tests, this would be tested once we test GL rendering results.
2003
2004         * platform/graphics/texmap/TextureMapperGL.cpp:
2005         (WebCore::TextureMapperGLData::SharedGLData::scissorClip):
2006
2007 2012-03-22  W. James MacLean  <wjmaclean@chromium.org>
2008
2009         Rename touchpad fling curve, add curve parameters to constructor.
2010         https://bugs.webkit.org/show_bug.cgi?id=81820
2011
2012         Reviewed by Adrienne Walker.
2013
2014         Covered by existing unit tests.
2015
2016         * GNUmakefile.list.am:
2017         * WebCore.gypi:
2018         * platform/ScrollAnimatorNone.cpp:
2019         (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
2020         * platform/TouchpadFlingPlatformGestureCurve.cpp: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.cpp.
2021         (WebCore):
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.
2027         (WebCore):
2028         (TouchpadFlingPlatformGestureCurve):
2029
2030 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
2031
2032         Web Inspector: make CSS and JavaScript files editable by default.
2033         https://bugs.webkit.org/show_bug.cgi?id=81787
2034
2035         Reviewed by Vsevolod Vlasov.
2036
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
2042         edit mode.
2043
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):
2082
2083 2012-03-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2084
2085         [Qt] Enable FAST_MOBILE_SCROLLING when scrolling is delegated.
2086         https://bugs.webkit.org/show_bug.cgi?id=81889
2087
2088         Reviewed by Kenneth Rohde Christiansen.
2089
2090         On the Qt platform only enable the fast mobile scroll feature when scrolling is delegated.
2091
2092         * rendering/RenderObject.cpp:
2093         (WebCore::RenderObject::styleWillChange):
2094
2095 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
2096
2097         Web Inspector: dispatch styleSheetChanged event synchronously.
2098         https://bugs.webkit.org/show_bug.cgi?id=81892
2099
2100         Reviewed by Vsevolod Vlasov.
2101
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.
2105
2106         This change makes stylesheet change event dispatch synchronously and delegates stylesheet
2107         content fetching to the event client.
2108
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):
2118
2119 2012-03-21  Ian Vollick  <vollick@chromium.org>
2120
2121         [chromium] timing functions are getting incorrectly applied for accelerated css transitions
2122         https://bugs.webkit.org/show_bug.cgi?id=81692
2123
2124         Reviewed by Adrienne Walker.
2125
2126         Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction
2127
2128         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2129
2130 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
2131
2132         Web Inspector: allow on-hover popover while in edit mode.
2133         https://bugs.webkit.org/show_bug.cgi?id=81898
2134
2135         Reviewed by Vsevolod Vlasov.
2136
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).
2139
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:
2153
2154 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
2155
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
2158
2159         Reviewed by Vsevolod Vlasov.
2160
2161         There is a bug that collapses selection prior to exiting change mode, we should never
2162         collapse edit area prior committing.
2163
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):
2171
2172 2012-03-22  Zoltan Herczeg  <zherczeg@webkit.org>
2173
2174         Merge SVGImageBufferTools to SVGRenderingContext
2175         https://bugs.webkit.org/show_bug.cgi?id=81890
2176
2177         Reviewed by Nikolas Zimmermann.
2178
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.
2183
2184         Existing tests cover this issue.
2185
2186         * CMakeLists.txt:
2187         * GNUmakefile.list.am:
2188         * Target.pri:
2189         * WebCore.gypi:
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):
2215         (WebCore):
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):
2229
2230 2012-03-22  Hyowon Kim  <hw1008.kim@samsung.com>
2231
2232         [EFL] Add PageClientEfl to WebCoreSupport.
2233         https://bugs.webkit.org/show_bug.cgi?id=80748
2234
2235         Reviewed by Noam Rosenthal.
2236
2237         * platform/Widget.h: Use PageClientEfl as type for PlatformPageClient.
2238         (WebCore):
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.
2243
2244 2012-03-22  Kaustubh Atrawalkar  <kaustubh@motorola.com>
2245
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
2248
2249         Reviewed by Hajime Morita.
2250
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.
2253
2254         Test: fast/dom/shadow/shadow-root-blur.html
2255
2256         * dom/Element.cpp:
2257         (WebCore::Element::blur): Modified to blur current treeScope's focused node.
2258         * dom/ShadowRoot.h:
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.
2262         * dom/TreeScope.h:
2263         (TreeScope): New function declartion.
2264         * html/HTMLDocument.cpp:
2265         (WebCore::HTMLDocument::activeElement): Rework for code sharing.
2266
2267 2012-03-22  Vsevolod Vlasov  <vsevik@chromium.org>
2268
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
2271
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.
2275
2276         Reviewed by Pavel Feldman.
2277
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):
2297
2298 2012-03-22  Mario Sanchez Prada  <msanchez@igalia.com>
2299
2300         [GTK] Fix the only remaining coding style issue in GTK accessibility code
2301         https://bugs.webkit.org/show_bug.cgi?id=81885
2302
2303         Reviewed by Xan Lopez.
2304
2305         Add needed extra line and remove an unneeded one.
2306
2307         * accessibility/gtk/AccessibilityObjectAtk.cpp:
2308
2309 2012-03-22  Kent Tamura  <tkent@chromium.org>
2310
2311         Expand RenderTextControlSingleLine::controlClipRect() to contain contentRect().
2312         https://bugs.webkit.org/show_bug.cgi?id=81866
2313
2314         Reviewed by Hajime Morita.
2315
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.
2318
2319         A current situation:
2320
2321         <input>
2322           ┗ ShadowRoot
2323              ┗ container element
2324         ┌────────────┐<input>'s border box
2325         │┌──────────┐│
2326         ││container box       ││
2327         │└──────────┘│
2328         └────────────┘
2329
2330         Wrapped by another ShadowRoot:
2331
2332         <input>
2333           ┗ New ShadowRoot
2334              ┣ <shadow> represents the existing shadow tree
2335              ┃  ┗ container element
2336              ┗ D: an additional decoration element
2337         ┌────────────┐<input>'s border box
2338         │┌───────┬──┐│
2339         ││container box │ D  ││
2340         │└───────┴──┘│
2341         └────────────┘
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>.
2344
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.
2350
2351         No new tests. This won't make any behavior change for now.
2352
2353         * rendering/RenderTextControlSingleLine.cpp:
2354         (WebCore::RenderTextControlSingleLine::controlClipRect):
2355
2356 2012-03-22  Yoshifumi Inoue  <yosin@chromium.org>
2357
2358         [Forms] The option element should not be form associated element.
2359         https://bugs.webkit.org/show_bug.cgi?id=79764
2360
2361         Reviewed by Kent Tamura.
2362
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.
2367
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
2371
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
2375
2376         No new tests but updated select-live-pseudo-selectors.html test.
2377
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.
2396
2397 2012-03-21  Pavel Podivilov  <podivilov@chromium.org>
2398
2399         Web Inspector: rename ClosureCompilerSourceMapping to SourceMapParser and move it to CompilerScriptMapping.js.
2400         https://bugs.webkit.org/show_bug.cgi?id=81780
2401
2402         Reviewed by Pavel Feldman.
2403
2404         * WebCore.gypi:
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:
2430
2431 2012-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
2432
2433         Web Inspector: IndexedDB transaction is not closed when requesting data.
2434         https://bugs.webkit.org/show_bug.cgi?id=81837
2435
2436         Reviewed by Pavel Feldman.
2437
2438         * inspector/InspectorIndexedDBAgent.cpp: Added missing IDBCursorBackendInterface::postSuccessHandlerCallback() call.
2439         (WebCore):
2440
2441 2012-03-21  Yury Semikhatsky  <yurys@chromium.org>
2442
2443         Web Inspector: event listeners section is broken for about:blank page
2444         https://bugs.webkit.org/show_bug.cgi?id=81795
2445
2446         Parse about:blank as a valid URL.
2447
2448         Reviewed by Pavel Feldman.
2449
2450         Test: inspector/elements/event-listeners-about-blank.html
2451
2452         * inspector/front-end/utilities.js:
2453         (String.prototype.asParsedURL):
2454
2455 2012-03-21  Dan Bernstein  <mitz@apple.com>
2456
2457         REGRESSION (r111635): Assertion failure in RenderFlexibleBox::layoutFlexItems() (!lineContexts.size()) in many flexbox tests
2458         https://bugs.webkit.org/show_bug.cgi?id=81870
2459
2460         Reverted r111635, the fix for bug 81843.
2461
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:
2473
2474 2012-03-21  Emil A Eklund  <eae@chromium.org>
2475
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). 
2479
2480         * platform/graphics/filters/CustomFilterProgram.h:
2481
2482 2012-03-21  Vangelis Kokkevis  <vangelis@chromium.org>
2483
2484         [chromium] FPS counter causes garbage to be displayed at top left corner
2485         https://bugs.webkit.org/show_bug.cgi?id=81851
2486
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.
2490
2491         Reviewed by Adrienne Walker.
2492
2493         TEST=Manually verified that --show-fps-counter and --show-composited-layer-tree work correctly.
2494
2495         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2496         (WebCore::CCHeadsUpDisplay::draw):
2497
2498 2012-03-21  Ryosuke Niwa  <rniwa@webkit.org>
2499
2500         Touch a file to make Chromium Windows bots happy.
2501
2502         * css/CSSValueKeywords.in:
2503
2504 2012-03-19  Igor Oliveira  <igor.o@sisa.samsung.com>
2505
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
2508
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.
2512
2513         Reviewed by Dean Jackson.
2514
2515         Test: animations/animation-welcome-safari.html
2516
2517         * page/animation/AnimationController.cpp:
2518         (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
2519         (WebCore):
2520         (WebCore::AnimationController::updateAnimations):
2521         * page/animation/AnimationControllerPrivate.h:
2522         (AnimationControllerPrivate):
2523
2524 2012-03-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2525
2526         Unreviewed, rolling out r111616.
2527         http://trac.webkit.org/changeset/111616
2528         https://bugs.webkit.org/show_bug.cgi?id=81862
2529
2530         broke chromium mac (Requested by eae on #webkit).
2531
2532         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2533         (WebCore::CCLayerImpl::appendQuads):
2534         * platform/graphics/chromium/cc/CCLayerImpl.h:
2535         (CCLayerImpl):
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:
2544         (CCQuadCuller):
2545         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2546         (WebCore::CCRenderPass::appendQuadsForLayer):
2547         * platform/graphics/chromium/cc/CCRenderPass.h:
2548         (CCRenderPass):
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:
2568         (CCTiledLayerImpl):
2569         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2570         (WebCore::CCVideoLayerImpl::appendQuads):
2571         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2572         (CCVideoLayerImpl):
2573
2574 2012-03-21  Beth Dakin  <bdakin@apple.com>
2575
2576         https://bugs.webkit.org/show_bug.cgi?id=80322
2577         Implement image-set
2578
2579         Reviewed by Dean Jackson.
2580
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.
2587
2588         CSSImageSetValue inherits from CSSValueList and behaves a lot like 
2589         CSSImageValue.
2590         * WebCore.xcodeproj/project.pbxproj:
2591         * css/CSSImageSetValue.h: Added.
2592         (WebCore):
2593         (CSSImageSetValue):
2594         (WebCore::CSSImageSetValue::create):
2595         (WebCore::CSSImageSetValue::isPending):
2596         (ImageWithScale):
2597         (WebCore::CSSImageSetValue::compareByScaleFactor):
2598         * css/CSSImageSetValue.cpp: Added.
2599         (WebCore):
2600         (WebCore::CSSImageSetValue::CSSImageSetValue):
2601         (WebCore::CSSImageSetValue::~CSSImageSetValue):
2602         (WebCore::CSSImageSetValue::cachedOrPendingImageSet):
2603         (WebCore::CSSImageSetValue::customCssText):
2604
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 
2607         and scale factors).
2608         (WebCore::CSSImageSetValue::fillImageSet):
2609
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):
2615
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):
2623         (WebCore):
2624         (WebCore::CSSParser::parseImageSet):
2625         * css/CSSParser.h:
2626
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):
2632
2633         Handle image-set as a valid image value.
2634         * css/CSSStyleSelector.cpp:
2635         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2636         * css/CSSStyleSelector.h:
2637         (CSSStyleSelector):
2638         * css/CSSValue.cpp:
2639         (WebCore::CSSValue::cssText):
2640         (WebCore::CSSValue::destroy):
2641         * css/CSSValue.h:
2642         (CSSValue):
2643         (WebCore::CSSValue::isImageSetValue):
2644
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:
2649         (CachedImage):
2650         * platform/graphics/GeneratedImage.h:
2651         (GeneratedImage):
2652         * platform/graphics/GeneratorGeneratedImage.cpp:
2653         (WebCore::GeneratedImage::computeIntrinsicDimensions):
2654         * platform/graphics/Image.cpp:
2655         (WebCore::Image::computeIntrinsicDimensions):
2656         * platform/graphics/Image.h:
2657         (Image):
2658         * platform/graphics/cg/PDFDocumentImage.cpp:
2659         (WebCore::PDFDocumentImage::computeIntrinsicDimensions):
2660         * platform/graphics/cg/PDFDocumentImage.h:
2661         (PDFDocumentImage):
2662         * svg/graphics/SVGImage.cpp:
2663         (WebCore::SVGImage::computeIntrinsicDimensions):
2664         * svg/graphics/SVGImage.h:
2665         (SVGImage):
2666
2667         Inherits from StyleImage and returns a scaled size for imageSize() and 
2668         computeIntrinsicDimensions().
2669         * rendering/style/StyleCachedImageSet.cpp: Added.
2670         (WebCore):
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.
2686         (WebCore):
2687         (StyleCachedImageSet):
2688         (WebCore::StyleCachedImageSet::create):
2689         (WebCore::StyleCachedImageSet::data):
2690         (WebCore::StyleCachedImageSet::cachedImage):
2691
2692         Handle image-set.
2693         * rendering/style/StyleImage.h:
2694         (WebCore::StyleImage::isCachedImageSet):
2695         (WebCore::StyleImage::StyleImage):
2696         (StyleImage):
2697         * rendering/style/StylePendingImage.h:
2698         (StylePendingImage):
2699         (WebCore::StylePendingImage::cssImageSetValue):
2700
2701 2012-03-21  David Barton  <dbarton@mathscribe.com>
2702
2703         MathML internals - improve naming in RenderMathMLSquareRoot.cpp and RenderMathMLRoot.cpp
2704         https://bugs.webkit.org/show_bug.cgi?id=81850
2705
2706         Reviewed by Eric Seidel.
2707
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.
2711
2712         No new tests. LayoutTests/mathml/presentation/roots.xhtml is thorough enough for this.
2713
2714         * rendering/mathml/RenderMathMLRoot.cpp:
2715         (WebCore):
2716         (WebCore::RenderMathMLRoot::addChild):
2717         (WebCore::RenderMathMLRoot::paint):
2718         (WebCore::RenderMathMLRoot::layout):
2719         * rendering/mathml/RenderMathMLRoot.h:
2720         (WebCore):
2721         (RenderMathMLRoot):
2722         * rendering/mathml/RenderMathMLSquareRoot.cpp:
2723         (WebCore):
2724         (WebCore::RenderMathMLSquareRoot::paint):
2725         (WebCore::RenderMathMLSquareRoot::layout):
2726         * rendering/mathml/RenderMathMLSquareRoot.h:
2727         (WebCore):
2728         (RenderMathMLSquareRoot):
2729         * rendering/mathml/RenderMathMLSubSup.h:
2730         (WebCore):
2731
2732 2012-03-21  Tony Chang  <tony@chromium.org>
2733
2734         refactor flexbox in preparation for flex-line-pack
2735         https://bugs.webkit.org/show_bug.cgi?id=81843
2736
2737         Reviewed by Ojan Vafai.
2738
2739         Replace WrapReverseContext with a vector of LineContexts that contain
2740         the same information, plus values needed for flex-align.
2741
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.
2745
2746         No new tests, just refactoring.
2747
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:
2757
2758 2012-03-21  Ryosuke Niwa  <rniwa@webkit.org>
2759
2760         BDI element should have dir=auto by default
2761         https://bugs.webkit.org/show_bug.cgi?id=68773
2762
2763         Reviewed by Daniel Bates.
2764
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
2767
2768         The patch tries to encapsulate the logic to look for dir content attribute and dir=auto.
2769
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.
2774
2775         Tests: fast/text/international/bdi-dir-default-to-auto-expected.html
2776                fast/text/international/bdi-dir-default-to-auto.html
2777
2778         * GNUmakefile.list.am:
2779         * Target.pri:
2780         * WebCore.gypi:
2781         * WebCore.vcproj/WebCore.vcproj:
2782         * WebCore.xcodeproj/project.pbxproj:
2783         * css/CSSStyleSelector.cpp:
2784         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2785         * html/HTMLBDIElement.h: Added.
2786         (WebCore):
2787         (HTMLBDIElement):
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.
2794         (WebCore):
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:
2802         (HTMLElement):
2803         * html/HTMLTagNames.in: Use HTMLBDIElement instead of HTMLElement for constructing bdi element
2804         to set selfOrAncestorHasDirAutoAttribute true but still use HTMLElement for binding.
2805
2806 2012-03-21  Luke Macpherson  <macpherson@chromium.org>
2807
2808         Use CSSPrimitiveValue::convertToLength() in a few places.
2809         https://bugs.webkit.org/show_bug.cgi?id=81492
2810
2811         Reviewed by Eric Seidel.
2812
2813         No new tests - refactoring only.
2814
2815         CSSPrimitiveValue::convertToLength() provides the same functionality that is duplicated
2816         in many places in CSSStyleSelector. This patch removes some of that code duplication.
2817
2818         * css/CSSStyleApplyProperty.cpp:
2819         (WebCore::ApplyPropertyVerticalAlign::applyValue):
2820         * css/CSSStyleSelector.cpp:
2821         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2822
2823 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
2824
2825         Build fix for ENABLE(SVG) && !ENABLE(FILTERS) after r111601.
2826
2827         * rendering/svg/RenderSVGRoot.cpp:
2828
2829 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
2830
2831         Build fix for !ENABLE(INSPECTOR) after r104831.
2832
2833         * bindings/js/ScriptDebugServer.cpp:
2834         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2835
2836 2012-03-21  Xiaomei Ji  <xji@chromium.org>
2837
2838         visual word movement: using cache to decrease the number of collectLeafBoxesInLogicalOrder on RootInlineBox
2839         https://bugs.webkit.org/show_bug.cgi?id=81408
2840
2841         Reviewed by Ryosuke Niwa.
2842
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).
2846
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):
2851         (WebCore):
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):
2862
2863 2012-03-21  Dana Jansens  <danakj@chromium.org>
2864
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
2867
2868         Reviewed by Adrienne Walker.
2869
2870         Split CCLayerTreeHostImpl::drawLayers() into two phases:
2871         prepareToDraw() and drawLayers().
2872
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.
2877
2878         Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
2879
2880         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2881         (WebCore::CCLayerImpl::appendQuads):
2882         * platform/graphics/chromium/cc/CCLayerImpl.h:
2883         (CCLayerImpl):
2884         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2885         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2886         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
2887         (WebCore):
2888         (WebCore::CCLayerTreeHostImpl::drawLayers):
2889         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2890         (CCLayerTreeHostImpl):
2891         (FrameData):
2892         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2893         (WebCore::CCQuadCuller::append):
2894         * platform/graphics/chromium/cc/CCQuadCuller.h:
2895         (CCQuadCuller):
2896         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2897         (WebCore::CCRenderPass::appendQuadsForLayer):
2898         * platform/graphics/chromium/cc/CCRenderPass.h:
2899         (CCRenderPass):
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:
2919         (CCTiledLayerImpl):
2920         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2921         (WebCore::CCVideoLayerImpl::appendQuads):
2922         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2923         (CCVideoLayerImpl):
2924
2925 2012-03-21  Enrica Casucci  <enrica@apple.com>
2926
2927         WebKitURLWithTitles pasteboard format should support URLs containing Emoji characters.
2928         https://bugs.webkit.org/show_bug.cgi?id=81835
2929         <rdar://problem/11082749>
2930
2931         Reviewed by Brady Eidson.
2932
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.
2936         
2937         Added TestWebKitAPI test.
2938
2939         * platform/mac/PasteboardMac.mm:
2940         (WebCore::writeURLForTypes): Writes to the pasteboard the original URL.
2941
2942 2012-03-21  Levi Weintraub  <leviw@chromium.org>
2943
2944         Correct LayoutUnit usage in VisiblePosition.cpp
2945         https://bugs.webkit.org/show_bug.cgi?id=81775
2946
2947         Reviewed by Eric Seidel.
2948
2949         Correcting a mismatch between the .h and .cpp for the definition of localCaretRect,
2950         and properly using LayoutUnits for local coordinates.
2951
2952         No new tests. No change in behavior.
2953
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.
2959
2960 2012-03-21  Adam Klein  <adamk@chromium.org>
2961
2962         "this" argument for MutationCallbacks should be the MutationObserver
2963         https://bugs.webkit.org/show_bug.cgi?id=81712
2964
2965         Reviewed by Adam Barth.
2966
2967         Test: fast/mutation/callback-arguments.html
2968
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:
2973         (JSCallbackData):
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:
2980         (WebCore):
2981         * bindings/v8/custom/V8MutationCallbackCustom.cpp:
2982         (WebCore::V8MutationCallback::handleEvent): Call the new overload.
2983
2984 2012-03-21  Alexandru Chiculita  <achicu@adobe.com>
2985
2986         [CSS Shaders] Make CSS Shaders compile on Chromium
2987         https://bugs.webkit.org/show_bug.cgi?id=81435
2988
2989         Reviewed by Stephen White.
2990
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.
2993
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.
2997
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. 
3001
3002         * loader/cache/CachedResource.cpp: Made CachedResource::ShaderResource report as ResourceRequest::TargetIsSubresource for Chromium.
3003         (WebCore::cachedResourceTypeToTargetType):
3004
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.
3013
3014         * rendering/FilterEffectRenderer.cpp:
3015         (WebCore::FilterEffectRenderer::build): Passing the HostWindow instead of the Document.
3016
3017 2012-03-21  Mark Pilgrim  <pilgrim@chromium.org>
3018
3019         Realphabetize about webaudio move
3020         https://bugs.webkit.org/show_bug.cgi?id=81825
3021
3022         Reviewed by Adam Barth.
3023
3024         No new tests, all existing tests pass.
3025
3026         * CMakeLists.txt:
3027
3028 2012-03-21  Anders Carlsson  <andersca@apple.com>
3029
3030         Evict tiles from pages in background tabs
3031         https://bugs.webkit.org/show_bug.cgi?id=81829
3032         <rdar://problem/10866152>
3033
3034         Reviewed by Andreas Kling.
3035
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.
3039
3040         * platform/graphics/ca/mac/TileCache.h:
3041         (TileCache):
3042         * platform/graphics/ca/mac/TileCache.mm:
3043         (WebCore::TileCache::tileCacheLayerBoundsChanged):
3044         (WebCore::TileCache::setIsInWindow):
3045         (WebCore::TileCache::tileCoverageRect):
3046         (WebCore):
3047         (WebCore::TileCache::scheduleTileRevalidation):
3048         (WebCore::TileCache::revalidateTiles):
3049
3050 2012-03-21  Stephen Chenney  <schenney@chromium.org>
3051
3052         SVG layout leaves objects still needing layout
3053         https://bugs.webkit.org/show_bug.cgi?id=81006
3054
3055         Reviewed by Nikolas Zimmermann.
3056
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.
3060
3061         Test: svg/custom/delete-text-innerText-crash.html
3062
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):
3070         (WebCore):
3071         * rendering/svg/RenderSVGRoot.h:
3072         (RenderSVGRoot):
3073
3074 2012-03-21  Tim Horton  <timothy_horton@apple.com>
3075
3076         Make use of CG rounded-rect primitives
3077         https://bugs.webkit.org/show_bug.cgi?id=79932
3078         <rdar://problem/9274953>
3079
3080         Reviewed by Simon Fraser.
3081
3082         Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman.
3083
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.
3088
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.
3093
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.
3097
3098         No new tests, as this is covered by many that use rounded corners,
3099         and is only a performance improvement.
3100
3101         * WebCore.exp.in:
3102         * platform/graphics/Path.cpp:
3103         (WebCore::Path::addRoundedRect):
3104         (WebCore):
3105         (WebCore::Path::addPathForRoundedRect):
3106         * platform/graphics/Path.h:
3107         (Path):
3108         * platform/graphics/cg/PathCG.cpp:
3109         (WebCore::Path::platformAddPathForRoundedRect):
3110         (WebCore):
3111         * platform/mac/WebCoreSystemInterface.h:
3112         * platform/mac/WebCoreSystemInterface.mm:
3113         * rendering/svg/SVGPathData.cpp:
3114         (WebCore::updatePathFromRectElement):
3115
3116 2012-03-21  David Reveman  <reveman@chromium.org>
3117
3118         [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
3119         https://bugs.webkit.org/show_bug.cgi?id=80988
3120
3121         Reviewed by Adrienne Walker.
3122
3123         Expose EXT_occlusion_query API to WebKit compositor. Add
3124         GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query
3125         enums.
3126
3127         * platform/graphics/chromium/Extensions3DChromium.h:
3128         (Extensions3DChromium):
3129
3130 2012-03-21  Tony Chang  <tony@chromium.org>
3131
3132         compute the sign of flexibility for new flexbox
3133         https://bugs.webkit.org/show_bug.cgi?id=81722
3134
3135         Reviewed by Ojan Vafai.
3136
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
3140
3141         No new tests, we don't use the sign of flexibility yet.
3142
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
3148         spec text better.
3149         * rendering/RenderFlexibleBox.h: Added enum for flex sign.
3150
3151 2012-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
3152
3153         Web Inspector: Extract WebInspector.UIBreakpoint from WebInspector.Breakpoint.
3154         https://bugs.webkit.org/show_bug.cgi?id=81669
3155
3156         Reviewed by Pavel Feldman.
3157
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:
3193
3194 2012-03-21  Anders Carlsson  <andersca@apple.com>
3195
3196         TileCache needs to know if its containing page is in a window
3197         https://bugs.webkit.org/show_bug.cgi?id=81821
3198
3199         Reviewed by Andreas Kling.
3200
3201         This is in preparation for throwing away invisible tiles in background tabs to reduce memory usage.
3202
3203         * page/FrameView.cpp:
3204         (WebCore::FrameView::didMoveOnscreen):
3205         (WebCore::FrameView::willMoveOffscreen):
3206         * page/Page.cpp:
3207         (WebCore::Page::Page):
3208         (WebCore::Page::didMoveOnscreen):
3209         (WebCore::Page::willMoveOffscreen):
3210         * page/Page.h:
3211         (WebCore::Page::isOnscreen):
3212         (Page):
3213         * platform/graphics/TiledBacking.h:
3214         (TiledBacking):
3215         * platform/graphics/ca/mac/TileCache.h:
3216         (TileCache):
3217         * platform/graphics/ca/mac/TileCache.mm:
3218         (WebCore::TileCache::TileCache):
3219         (WebCore::TileCache::setIsInWindow):
3220         (WebCore):
3221         * rendering/RenderLayerBacking.cpp:
3222         (WebCore::RenderLayerBacking::RenderLayerBacking):
3223
3224 2012-03-21  Xingnan Wang  <xingnan.wang@intel.com>
3225
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
3228
3229         Reviewed by Chris Rogers.
3230
3231         * platform/audio/ReverbConvolverStage.cpp:
3232         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
3233
3234 2012-03-21  Xiaomei Ji  <xji@chromium.org>
3235
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
3238
3239         Reviewed by Adam Barth.
3240
3241         Treat zero-width-space (\u200B) as true for treatAsZeroWidthSpaceInComplexScipt().
3242
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):
3249
3250 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
3251
3252         Build fix for !ENABLE(INSPECTOR) after r111005.
3253
3254         * inspector/ContentSearchUtils.h:
3255
3256 2012-03-21  Ulan Degenbaev  <ulan@chromium.org>
3257
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
3260
3261         Reviewed by Adam Barth.
3262
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.
3265
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):
3274
3275 2012-03-21  Nat Duca  <nduca@chromium.org>
3276
3277         [chromium] CCThreadProxy must initialize frameBeginTime to monotonicallyIncreasingTime rather than zero
3278         https://bugs.webkit.org/show_bug.cgi?id=81790
3279
3280         Reviewed by James Robinson.
3281
3282         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3283         (WebCore::CCThreadProxy::scheduledActionBeginFrame):
3284
3285 2012-03-21  Xingnan Wang  <xingnan.wang@intel.com>
3286
3287         Add multichannel support in RealtimeAnalyser
3288         https://bugs.webkit.org/show_bug.cgi?id=81745
3289
3290         Reviewed by Chris Rogers.
3291
3292         * Modules/webaudio/RealtimeAnalyser.cpp:
3293         (WebCore::RealtimeAnalyser::writeInput):
3294         (WebCore):
3295
3296 2012-03-21  Eric Carlson  <eric.carlson@apple.com>
3297
3298         Removing HTMLTrackElement does not delete TextTrack
3299         https://bugs.webkit.org/show_bug.cgi?id=80873
3300
3301         Reviewed by Antti Koivisto.
3302
3303         No new tests, but media/track/track-language-preference.html has been updated
3304         to test this fix.
3305
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:
3311
3312         * html/HTMLTrackElement.cpp:
3313         (WebCore::HTMLTrackElement::insertedIntoTree): Renamed from insertedIntoDocument
3314         (WebCore::HTMLTrackElement::willRemove): Renamed from removedFromDocument.
3315         * html/HTMLTrackElement.h:
3316
3317         * html/track/LoadableTextTrack.cpp:
3318         (WebCore::LoadableTextTrack::trackElementIndex): Don't include tracks that are not in the
3319         document in the calcualtion.
3320
3321 2012-03-21  Zeno Albisser  <zeno@webkit.org>
3322
3323         [Qt][Mac] ranlib segfaults when creating symbol tables for libWebCore.a.
3324         https://bugs.webkit.org/show_bug.cgi?id=81750
3325
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.
3331
3332         Reviewed by Tor Arne Vestbø.
3333
3334         * Target.pri:
3335
3336 2012-03-21  Tommy Widenflycht  <tommyw@google.com>
3337
3338         [chromium] MediaStream API (JSEP): Introducing WebSessionDescription and WebIceCandidate
3339         https://bugs.webkit.org/show_bug.cgi?id=81339
3340
3341         Reviewed by Adam Barth.
3342
3343         Not possible to test until the entire JSEP feature is commited.
3344
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):
3363
3364 2012-03-21  Yuta Kitamura  <yutak@chromium.org>
3365
3366         Use RFC version of WebSocket protocol by default
3367         https://bugs.webkit.org/show_bug.cgi?id=81718
3368
3369         Reviewed by Kent Tamura.
3370
3371         Flip the default value of Settings::m_useHixie76WebSocketProtocol so WebKit ports will use
3372         RFC version of WebSocket protocol by default.
3373
3374         All the existing ports already use the RFC protocol as of now, so this change will not make
3375         any impact (hopefully).
3376
3377         No new tests. No change in functionality.
3378
3379         * page/Settings.cpp:
3380         (WebCore::Settings::Settings):
3381
3382 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
3383
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
3386
3387         Reviewed by Pavel Feldman.
3388
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):
3398
3399 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
3400
3401         EventListener::Type enum has unused member InspectorDOMAgentType
3402         https://bugs.webkit.org/show_bug.cgi?id=81794
3403
3404         Reviewed by Pavel Feldman.
3405
3406         * dom/EventListener.h:
3407
3408 2012-03-21  Tom Hudson  <tomhudson@google.com>
3409
3410         Incremental cleanup of BitmapImage: inlined virtual functions
3411         https://bugs.webkit.org/show_bug.cgi?id=81688
3412
3413         Reviewed by James Robinson.
3414
3415         No change in functionality, so no new tests.
3416
3417         Move virtual functions defined in headers into .cpp files.
3418
3419         * WebCore.gypi:
3420         * platform/graphics/BitmapImage.cpp:
3421         (WebCore::BitmapImage::isBitmapImage):
3422         (WebCore):
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:
3431         (BitmapImage):
3432         * platform/graphics/skia/BitmapImageSingleFrameSkia.cpp: Added.
3433         (WebCore):
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):
3443
3444 2012-03-21  Alexey Proskuryakov  <ap@apple.com>
3445
3446         Remove obsolete File attributes
3447         https://bugs.webkit.org/show_bug.cgi?id=79383
3448
3449         Reviewed by Hajime Morita.
3450
3451         * bindings/objc/PublicDOMInterfaces.h:
3452         * fileapi/File.h:
3453         * fileapi/File.idl:
3454         Removed fileName and fileSize, they have different names now.
3455
3456         * html/FileInputType.cpp:
3457         (WebCore::FileInputType::appendFormData):
3458         (WebCore::FileInputType::getTypeSpecificValue):
3459         (WebCore::FileInputType::defaultToolTip):
3460         Updated to use new function names.
3461
3462 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3463
3464         TiledBackingStore: Create the first round of tiles synchronously after setting the visible rect.
3465         https://bugs.webkit.org/show_bug.cgi?id=81762
3466
3467