4affdd732c35fa73d639b07b732ab717ca0f2df5
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-23  Beth Dakin  <bdakin@apple.com>
2
3         https://bugs.webkit.org/show_bug.cgi?id=82083
4         Too many ScrollAnimators are allocated on pages with frames
5
6         Reviewed by Geoffrey Garen.
7
8         This patch adds a new getter to ScrollableArea called 
9         getExistingScrollAnimator() unlike scrollAnimator() this new function will 
10         just return null if there is not already a ScrollAnimator. Callers should use 
11         this new function when they have business with ScrollAnimator that does not 
12         need to do anything when there are no scrollbars.
13         * loader/FrameLoader.cpp:
14         (WebCore::FrameLoader::transitionToCommitted):
15         * page/EventHandler.cpp:
16         (WebCore::EventHandler::handleGestureTapDown):
17         * page/FrameView.cpp:
18         (WebCore::FrameView::setAnimatorsAreActive):
19         * platform/ScrollView.cpp:
20         (WebCore::ScrollView::updateScrollbars):
21         * platform/ScrollableArea.cpp:
22         (WebCore::ScrollableArea::willStartLiveResize):
23         (WebCore::ScrollableArea::willEndLiveResize):
24         (WebCore::ScrollableArea::contentAreaWillPaint):
25         (WebCore::ScrollableArea::mouseEnteredContentArea):
26         (WebCore::ScrollableArea::mouseExitedContentArea):
27         (WebCore::ScrollableArea::mouseMovedInContentArea):
28         (WebCore::ScrollableArea::contentAreaDidShow):
29         (WebCore::ScrollableArea::contentAreaDidHide):
30         (WebCore::ScrollableArea::willRemoveHorizontalScrollbar):
31         (WebCore::ScrollableArea::contentsResized):
32         (WebCore::ScrollableArea::serviceScrollAnimations):
33         * platform/ScrollableArea.h:
34         (ScrollableArea):
35         (WebCore::ScrollableArea::getExistingScrollAnimator):
36
37 2012-03-23  Eric Carlson  <eric.carlson@apple.com>
38
39         Deal with DOM modifications when evaluating source elements.
40         https://bugs.webkit.org/show_bug.cgi?id=81163
41
42         Reviewed by Alexey Proskuryakov.
43
44         Test: media/video-beforeload-remove-source.html
45
46         * dom/ContainerNode.cpp: Make NodeVector and collectNodes public, renamed as getChildNodes.
47         (WebCore::ContainerNode::takeAllChildrenFrom): collectNodes -> getChildNodes.
48         (WebCore::ContainerNode::willRemove): collectNodes -> getChildNodes.
49         (WebCore::ContainerNode::willRemoveChildren): collectNodes -> getChildNodes.
50         (WebCore::ContainerNode::insertedIntoDocument): collectNodes -> getChildNodes.
51         (WebCore::ContainerNode::removedFromDocument): collectNodes -> getChildNodes.
52         * dom/ContainerNode.h:
53         (WebCore::getChildNodes):
54
55         * editing/ReplaceSelectionCommand.cpp: Remove unused NodeVector declaration.
56
57         * html/HTMLMediaElement.cpp:
58         (WebCore::HTMLMediaElement::HTMLMediaElement): m_nextChildNodeToConsider and m_currentSourceNode
59             are now RefPtrs.
60         (WebCore::HTMLMediaElement::loadTimerFired): Protect HTMLMediaElement from being deleted during
61             a DOM modification during an event callback.
62         (WebCore::HTMLMediaElement::load): Ditto.
63         (WebCore::HTMLMediaElement::selectMediaResource): Set m_nextChildNodeToConsider to the first
64             child node, it will be the first node considered.
65         (WebCore::HTMLMediaElement::havePotentialSourceChild): m_nextChildNodeToConsider and m_currentSourceNode
66             are now RefPtrs.
67         (WebCore::HTMLMediaElement::selectNextSourceChild): Collect all child nodes in a vector before
68             looking for <source> nodes because 'beforeload' event handlers can mutate the DOM. Don't
69             use a <source> that is no longer a child node after 'beforeload'. Use 0 to represent the end
70             of the child node list because m_nextChildNodeToConsider is now a RefPtr so using the previous 
71             sentinel, "this", would cause a retain cycle.
72         (WebCore::HTMLMediaElement::sourceWasAdded):  m_nextChildNodeToConsider and m_currentSourceNode
73             are now RefPtrs.
74         (WebCore::HTMLMediaElement::sourceWillBeRemoved): Ditto.
75         (WebCore::HTMLMediaElement::getPluginProxyParams): Protect HTMLMediaElement from being deleted during
76             a DOM modification during an event callback.
77         * html/HTMLMediaElement.h:
78
79 2012-03-23  Dean Jackson  <dino@apple.com>
80
81         Disable CSS_SHADERS in Apple builds
82         https://bugs.webkit.org/show_bug.cgi?id=81996
83
84         Reviewed by Simon Fraser.
85
86         Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h.
87
88         * Configurations/FeatureDefines.xcconfig:
89
90 2012-03-23  Dave Michael  <dmichael@chromium.org>
91
92         Relanding(r111754): HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
93         https://bugs.webkit.org/show_bug.cgi?id=80428
94
95         Reviewed by Eric Seidel and Ryosuke Niwa.
96
97         Make HTMLPluginElement release its m_NPObject in detach() to break a
98         reference-counting cycle that happens on reload or navigation. With this
99         change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
100         was removed. Note that Releasing m_NPObject does not result in a call to
101         the plugin; it simply releases a reference count on the wrapper object
102         for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
103         when the render tree is destroyed, when PluginView calls
104         PluginPackage::unload.) Thus, it is safe to release m_NPObject in
105         detach, because it can not result in layout or style changes.
106
107         Also added numberOfLiveNodes() and numberOfLiveDocuments() to
108         window.internals to enable testing.
109
110         Test: plugins/netscape-dom-access-and-reload.html
111
112         * WebCore.exp.in:
113         * html/HTMLPlugInElement.cpp:
114         (WebCore::HTMLPlugInElement::detach):
115         * html/HTMLPlugInElement.h:
116         (HTMLPlugInElement):
117         * testing/Internals.cpp:
118         (WebCore):
119         (WebCore::Internals::numberOfLiveNodes):
120         (WebCore::Internals::numberOfLiveDocuments):
121         * testing/Internals.h:
122         (Internals):
123         * testing/Internals.idl:
124
125 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
126
127         CSSParser doesn't set border-*-width/style/color to initial by border shorthand property
128         https://bugs.webkit.org/show_bug.cgi?id=82040
129
130         Reviewed by Antti Koivisto.
131
132         The border shorthand property sets values for border-width, border-style, and border-color shorthand properties.
133         While CSSParser::parseValue can process these shorthand properties properly and set the longhand properties
134         such as border-top-width, border-right-width, ... border-left-color, CSSParser::addProperty can't and the
135         initialization in parseShorthand fails for the border property.
136
137         Fixed the bug by explicitly initializing longhand properties.
138
139         Changing the behavior here is unlikely to break the Web since our behavior already differs from that of Firefox
140         and Internet Explorer. Both of those browsers return the actual initial values such as "medium" and "currentColor".
141         This discrepancy is tracked by https://bugs.webkit.org/show_bug.cgi?id=82078.
142
143         Test: fast/css/border-shorthand-initialize-longhands.html
144
145         * css/CSSParser.cpp:
146         (WebCore::CSSParser::parseValue): Uses borderAbridgedLonghand.
147         (WebCore::CSSParser::parseShorthand): Uses longhand properties for initialization if one is available.
148         This allows us to initialize multiple properties (e.g. border-*-color) for a single property missing in the set.
149         * css/CSSPropertyLonghand.cpp:
150         (WebCore::borderAbridgedLonghand): Added. The longhand here (border-width, border-style, border-color) is
151         "abridged" in the sense that they're still shorthands.
152         * css/CSSPropertyLonghand.h:
153         (WebCore::CSSPropertyLonghand::CSSPropertyLonghand):
154         (CSSPropertyLonghand): Added the version that takes longhand instances for initialization purposes.
155         (WebCore::CSSPropertyLonghand::longhandsForInitialization):
156
157 2012-03-23  Tony Chang  <tony@chromium.org>
158
159         [chromium] rename newwtf target back to wtf
160         https://bugs.webkit.org/show_bug.cgi?id=82064
161
162         Reviewed by Adam Barth.
163
164         No new tests, only renaming a build target.
165
166         * WebCore.gyp/WebCore.gyp:
167
168 2012-03-23  Adrienne Walker  <enne@google.com>
169
170         [chromium] Turn off painting of scrollbars on compositor thread for unsupported platforms
171         https://bugs.webkit.org/show_bug.cgi?id=82066
172
173         Reviewed by James Robinson.
174
175         With threaded compositing, OSX will crash and Windows will have black
176         scrollbars. Fix that by reverting to the previosu behavior of updating
177         scrollbars on the main thread instead.
178
179         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
180         (WebCore::scrollbarLayerDidChange):
181
182 2012-03-23  Dan Bernstein  <mitz@apple.com>
183
184         <rdar://problem/7883987> ASSERTION FAILED: ASSERT(input == AnimationStateInputEndTimerFired || input == AnimationStateInputPlayStatePaused) in AnimationBase::updateStateMachine causing multiple "crashes" on Lion Intel Debug WebKit testers
185         https://bugs.webkit.org/show_bug.cgi?id=81351
186
187         Rubber-stamped by Jessie Berlin.
188
189         * page/animation/AnimationBase.cpp:
190         (WebCore::AnimationBase::updateStateMachine): Replaced the assertion with a LOG_ERROR so that
191         the issue is still noticeable, but it does not automatically make the debug bots red.
192
193 2012-03-23  Mike Lawther  <mikelawther@chromium.org>
194
195         CSS3 calc: image sizing works with mixed percentage/absolute
196         https://bugs.webkit.org/show_bug.cgi?id=82017
197
198         Reviewed by Ojan Vafai.
199
200         Test: css3/calc/img-size-expected.html
201
202         * rendering/RenderBox.cpp:
203         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
204         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
205
206 2012-03-23  Julien Chaffraix  <jchaffraix@webkit.org>
207
208         REGRESSION(107971): Google Voice contact list is broken in WebKit due to badly allocating the extra height
209         https://bugs.webkit.org/show_bug.cgi?id=81826
210
211         Reviewed by Tony Chang.
212
213         Covered by tables/mozilla/bugs/bug27038-{1|2}.html.
214
215         This partly reverts r107971: the extra logical height distribution change was not needed
216         to fix the bug (it is needed by the test though). We revert to giving all the extra height
217         to the first tbody and not the first section.
218
219         This is broken but unfortunately some websites are relying on that. Getting a real
220         distribution algorithm is covered by bug 81824. However this is super tricky to get
221         right and I did not want to add more compatibility risks until I have something solid.
222
223         * rendering/RenderTable.cpp:
224         (WebCore::RenderTable::distributeExtraLogicalHeight):
225
226 2012-03-23  Xingnan Wang  <xingnan.wang@intel.com>
227
228         Optimize for IPP in DirectConvolver::process()
229         https://bugs.webkit.org/show_bug.cgi?id=80255
230
231         Reviewed by Chris Rogers.
232
233         Increase ~2X performance by conv() in IPP.
234
235         * platform/audio/DirectConvolver.cpp:
236         (WebCore::DirectConvolver::DirectConvolver):
237         (WebCore::DirectConvolver::process):
238         * platform/audio/DirectConvolver.h:
239         (DirectConvolver):
240
241 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
242
243         MediaStream API (JSEP): Introducing PeerConnection00 and IceCallback
244         https://bugs.webkit.org/show_bug.cgi?id=81657
245
246         Reviewed by Adam Barth.
247
248         Last major WebCore patch for the JSEP PeerConnection, together with the associated
249         IceCallback (they both depend on each other and IceCallback has very few lines of real code).
250
251         My next patch after this one will do a major overhaul of the existing layout tests
252         and add a few new ones.
253
254         * GNUmakefile.list.am:
255         * Modules/mediastream/DOMWindowMediaStream.idl:
256         * Modules/mediastream/IceCallback.h: Added.
257         (WebCore):
258         (IceCallback):
259         (WebCore::IceCallback::~IceCallback):
260         * Modules/mediastream/IceCallback.idl: Added.
261         * Modules/mediastream/PeerConnection00.cpp: Added.
262         (WebCore):
263         (WebCore::PeerConnection00::create):
264         (WebCore::PeerConnection00::PeerConnection00):
265         (WebCore::PeerConnection00::~PeerConnection00):
266         (WebCore::PeerConnection00::hasLocalAudioTrack):
267         (WebCore::PeerConnection00::hasLocalVideoTrack):
268         (WebCore::PeerConnection00::parseMediaHints):
269         (WebCore::PeerConnection00::createOffer):
270         (WebCore::PeerConnection00::createAnswer):
271         (WebCore::PeerConnection00::setLocalDescription):
272         (WebCore::PeerConnection00::setRemoteDescription):
273         (WebCore::PeerConnection00::localDescription):
274         (WebCore::PeerConnection00::remoteDescription):
275         (WebCore::PeerConnection00::startIce):
276         (WebCore::PeerConnection00::processIceMessage):
277         (WebCore::PeerConnection00::readyState):
278         (WebCore::PeerConnection00::iceState):
279         (WebCore::PeerConnection00::addStream):
280         (WebCore::PeerConnection00::removeStream):
281         (WebCore::PeerConnection00::localStreams):
282         (WebCore::PeerConnection00::remoteStreams):
283         (WebCore::PeerConnection00::close):
284         (WebCore::PeerConnection00::didGenerateIceCandidate):
285         (WebCore::PeerConnection00::didChangeReadyState):
286         (WebCore::PeerConnection00::didChangeIceState):
287         (WebCore::PeerConnection00::didAddRemoteStream):
288         (WebCore::PeerConnection00::didRemoveRemoteStream):
289         (WebCore::PeerConnection00::interfaceName):
290         (WebCore::PeerConnection00::scriptExecutionContext):
291         (WebCore::PeerConnection00::stop):
292         (WebCore::PeerConnection00::eventTargetData):
293         (WebCore::PeerConnection00::ensureEventTargetData):
294         (WebCore::PeerConnection00::changeReadyState):
295         (WebCore::PeerConnection00::changeIceState):
296         * Modules/mediastream/PeerConnection00.h: Added.
297         (WebCore):
298         (PeerConnection00):
299         (WebCore::PeerConnection00::refEventTarget):
300         (WebCore::PeerConnection00::derefEventTarget):
301         * Modules/mediastream/PeerConnection00.idl: Added.
302         * WebCore.gypi:
303         * bindings/generic/RuntimeEnabledFeatures.h:
304         (WebCore::RuntimeEnabledFeatures::webkitPeerConnection00Enabled):
305         * bindings/js/JSPeerConnection00Custom.cpp: Added.
306         (WebCore):
307         (WebCore::JSPeerConnection00Constructor::constructJSPeerConnection00):
308         * dom/EventTargetFactory.in:
309
310 2012-03-23  Adrienne Walker  <enne@google.com>
311
312         [chromium] Fix scrollbarLayerLostContext flaky test crash on 10.6
313         https://bugs.webkit.org/show_bug.cgi?id=82062
314
315         Reviewed by James Robinson.
316
317         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
318         (CCScrollbarLayerImpl):
319
320 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
321
322         [chromium] MediaStream API (JSEP): Extending WebMediaStreamCenter
323         https://bugs.webkit.org/show_bug.cgi?id=81924
324
325         Reviewed by Adam Barth.
326
327         Nothing to test, just moving methods.
328
329         * platform/mediastream/MediaStreamCenter.cpp:
330         (WebCore::MediaStreamCenter::constructSDP):
331         (WebCore):
332
333 2012-03-23  Sami Kyostila  <skyostil@chromium.org>
334
335         Reuse buffer allocation if canvas size does not change
336         https://bugs.webkit.org/show_bug.cgi?id=80871
337
338         Reviewed by Stephen White.
339
340         If the user changes the width or height attributes of a canvas element,
341         the contents of the canvas should be cleared and the context state
342         should be reset. This has become a common idiom to clear the canvas
343         "efficiently" at the start of a frame.
344
345         Previously, this code path triggered a full reallocation of the image
346         buffer backing the canvas, leading to reduced performance. This patch
347         implements an optimization where we reuse the previous image buffer
348         allocation if the size of the canvas did not change. Also, instead of
349         clearing the canvas every time its dimensions are touched, we only clear
350         if anything has been drawn into the canvas since it was previously
351         cleared.
352
353         Note that for now this optimization only applies for 2D canvases,
354         since it is not entirely clear how touching the dimensions of a WebGL
355         canvas should work.
356
357         Test: fast/canvas/canvas-resize-after-paint-without-layout.html +
358               existing layout tests for canvas resetting.
359
360         * html/HTMLCanvasElement.cpp:
361         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
362         (WebCore::HTMLCanvasElement::reset):
363         (WebCore::HTMLCanvasElement::createImageBuffer): Save the initial
364         graphics context state so we can restore it without creating a new
365         context.
366         (WebCore::HTMLCanvasElement::clearImageBuffer):
367         (WebCore):
368         (WebCore::HTMLCanvasElement::clearCopiedImage):
369         * html/HTMLCanvasElement.h:
370         (HTMLCanvasElement):
371         * html/canvas/CanvasRenderingContext2D.cpp:
372         (WebCore::CanvasRenderingContext2D::reset): No need to notify the
373         compositor when the context is reset, because clearing the image buffer
374         does the same thing. We can also skip the notification if we did not
375         have an image buffer at the time of the reset, because the reset will
376         not have any visual impact in this case. Finally, if the canvas size
377         did change, the notification is also unnecessary because of the call
378         to RenderObject::repaint() from HTMLCanvasElement::reset().
379
380 2012-03-22  Martin Robinson  <mrobinson@igalia.com>
381
382         Fix some code generation warnings on GTK+.
383
384         Reviewed by Gustavo Noronha Silva.
385
386         No new tests. This just fixes warnings.
387
388         * GNUmakefile.am: Remove nonexistent directories from the list IDL directories.
389
390 2012-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
391
392         Unreviewed, rolling out r111751.
393         http://trac.webkit.org/changeset/111751
394         https://bugs.webkit.org/show_bug.cgi?id=82060
395
396         caused 15% page cycler regression for chromium-linux
397         (Requested by eae on #webkit).
398
399         * css/CSSStyleSelector.cpp:
400         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
401
402 2012-03-23  Kentaro Hara  <haraken@chromium.org>
403
404         Support [ImplementedAs] for attributes
405         https://bugs.webkit.org/show_bug.cgi?id=81605
406
407         Reviewed by Adam Barth.
408
409         [ImplementedAs] just supports methods. [ImplementedAs] should support
410         attributes too.
411
412         Explained here: https://trac.webkit.org/wiki/WebKitIDL#ImplementedAs
413
414         Test: bindings/scripts/test/TestObj.idl
415
416         * bindings/scripts/CodeGenerator.pm: Modified to support [ImplementedAs] for attributes.
417         (AttributeNameForGetterAndSetter):
418
419         * bindings/scripts/test/TestObj.idl: Added a test case.
420
421         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
422         (WebDOMTestObj::strawberry):
423         (WebDOMTestObj::setStrawberry):
424         * bindings/scripts/test/CPP/WebDOMTestObj.h:
425         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
426         (webkit_dom_test_obj_get_strawberry):
427         (webkit_dom_test_obj_set_strawberry):
428         (webkit_dom_test_obj_get_property):
429         (webkit_dom_test_obj_class_init):
430         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
431         * bindings/scripts/test/JS/JSTestObj.cpp:
432         (WebCore):
433         (WebCore::jsTestObjStrawberry):
434         (WebCore::setJSTestObjStrawberry):
435         * bindings/scripts/test/JS/JSTestObj.h:
436         (WebCore):
437         * bindings/scripts/test/ObjC/DOMTestObj.h:
438         * bindings/scripts/test/ObjC/DOMTestObj.mm:
439         (-[DOMTestObj strawberry]):
440         (-[DOMTestObj setStrawberry:]):
441         * bindings/scripts/test/V8/V8TestObj.cpp:
442         (WebCore::TestObjInternal::strawberryAttrGetter):
443         (TestObjInternal):
444         (WebCore::TestObjInternal::strawberryAttrSetter):
445         (WebCore):
446
447 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
448
449         The JSC code generator doesn't generate correct code for Constructors
450         https://bugs.webkit.org/show_bug.cgi?id=82046
451
452         Reviewed by Kentaro Hara.
453
454         The main bulk of generated code for constructors uses the name jsConstructor
455         for the created object, and then calls GenerateParametersCheck which generates
456         code that uses the name castedThis.
457
458         * bindings/scripts/CodeGeneratorJS.pm:
459         (GenerateConstructorDefinition):
460         * bindings/scripts/test/JS/JSTestInterface.cpp:
461         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
462         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
463         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
464         * bindings/scripts/test/JS/JSTestObj.cpp:
465         (WebCore::JSTestObjConstructor::finishCreation):
466         (WebCore::JSTestObjConstructor::constructJSTestObj):
467         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
468         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
469         * bindings/scripts/test/TestObj.idl:
470         * bindings/scripts/test/V8/V8TestObj.cpp:
471         (WebCore::V8TestObj::constructorCallback):
472
473 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
474
475         The JSC code generator can't handle boolean arguments for Callbacks
476         https://bugs.webkit.org/show_bug.cgi?id=82045
477
478         Reviewed by Kentaro Hara.
479
480         CodeGeneratorJS.pm only handles DOMStrings and objects as arguments
481         for a Callback, so I added support for boolean values as well.
482
483         * bindings/scripts/CodeGeneratorJS.pm:
484         (GenerateCallbackImplementation):
485         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
486         (WebDOMTestCallback::callbackWithBoolean):
487         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
488         (WebDOMTestCallback):
489         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
490         (webkit_dom_test_callback_callback_with_boolean):
491         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
492         * bindings/scripts/test/JS/JSTestCallback.cpp:
493         (WebCore::JSTestCallback::callbackWithBoolean):
494         (WebCore):
495         * bindings/scripts/test/JS/JSTestCallback.h:
496         (JSTestCallback):
497         * bindings/scripts/test/ObjC/DOMTestCallback.h:
498         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
499         (-[DOMTestCallback callbackWithBoolean:]):
500         * bindings/scripts/test/TestCallback.idl:
501         * bindings/scripts/test/V8/V8TestCallback.cpp:
502         (WebCore::V8TestCallback::callbackWithBoolean):
503         (WebCore):
504         * bindings/scripts/test/V8/V8TestCallback.h:
505         (V8TestCallback):
506
507 2012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
508
509         Touch adjustment forgets some subtarget quads.
510         https://bugs.webkit.org/show_bug.cgi?id=82044
511
512         Reviewed by Kenneth Rohde Christiansen.
513
514         Do not uncritically skip all nodes that are ancestors to other test results.
515         Instead return the inner-most element if multiple nodes have the same distance.
516
517         Test: touchadjustment/block-testing.html
518
519         * page/TouchAdjustment.cpp:
520         (WebCore::TouchAdjustment::compileSubtargetList):
521         (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
522
523 2012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
524
525         TouchAdjustment does not correct for frame position
526         https://bugs.webkit.org/show_bug.cgi?id=82043
527
528         Reviewed by Kenneth Rohde Christiansen.
529
530         Convert geometry to window coordinates before calculating distance.
531
532         Test: touchadjustment/iframe.html
533
534         * page/TouchAdjustment.cpp:
535         (WebCore::TouchAdjustment::distanceSquaredToTargetCenterLine):
536
537 2012-03-23  Vlad Voicu  <vladv@rosedu.org>
538
539         Fixed minor WebInspector display issue
540         Clicking on disabled sections in Styles Sidebar Pane creates new elements.
541         https://bugs.webkit.org/show_bug.cgi?id=81925
542
543         Reviewed by Timothy Hatcher
544
545         No new tests should be required.
546
547         * inspector/front-end/StylesSidebarPane.js:
548         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
549         (WebInspector.StylePropertyTreeElement.prototype):
550
551 2012-03-23  Kentaro Hara  <haraken@chromium.org>
552
553         Unreviewed, rebaselined run-bindings-tests results.
554
555         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
556         * bindings/scripts/test/CPP/WebDOMTestObj.h:
557         * bindings/scripts/test/JS/JSTestObj.cpp:
558         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
559         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
560         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
561         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
562         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
563         * bindings/scripts/test/V8/V8TestObj.cpp:
564         (WebCore::TestObjInternal::methodWithCallbackArgCallback):
565         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
566         (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
567         (WebCore::TestObjInternal::overloadedMethod5Callback):
568         (WebCore::TestObjInternal::overloadedMethodCallback):
569
570 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
571
572         cssText should use StringBuilder
573         https://bugs.webkit.org/show_bug.cgi?id=82028
574
575         Reviewed by Hajime Morita.
576
577         Make StylePropertySet::asText more efficient by deploying StringBuilder;
578         avoids heap churn by String::operator+ and String::operator+=.
579
580         * css/StylePropertySet.cpp:
581         (WebCore::StylePropertySet::asText):
582
583 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
584
585         REGRESSION(r111754): plugins/reloadplugins-and-pages.html fails on all platforms
586         https://bugs.webkit.org/show_bug.cgi?id=82035
587
588         Rollout r111754 since it caused a test to fail and the test added by the patch
589         is failing on Mac WebKit 2.
590
591         * WebCore.exp.in:
592         * html/HTMLPlugInElement.cpp:
593         (WebCore::HTMLPlugInElement::detach):
594         (WebCore):
595         (WebCore::HTMLPlugInElement::removedFromDocument):
596         * html/HTMLPlugInElement.h:
597         (HTMLPlugInElement):
598         * testing/Internals.cpp:
599         * testing/Internals.h:
600         (Internals):
601         * testing/Internals.idl:
602
603 2012-03-23  Adam Barth  <abarth@webkit.org>
604
605         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 2)
606         https://bugs.webkit.org/show_bug.cgi?id=82026
607
608         Reviewed by Kentaro Hara.
609
610         This patch removes DOMWindow::resetNotifications, which was unneeded
611         special-case logic for clearing the notifications center.  The previous
612         patch that tried to accomplish the same thing did not override
613         willDetachPage, which is why it caused crashes.
614
615         There's actually a cleaner way to handle these cases, which will let us
616         implement reconnectFrame, but that will need to wait for the next
617         patch.
618
619         * notifications/DOMWindowNotifications.cpp:
620         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
621         (WebCore::DOMWindowNotifications::from):
622         (WebCore::DOMWindowNotifications::webkitNotifications):
623         (WebCore):
624         (WebCore::DOMWindowNotifications::disconnectFrame):
625         (WebCore::DOMWindowNotifications::willDetachPage):
626         (WebCore::DOMWindowNotifications::reset):
627         * notifications/DOMWindowNotifications.h:
628         (DOMWindowNotifications):
629         * page/DOMWindow.cpp:
630         (WebCore::DOMWindow::willDetachPage):
631         (WebCore::DOMWindow::disconnectDOMWindowProperties):
632         (WebCore::DOMWindow::clearDOMWindowProperties):
633         * page/DOMWindow.h:
634         (DOMWindow):
635         * page/Frame.cpp:
636         (WebCore::Frame::willDetachPage):
637
638 2012-03-22  Adam Barth  <abarth@webkit.org>
639
640         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 1)
641         https://bugs.webkit.org/show_bug.cgi?id=82015
642
643         Reviewed by Kentaro Hara.
644
645         This patch moves DOMWindow.webkitNotifications from DOMWindow.idl to
646         DOMWindowNotificiations.idl in preparation for moving notificiations
647         into Modules.
648
649         A future patch will remove DOMWindow::resetNotificaitions in favor of
650         more general mechanisms.
651
652         * CMakeLists.txt:
653         * DerivedSources.make:
654         * DerivedSources.pri:
655         * GNUmakefile.list.am:
656         * Target.pri:
657         * WebCore.gypi:
658         * WebCore.vcproj/WebCore.vcproj:
659         * WebCore.xcodeproj/project.pbxproj:
660         * notifications/DOMWindowNotifications.cpp: Added.
661         (WebCore):
662         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
663         (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
664         (WebCore::DOMWindowNotifications::from):
665         (WebCore::DOMWindowNotifications::webkitNotifications):
666         (WebCore::DOMWindowNotifications::reset):
667         (WebCore::DOMWindowNotifications::supplementName):
668         * notifications/DOMWindowNotifications.h: Added.
669         (WebCore):
670         (DOMWindowNotifications):
671         * notifications/DOMWindowNotifications.idl: Added.
672         * page/DOMWindow.cpp:
673         (WebCore::DOMWindow::~DOMWindow):
674         (WebCore):
675         (WebCore::DOMWindow::resetNotifications):
676         * page/DOMWindow.h:
677         (WebCore):
678         (DOMWindow):
679         * page/DOMWindow.idl:
680
681 2012-03-22  Li Yin  <li.yin@intel.com>
682
683         A client MUST close a connection if it detects a masked frame
684         https://bugs.webkit.org/show_bug.cgi?id=81361
685
686         Reviewed by Kent Tamura.
687
688         A server must not mask any frames that it sends to the client.
689         Change the test case, not mask the frames from server to client.
690         
691         Test: http/tests/websocket/tests/hybi/invalid-masked-frames-from-server.html
692
693         * Modules/websockets/WebSocketChannel.cpp:
694         (WebCore::WebSocketChannel::processFrame):
695
696 2012-03-22  Li Yin  <li.yin@intel.com>
697
698         [WebSocket]The minimal number of bytes MUST be used to encode the length
699         https://bugs.webkit.org/show_bug.cgi?id=81443
700
701         Reviewed by Kent Tamura.
702
703         From RFC 6455 http://tools.ietf.org/html/rfc6455#section-5.2
704         the minimal number of bytes MUST be used to encode the length
705         
706         New test case : http/tests/websocket/tests/hybi/invalid-encode-length.html
707
708         * Modules/websockets/WebSocketChannel.cpp:
709         (WebCore::WebSocketChannel::parseFrame):
710
711 2012-03-22  Adam Barth  <abarth@webkit.org>
712
713         Unreviewed.  Sort xcodeproj file.
714
715         * WebCore.xcodeproj/project.pbxproj:
716
717 2012-03-22  Mao Yujie  <yujie.mao@intel.com>
718
719         Implement strict testing criterion for callback function definition
720         https://bugs.webkit.org/show_bug.cgi?id=80005
721
722         Reviewed by Adam Barth.
723
724         Callback function should be defined as the function type instead of
725         the object type.
726
727         LayoutTest: fast/dom/MediaStream/argument-types.html
728
729         * bindings/scripts/CodeGeneratorJS.pm:
730         (GenerateParametersCheckExpression):
731         (GenerateParametersCheck):
732         * bindings/scripts/CodeGeneratorV8.pm:
733         (GenerateParametersCheckExpression):
734         (GenerateParametersCheck):
735
736 2012-03-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
737
738         Convert hasGrammarMarker to use Internals interface
739         https://bugs.webkit.org/show_bug.cgi?id=82004
740
741         Reviewed by Ryosuke Niwa.
742
743         Remove hasGrammarMarker functions, because it is able to work in the
744         cross-port way through the Internals interface.
745
746         No new tests, since we are improving here the infra-structure
747         for testing a specific method.
748
749         * testing/Internals.cpp:
750         (WebCore::Internals::hasGrammarMarker):
751         (WebCore):
752         * testing/Internals.h:
753         (Internals):
754         * testing/Internals.idl:
755
756 2012-03-22  Xingnan Wang  <xingnan.wang@intel.com>
757
758         Add exception for the setter of "fftSize" in RealtimeAnalyserNode
759         https://bugs.webkit.org/show_bug.cgi?id=81748
760
761         Reviewed by Chris Rogers.
762
763         * Modules/webaudio/RealtimeAnalyser.cpp:
764         (WebCore::RealtimeAnalyser::setFftSize):
765         * Modules/webaudio/RealtimeAnalyser.h:
766         (RealtimeAnalyser):
767         * Modules/webaudio/RealtimeAnalyserNode.cpp:
768         (WebCore::RealtimeAnalyserNode::setFftSize):
769         (WebCore):
770         * Modules/webaudio/RealtimeAnalyserNode.h:
771         (RealtimeAnalyserNode):
772         * Modules/webaudio/RealtimeAnalyserNode.idl:
773
774 2012-03-22  Leo Yang  <leo.yang@torchmobile.com.cn>
775
776         [BlackBerry] Add HistoryItemViewState for BlackBerry port
777         https://bugs.webkit.org/show_bug.cgi?id=81867
778
779         Reviewed by Rob Buis.
780
781         HistoryItemViewState is the blackberry specific field of HistoryItem.
782         It's used to maintain the porting specific view state.
783
784         No new test because the port can't be built yet.
785
786         * history/HistoryItem.h:
787         (HistoryItem):
788         (WebCore::HistoryItem::viewState):
789
790 2012-03-22  SravanKumar Sandela  <ssandela@innominds.com>
791
792         Fieldset unexpectedly stretches to minimum intrinsic width
793         https://bugs.webkit.org/show_bug.cgi?id=79128
794
795         Reviewed by Julien Chaffraix.
796
797         Fieldset element width will now check if css width is specified explicitly
798         before stretching to minimum intrinsic width. The reference
799         can be taken from IE9, instead of FF(FF acknowledged the broken behavior). 
800
801         Tests: fast/forms/fieldset-width-nostretch-ifspecified-expected.html
802                fast/forms/fieldset-width-nostretch-ifspecified.html
803
804         * rendering/RenderFieldset.cpp:
805         (WebCore::RenderFieldset::stretchesToMinIntrinsicLogicalWidth):
806         (WebCore):
807         * rendering/RenderFieldset.h:
808         (RenderFieldset):
809
810 2012-03-22  Shawn Singh  <shawnsingh@chromium.org>
811
812         [chromium] Target surface should be damaged for a new layers even when layer had no changes
813         https://bugs.webkit.org/show_bug.cgi?id=81879
814
815         Reviewed by Adrienne Walker.
816
817         Unit test added to CCDamageTrackerTest.
818
819         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
820         (WebCore::CCDamageTracker::removeRectFromCurrentFrame): added a
821         boolean arg to detect if the layer is new on this update.
822
823         (WebCore::CCDamageTracker::extendDamageForLayer): added logic that
824         damages the target surface if the layer is new.
825
826         (WebCore::CCDamageTracker::extendDamageForRenderSurface): added
827         logic that damages the target surface if the descendant surface is
828         new; similar logic for the surface's replica if the replica is new.
829
830         * platform/graphics/chromium/cc/CCDamageTracker.h:
831         (CCDamageTracker):
832
833 2012-03-22  Charles Wei  <charles.wei@torchmobile.com.cn>
834
835         [BlackBerry] Need to store the meta info of a page in the ViewState of the history
836         https://bugs.webkit.org/show_bug.cgi?id=82000
837
838         Reviewed by Rob Buis.
839
840         Internally reviewed by George Staikos.
841
842         No new tests, BlackBerry porting doesn't build yet upstreaming.
843
844         * history/blackberry/HistoryItemViewState.h:
845         (WebCore::HistoryItemViewState::HistoryItemViewState):
846         (HistoryItemViewState):
847
848 2012-03-22  Adam Klein  <adamk@chromium.org>
849
850         [v8] wrapSlow methods should ref underlying object before creating wrapper
851         https://bugs.webkit.org/show_bug.cgi?id=81919
852
853         Reviewed by Adam Barth.
854
855         Because instatiating the wrapper can trigger GC, it's important that
856         wrapSlow() hold a reference to an object when creating a wrapper for
857         that object. Once the V8 wrapper exists and is associated with the object,
858         the reference can be handed off (via leakRef) to be handled by the normal
859         binding code logic (where derefObject is called if the handle is GCed).
860
861         Binding tests have been updated to reflect this change.
862
863         Testing the change directly is hard. Any test landed today would only
864         be a valid test until V8's logic about when to GC changes, at which point
865         it would become dead weight. So I don't think it's worth landing a
866         layout test along with this.
867
868         * bindings/scripts/CodeGeneratorV8.pm:
869         (GenerateHeader): Make wrapSlow take a PassRefPtr for RefCounted objects.
870         (GenerateToV8Converters): Get rid of the explicit call to ref() and
871         instead call leakRef() when adding a RefCounted object to the DOM map.
872         (GetPassRefPtrType): Helper to generate "PassRefPtr<T>", or "PassRefPtr<T<U> >" as appropriate.
873         * bindings/scripts/test/V8/V8Float64Array.cpp:
874         (WebCore::V8Float64Array::wrapSlow):
875         * bindings/scripts/test/V8/V8Float64Array.h:
876         (V8Float64Array):
877         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
878         (WebCore::V8TestActiveDOMObject::wrapSlow):
879         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
880         (V8TestActiveDOMObject):
881         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
882         (WebCore::V8TestCustomNamedGetter::wrapSlow):
883         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
884         (V8TestCustomNamedGetter):
885         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
886         (WebCore::V8TestEventConstructor::wrapSlow):
887         * bindings/scripts/test/V8/V8TestEventConstructor.h:
888         (V8TestEventConstructor):
889         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
890         (WebCore::V8TestEventTarget::wrapSlow):
891         * bindings/scripts/test/V8/V8TestEventTarget.h:
892         (V8TestEventTarget):
893         * bindings/scripts/test/V8/V8TestInterface.cpp:
894         (WebCore::V8TestInterface::wrapSlow):
895         * bindings/scripts/test/V8/V8TestInterface.h:
896         (V8TestInterface):
897         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
898         (WebCore::V8TestMediaQueryListListener::wrapSlow):
899         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
900         (V8TestMediaQueryListListener):
901         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
902         (WebCore::V8TestNamedConstructor::wrapSlow):
903         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
904         (V8TestNamedConstructor):
905         * bindings/scripts/test/V8/V8TestObj.cpp:
906         (WebCore::V8TestObj::wrapSlow):
907         * bindings/scripts/test/V8/V8TestObj.h:
908         (V8TestObj):
909         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
910         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
911         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
912         (V8TestSerializedScriptValueInterface):
913
914 2012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
915
916         [BlackBerry] add interface clearCredentials() and clearNeverRememberSites()
917         https://bugs.webkit.org/show_bug.cgi?id=81887
918
919         Reviewed by Rob Buis.
920
921         Fixed SQL issue when clearing table logins and table never_remember.
922
923         No new tests.
924
925         * platform/network/blackberry/CredentialBackingStore.cpp:
926         (WebCore::CredentialBackingStore::clearLogins):
927         (WebCore::CredentialBackingStore::clearNeverRemember):
928
929 2012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
930
931         [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
932         https://bugs.webkit.org/show_bug.cgi?id=80135
933
934         Reviewed by Rob Buis.
935
936         Modified the interface function authenticationChallenge() in class
937         PageClientBlackBerry, moved Credential from return value to the
938         function's reference parameter, and returned a bool to indicate if
939         user pressed Ok button or not.
940         Removed the logic which checks m_currentWebChallenge not null,
941         because we should challenge user again if the last provided credential
942         is not valid; also added the logic that will popup challenge
943         dialog again immediately if user press Ok buttton directly without
944         inputting anything.
945
946         No new tests.
947
948         * platform/blackberry/PageClientBlackBerry.h:
949         * platform/network/blackberry/NetworkJob.cpp:
950         (WebCore::NetworkJob::handleAuthHeader):
951         (WebCore::NetworkJob::sendRequestWithCredentials):
952
953 2012-03-22  Jason Liu  <jason.liu@torchmobile.com.cn>
954
955         [BlackBerry] Synchronize platform/network/blackberry
956         https://bugs.webkit.org/show_bug.cgi?id=81874
957
958         We changed a lot in these files locally. But the changes are not upstreamed.
959         It is not convenient to do the other upstreaming work based on these differences.
960         So upstream these changes.
961
962         Reviewed by Rob Buis.
963
964         No new tests. Just synchronize codes.
965
966         * platform/network/blackberry/NetworkJob.cpp:
967         (WebCore::NetworkJob::NetworkJob):
968         (WebCore::NetworkJob::initialize):
969         (WebCore::NetworkJob::handleNotifyHeaderReceived):
970         (WebCore::NetworkJob::handleNotifyDataReceived):
971         (WebCore::NetworkJob::sendResponseIfNeeded):
972         (WebCore::NetworkJob::sendRequestWithCredentials):
973         (WebCore::NetworkJob::handleAbout):
974         * platform/network/blackberry/NetworkJob.h:
975         (WebCore::NetworkJob::isError):
976         (NetworkJob):
977         * platform/network/blackberry/NetworkManager.cpp:
978         (WebCore::NetworkManager::startJob):
979         * platform/network/blackberry/ResourceRequest.h:
980         (WebCore::ResourceRequest::ResourceRequest):
981         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
982         (WebCore::platformTargetTypeForRequest):
983
984 2012-03-22  Tom Sepez  <tsepez@chromium.org>
985
986         XSS Auditor bypass via script tag src=data:, URLS.
987         https://bugs.webkit.org/show_bug.cgi?id=81948
988
989         Reviewed by Adam Barth.
990
991         This change fixes an XSSAuditor bypass wherby a script with a data: URL src
992         attribute could evade detection by using characters from the page to create
993         a snippet for matching not found in the URL's reflected vector.  This change 
994         terminates the snippet for matching earlier in these cases.
995         
996         Test: http/tests/security/xssAuditor/script-tag-with-source-data-url2.html
997
998         * html/parser/XSSAuditor.cpp:
999         (WebCore::XSSAuditor::decodedSnippetForAttribute):
1000
1001 2012-03-22  Dana Jansens  <danakj@chromium.org>
1002
1003         [chromium] Incorrect assert on animating opacity for a surface
1004         https://bugs.webkit.org/show_bug.cgi?id=81994
1005
1006         Reviewed by Adrienne Walker.
1007
1008         Draw opacity and animation state match on the surface itself. A
1009         surface with animating opacity always has an owning layer without
1010         animation, as the surface does the animation for it.
1011
1012         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1013         (WebCore::CCLayerTreeHost::paintLayerContents):
1014
1015 2012-03-22  Dana Jansens  <danakj@chromium.org>
1016
1017         [chromium] Skip frames when checkerboarding an animation
1018         https://bugs.webkit.org/show_bug.cgi?id=81716
1019
1020         Reviewed by Adrienne Walker.
1021
1022         This will stop drawing frames when prepareToDraw fails, if the draw is
1023         not forced. The expected behaviour is outlined below by the unit tests.
1024
1025         When a draw fails, we:
1026         1. Set m_needsRedraw to try again next vsync
1027         2. Set m_needsCommit because we need more data from webkit to succeed
1028         3. Set m_drawIfPossibleFailed. This allows us to try draw again within
1029         the same vsync *if* a commit finishes during this time.
1030
1031         Unit test: CCSchedulerTest.RequestRedrawInsideFailedDraw
1032                    CCSchedulerTest.RequestCommitInsideFailedDraw
1033                    CCSchedulerTest.NoBeginFrameWhenDrawFails
1034                    CCSchedulerStateMachineTest.TestFailedDrawSetsNeedsCommitAndDoesNotDrawAgain
1035                    CCSchedulerStateMachineTest.TestSetNeedsRedrawDuringFailedDrawDoesNotRemoveNeedsRedraw
1036                    CCSchedulerStateMachineTest.TestCommitAfterFailedDrawAllowsDrawInSameFrame
1037                    CCSchedulerStateMachineTest.TestCommitAfterFailedAndSuccessfulDrawDoesNotAllowDrawInSameFrame
1038                    CCSchedulerStateMachineTest.TestFailedDrawIsRetriedNextVSync
1039
1040         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1041         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1042         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
1043         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1044         (CCLayerTreeHostImpl):
1045         * platform/graphics/chromium/cc/CCScheduler.cpp:
1046         (WebCore::CCScheduler::processScheduledActions):
1047         * platform/graphics/chromium/cc/CCScheduler.h:
1048         (CCSchedulerClient):
1049         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
1050         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
1051         (WebCore::CCSchedulerStateMachine::nextAction):
1052         (WebCore::CCSchedulerStateMachine::updateState):
1053         (WebCore::CCSchedulerStateMachine::didDrawIfPossibleCompleted):
1054         (WebCore):
1055         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
1056         (CCSchedulerStateMachine):
1057         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1058         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
1059         (WebCore):
1060         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
1061         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):
1062         * platform/graphics/chromium/cc/CCThreadProxy.h:
1063         (CCThreadProxy):
1064
1065 2012-03-22  W. James MacLean  <wjmaclean@chromium.org>
1066
1067         [chromium] Force update of nonFastScrollableRegion if target CCLayerImpl has been freshly created.
1068         https://bugs.webkit.org/show_bug.cgi?id=81968
1069
1070         Reviewed by Adrienne Walker.
1071
1072         Added unit test to existing tests for TreeSynchronizer.
1073
1074         When creating a new CCLayerImpl during tree synchronization, make sure we transfer the nonFastScrollableRegion as
1075         the new CCLayerImpl will default to an empty region.
1076
1077         * platform/graphics/chromium/LayerChromium.h:
1078         (WebCore::LayerChromium::nonFastScrollableRegion):
1079         (WebCore::LayerChromium::setNonFastScrollableRegionChanged):
1080         * platform/graphics/chromium/TreeSynchronizer.cpp:
1081         (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
1082
1083 2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
1084
1085         [CMake] Unreviewed build fix after r111778.
1086
1087         * CMakeLists.txt: Replace ${JAVASCRIPTCORE_DIR}/wtf includes with
1088         ${WTF_DIR}/wtf ones.
1089
1090 2012-03-22  Tony Chang  <tony@chromium.org>
1091
1092         Unreviewed, fix chromium build after wtf move.
1093
1094         Only use newwtf, remove references to wtf.
1095
1096         * WebCore.gyp/WebCore.gyp:
1097
1098 2012-03-22  Benjamin Poulain  <bpoulain@apple.com>
1099
1100         Remove an obsolete comment regarding magic frames from Geolocation
1101         https://bugs.webkit.org/show_bug.cgi?id=81871
1102
1103         Reviewed by Alexey Proskuryakov.
1104
1105         Moving a frame into another document is no longer possible after r111361. The comment
1106         is now irrelevant.
1107
1108         * Modules/geolocation/Geolocation.cpp:
1109         (WebCore::Geolocation::stop):
1110
1111 2012-03-22  Csaba Osztrogonác  <ossy@webkit.org>
1112
1113         Actually move WTF files to their new home
1114         https://bugs.webkit.org/show_bug.cgi?id=81844
1115
1116         [Qt] Unreviewed buildfix after r111778.
1117
1118         * Target.pri:
1119
1120 2012-03-22  Kentaro Hara  <haraken@chromium.org>
1121
1122         run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl
1123         https://bugs.webkit.org/show_bug.cgi?id=81852
1124
1125         Reviewed by Adam Barth.
1126
1127         run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl:
1128
1129         Use of uninitialized value in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2743.
1130         Use of uninitialized value $name in substitution (s///) at WebCore/bindings/scripts/CodeGenerator.pm line 119.
1131         Use of uninitialized value $type in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2969.
1132         Use of uninitialized value $type in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2972.
1133         Use of uninitialized value $type in hash element at WebCore/bindings/scripts/CodeGenerator.pm line 367.
1134         Use of uninitialized value $type in hash element at WebCore/bindings/scripts/CodeGenerator.pm line 368.
1135         ...
1136
1137         This is because [Constructor(...)] does not yet support [Optional] arguments.
1138         It just supports [Optional=DefaultIsUndefined] and [Optional=DefaultIsNullString] arguments:
1139         https://trac.webkit.org/wiki/WebKitIDL#Constructor
1140
1141         This patch replaces [Optional] with [Optional=DefaultIsUndefined]
1142         in TestSerializedScriptValueInterface.idl.
1143
1144         Test: bindings/scripts/test/TestSerializedScriptValueInterface.idl
1145
1146         * bindings/scripts/CodeGeneratorJS.pm:
1147         (GenerateConstructorDefinition):
1148         * bindings/scripts/CodeGeneratorV8.pm:
1149         (GenerateConstructorCallback):
1150         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1151         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
1152         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
1153         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1154         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
1155
1156 2012-03-22  Michal Mocny  <mmocny@google.com>
1157
1158         [chromium] LayerRendererChromium should use GpuMemoryAllocationChanged callback to explicitly manage framebuffer.
1159         https://bugs.webkit.org/show_bug.cgi?id=81823
1160
1161         Reviewed by Adrienne Walker.
1162
1163         New UnitTests: LayerRendererChromiumTest
1164
1165         * platform/graphics/chromium/LayerRendererChromium.cpp:
1166         (LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
1167         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::create):
1168         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::~LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
1169         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::onGpuMemoryAllocationChanged):
1170         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
1171         (WebCore):
1172         (WebCore::LayerRendererChromium::LayerRendererChromium):
1173         (WebCore::LayerRendererChromium::initialize):
1174         (WebCore::LayerRendererChromium::~LayerRendererChromium):
1175         (WebCore::LayerRendererChromium::setVisible):
1176         (WebCore::LayerRendererChromium::swapBuffers):
1177         (WebCore::LayerRendererChromium::discardFramebuffer):
1178         (WebCore::LayerRendererChromium::ensureFramebuffer):
1179         * platform/graphics/chromium/LayerRendererChromium.h:
1180         (WebCore):
1181         (LayerRendererChromiumClient):
1182         (LayerRendererChromium):
1183         (WebCore::LayerRendererChromium::isFramebufferDiscarded):
1184         (ScopedEnsureFramebufferAllocation):
1185         (WebCore::ScopedEnsureFramebufferAllocation::ScopedEnsureFramebufferAllocation):
1186         (WebCore::ScopedEnsureFramebufferAllocation::~ScopedEnsureFramebufferAllocation):
1187         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1188         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
1189         (LayerRendererCapabilities):
1190         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1191         (WebCore::CCLayerTreeHostImpl::setVisible):
1192         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1193         (CCLayerTreeHostImpl):
1194         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1195         (WebCore::CCSingleThreadProxy::compositeAndReadback):
1196         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1197         (WebCore::CCThreadProxy::compositeAndReadback):
1198
1199 2012-03-22  Adam Barth  <abarth@webkit.org>
1200
1201         ContainerNode::insertedIntoTree and removedFromTree use weak iteration patterns
1202         https://bugs.webkit.org/show_bug.cgi?id=80570
1203
1204         Reviewed by Ryosuke Niwa.
1205
1206         These functions use weak iteration patterns, but as far as I can tell,
1207         we never execute script below these functions.  This patch adds ASSERTs
1208         to help us avoid adding events in the future.
1209
1210         * dom/ContainerNode.cpp:
1211         (WebCore::ContainerNode::insertedIntoTree):
1212         (WebCore::ContainerNode::removedFromTree):
1213         * html/HTMLMediaElement.cpp:
1214         (WebCore::HTMLMediaElement::loadInternal):
1215             - There's a somewhat complex call chain from insertedIntoTree into
1216               HTMLMediaElement, and somewhat complex control flow below
1217               loadInternal that eventually leads to the BeforeLoad event being
1218               fired.  In studying this code, I don't see a way for the
1219               BeforeLoad event to be fired during insertedIntoTree, but I've
1220               added this assert here to make sure we don't call loadInternal
1221               when we're not supposed to dispatch events.  This ASSERT should
1222               help us catch these BeforeLoad errors more quickly.
1223
1224 2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
1225
1226         Crash in fast/dom/navigator-detached-nocrash.html
1227         https://bugs.webkit.org/show_bug.cgi?id=81773
1228
1229         Reviewed by Adam Barth.
1230
1231         BatteryManager::create() blindly assumes the Navigator* it
1232         receives has a valid Frame, which is not always the case, as made
1233         evident by the crashing test.
1234
1235         Follow abarth's suggestion and just stop
1236         NavigatorBattery::webkitBattery() before it reaches the call to
1237         BatteryManager::create() if that's the case.
1238
1239         No new tests, covered by fast/dom/navigator-detached-nocrash.html.
1240
1241         * Modules/battery/NavigatorBattery.cpp:
1242         (WebCore::NavigatorBattery::webkitBattery):
1243
1244 2012-03-22  Emil A Eklund  <eae@chromium.org>
1245
1246         Unreviewed, add missing include statement for CSSValueList.h.
1247
1248         * css/CSSStyleSelector.h:
1249
1250 2012-03-22  Tony Chang  <tony@chromium.org>
1251
1252         flexbox flexing implementation should match the spec
1253         https://bugs.webkit.org/show_bug.cgi?id=70796
1254
1255         Reviewed by Ojan Vafai.
1256
1257         Match the algorithm in the spec. Handling min/max constraints are slightly improved.
1258         http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths
1259
1260         New test cases in css3/flexbox/flex-algorithm-min-max.html.
1261
1262         * rendering/RenderFlexibleBox.cpp:
1263         (WebCore::adjustFlexSizeForMinAndMax): Step 5 of resolving flexible lengths.
1264         (WebCore):
1265         (WebCore::RenderFlexibleBox::Violation::Violation):
1266         (RenderFlexibleBox::Violation):
1267         (WebCore::RenderFlexibleBox::freezeViolations): Used by step 6.
1268         (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
1269         * rendering/RenderFlexibleBox.h:
1270
1271 2012-03-22  Emil A Eklund  <eae@chromium.org>
1272
1273         Unreviewed, add missing import.
1274
1275         * rendering/RenderThemeMac.mm:
1276
1277 2012-03-22  Anders Carlsson  <andersca@apple.com>
1278
1279         ASSERT(!needsLayout) in RenderView.cpp when visiting http://www.panic.com/blog/
1280         https://bugs.webkit.org/show_bug.cgi?id=81953
1281         <rdar://problem/11086998>
1282
1283         Reviewed by Sam Weinig.
1284
1285         If a page ends up creating CATiledLayers, CA transactions can be committed outside of the normal
1286         CA run loop observer, so we can't call setNeedsDisplay on tile cache layers directly because then
1287         we'll end up calling into painting code before all the layers have been flushed.
1288
1289         Fix this by adding a list of dirty rects to platformCALayerDidCreateTiles and change GraphicsLayerCA to
1290         mark them as dirty. This ensures that any CA transaction commits won't cause newly added layers to be painted.
1291
1292         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1293         (WebCore::LayerClient::platformCALayerDidCreateTiles):
1294         * platform/graphics/ca/GraphicsLayerCA.cpp:
1295         (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
1296         * platform/graphics/ca/GraphicsLayerCA.h:
1297         (GraphicsLayerCA):
1298         * platform/graphics/ca/PlatformCALayerClient.h:
1299         (PlatformCALayerClient):
1300         * platform/graphics/ca/mac/TileCache.mm:
1301         (WebCore::TileCache::setScale):
1302         (WebCore::TileCache::revalidateTiles):
1303         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1304         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):
1305
1306 2012-03-19  Robert Hogan  <robert@webkit.org>
1307
1308         Text should overflow when list item height set to 0
1309         https://bugs.webkit.org/show_bug.cgi?id=78726
1310
1311         Reviewed by Julien Chaffraix.
1312
1313         Tests: css2.1/20110323/height-applies-to-010a-expected.html
1314                fast/css/heightless-list-item-expected.html
1315                fast/css/heightless-list-item.html
1316
1317         * rendering/RenderListItem.cpp:
1318         (WebCore::RenderListItem::paint):
1319            If the list item has height:0, only paint it if the list item allows any block or inline content 
1320            to overflow unclipped. The zero-height check is a shortcut to avoid unnecessary painting and 
1321            this seems to be the only case where there's something to do.
1322
1323 2012-03-22  Dave Michael  <dmichael@chromium.org>
1324
1325         HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
1326         https://bugs.webkit.org/show_bug.cgi?id=80428
1327
1328         Reviewed by Eric Seidel.
1329
1330         Make HTMLPluginElement release its m_NPObject in detach() to break a
1331         reference-counting cycle that happens on reload or navigation. With this
1332         change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
1333         was removed. Note that Releasing m_NPObject does not result in a call to
1334         the plugin; it simply releases a reference count on the wrapper object
1335         for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
1336         when the render tree is destroyed, when PluginView calls
1337         PluginPackage::unload.) Thus, it is safe to release m_NPObject in
1338         detach, because it can not result in layout or style changes.
1339
1340         Also added numberOfLiveNodes() and numberOfLiveDocuments() to
1341         window.internals to enable testing.
1342
1343         Test: plugins/netscape-dom-access-and-reload.html
1344
1345         * WebCore.exp.in:
1346         * html/HTMLPlugInElement.cpp:
1347         (WebCore::HTMLPlugInElement::detach):
1348         * html/HTMLPlugInElement.h:
1349         (HTMLPlugInElement):
1350         * testing/Internals.cpp:
1351         (WebCore::Internals::numberOfLiveDocuments):
1352         (WebCore::Internals::numberOfLiveNodes):
1353         (WebCore):
1354         * testing/Internals.h:
1355         (Internals):
1356         * testing/Internals.idl:
1357
1358 2012-03-22  Shawn Singh  <shawnsingh@chromium.org>
1359
1360         [chromium] Make CCDamageTracker robust to empty layer lists
1361         https://bugs.webkit.org/show_bug.cgi?id=81831
1362
1363         Reviewed by Adrienne Walker.
1364
1365         Added a unit test in CCDamageTrackerTest that causes a crash in
1366         the old code. With this patch applied, the crash will not occur.
1367         In theory, that crash should never occur anyway, unless there is a
1368         bug outside the damage tracker, but for robustness it's
1369         appropriate to handle it properly.
1370
1371         In addition to this fix, performed some trivial maintenance on the
1372         damage tracker code.
1373
1374         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
1375         (WebCore::CCDamageTracker::updateDamageTrackingState): removed
1376         unclean code that accessed the targetSurface to get necessary
1377         information. Instead, we now pass those args through the damage
1378         tracker's API.
1379
1380         * platform/graphics/chromium/cc/CCDamageTracker.h:
1381         (CCDamageTracker): modified args passed to damage tracker on update.
1382
1383         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1384         (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
1385         modified args passed to damage tracker on update.
1386
1387 2012-03-22  Julien Chaffraix  <jchaffraix@webkit.org>
1388
1389         Enable style sharing for elements with a style attribute
1390         https://bugs.webkit.org/show_bug.cgi?id=81523
1391
1392         Reviewed by Antti Koivisto.
1393
1394         Memory improvement change only.
1395
1396         Overall, this is a performance wash (some benchmarks may regress a bit due to the increase in time taken
1397         by CSSStyleSelector::locateSharedStyle as we try more nodes, others increase their performance due to style sharing).
1398
1399         Instrumenting our style sharing, this should give us some nice memory shavings on some benchmarks:
1400         - HTML5 isn't impacted as it doesn't use much inline style
1401         - page cyclers' intl1 showed a 6% increase in style sharing.
1402
1403         * css/CSSStyleSelector.cpp:
1404         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1405         This method now handles inline style like presentation attributes on the element.
1406
1407         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1408         (WebCore::CSSStyleSelector::locateSharedStyle):
1409         Don't bail out for an element with an inline style declaration.
1410
1411         (WebCore::CSSStyleSelector::stylesEqual):
1412         Generalized attributeStylesEqual to share the logic between attribute and
1413         inline style property set. This means that attribute checks are actually
1414         doing a little extra more work but that didn't impact our benchmarks.
1415
1416 2012-03-22  Kevin Ollivier  <kevino@theolliviers.com>
1417
1418         [wx] Unreviewed. WebDOM build fix after array type changes.
1419
1420         * bindings/scripts/CodeGeneratorCPP.pm:
1421         (ShouldSkipType):
1422
1423 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
1424
1425         Web Inspector: text gutter decorations should move upon edits.
1426         https://bugs.webkit.org/show_bug.cgi?id=81932
1427
1428         Reviewed by Vsevolod Vlasov.
1429
1430         Decorations set by the line number now shift as editing inserts / removes lines.
1431
1432         * inspector/front-end/TextViewer.js:
1433         (WebInspector.TextViewer.prototype._syncLineHeight):
1434         (WebInspector.TextEditorGutterPanel):
1435         (WebInspector.TextEditorGutterPanel.prototype.textChanged):
1436         (WebInspector.TextEditorGutterPanel.prototype.syncClientHeight):
1437         (WebInspector.TextEditorGutterPanel.prototype.addDecoration):
1438         (WebInspector.TextEditorGutterPanel.prototype.removeDecoration):
1439
1440 2012-03-21  Robert Hogan  <robert@webkit.org>
1441
1442         CSS 2.1 failure: fixed-table-layout-006 fails
1443         https://bugs.webkit.org/show_bug.cgi?id=78412
1444
1445         Reviewed by Julien Chaffraix.
1446
1447         Tests: css2.1/20110323/fixed-table-layout-006.htm
1448                fast/css/fixed-table-layout-cell-padding.htm
1449
1450         In fixed tables, positive width specified on a column should include borders and padding.
1451         See the thread at http://lists.w3.org/Archives/Public/www-style/2011Oct/0502.html. The discussion
1452         there resulted in a whole new set of tests for section 17.5.2.1 in the CSS 2.1 spec. See 
1453         http://test.csswg.org/harness/test/CSS21_DEV/section/17.5.2.1/. This patch allows WebKit
1454         to pass all of them, and all tests for the 17.5.2.1 section as a whole. I'll land them all separately.
1455     
1456         * rendering/FixedTableLayout.cpp:
1457         (WebCore::FixedTableLayout::calcWidthArray): Include border width and cell padding in the width of the column.
1458          Note that borderAndPaddingLogicalWidth() returns the border width for separate and collapsed borders as appropriate.
1459
1460 2012-03-22  Simon Fraser  <simon.fraser@apple.com>
1461
1462         Factor compositing layer updates after scroll into a new method
1463         https://bugs.webkit.org/show_bug.cgi?id=81943
1464
1465         Reviewed by Dean Jackson.
1466
1467         Move some code that updates compositing layers after scrolling
1468         into its own method, for cleanliness.
1469
1470         * rendering/RenderLayer.cpp:
1471         (WebCore::RenderLayer::scrollTo):
1472         (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
1473         (WebCore):
1474         * rendering/RenderLayer.h:
1475         (RenderLayer):
1476
1477 2012-03-22  Gavin Barraclough  <barraclough@apple.com>
1478
1479         Add JSValue::isFunction
1480         https://bugs.webkit.org/show_bug.cgi?id=81935
1481
1482         Reviewed by Geoff Garen.
1483
1484         This would be useful in the WebCore bindings code.
1485         Also, remove asFunction, replace with jsCast<JSFunction*>.
1486
1487         * bindings/js/JSInjectedScriptHostCustom.cpp:
1488         (WebCore::JSInjectedScriptHost::functionDetails):
1489         * bindings/js/ScriptCallStackFactory.cpp:
1490         (WebCore::createScriptCallStack):
1491
1492 2012-03-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1493
1494         TiledBackingStore: Fix test regressions that appeared with r111560.
1495         https://bugs.webkit.org/show_bug.cgi?id=81519
1496
1497         Reviewed by Kenneth Rohde Christiansen.
1498
1499         The visible rect wasn't intersected with the contents rect anymore which
1500         could lead to an astronomical layer size to check for intersecting tiles.
1501
1502         Add a visibleContentsRect that doesn't do the conversion and use it
1503         in visibleAreaIsCovered.
1504
1505         * platform/graphics/TiledBackingStore.cpp:
1506         (WebCore::TiledBackingStore::visibleContentsRect):
1507         (WebCore):
1508         (WebCore::TiledBackingStore::visibleRect):
1509         (WebCore::TiledBackingStore::visibleAreaIsCovered):
1510         * platform/graphics/TiledBackingStore.h:
1511         (TiledBackingStore):
1512
1513 2012-03-22  Joe Thomas  <joethomas@motorola.com>
1514
1515         Make Length Calculation functions non-inline
1516         https://bugs.webkit.org/show_bug.cgi?id=81733
1517
1518         Currently length calculation functions in LengthFunctions.h are inline. These functions are pretty big to be inline.
1519         And these functions are expected to grow again when new length units will be introduced in bug 27160.
1520
1521         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
1522         functions with loops or switch statements. (Reference: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Inline_Functions).
1523
1524         Ran PerformanceTests/Parser/html5-full-render.html on Mac Snow-Leopard with and without the patch and did not see much performance difference.
1525
1526         Reviewed by Antti Koivisto.
1527
1528         * CMakeLists.txt:
1529         * GNUmakefile.list.am:
1530         * Target.pri:
1531         * WebCore.gypi:
1532         * WebCore.vcproj/WebCore.vcproj:
1533         * WebCore.xcodeproj/project.pbxproj:
1534         * css/LengthFunctions.cpp: Added.
1535         (WebCore):
1536         (WebCore::miminumValueForLength):
1537         (WebCore::valueForLength):
1538         (WebCore::floatValueForLength):
1539         * css/LengthFunctions.h:
1540         (WebCore):
1541
1542 2012-03-22  Alexis Menard  <alexis.menard@openbossa.org>
1543
1544         Increase code sharing between CSSParser and CSSPropertyLonghand.
1545         https://bugs.webkit.org/show_bug.cgi?id=81587
1546
1547         Reviewed by Antti Koivisto.
1548
1549         Expose the longhands declaration for a given shorthand in CSSPropertyLonghand and
1550         make CSSParser use them. It will make the declaration of longhands in one place only.
1551         Remove the map of CSSPropertyLonghand and replace it by a regular switch/case.
1552         The map doesn't bring much here and it's cleaner and faster to use the switch.
1553         It also shows a little performance improvement in CSS/CSSPropertySetterGetter.html.
1554
1555         No new tests : no behavior change.
1556
1557         * css/CSSParser.cpp:
1558         (WebCore::CSSParser::parseValue):
1559         (WebCore::CSSParser::parseAnimationShorthand):
1560         (WebCore::CSSParser::parseTransitionShorthand):
1561         (WebCore::CSSParser::parseShorthand):
1562         Modify the prototype of this function to directly use the CSSPropertyLonghand.
1563         * css/CSSParser.h:
1564         (WebCore):
1565         (CSSParser):
1566         * css/CSSPropertyLonghand.cpp:
1567         (WebCore):
1568         (WebCore::backgroundLonghand):
1569         (WebCore::backgroundPositionLonghand):
1570         (WebCore::backgroundRepeatLonghand):
1571         (WebCore::borderLonghand):
1572         (WebCore::borderBottomLonghand):
1573         (WebCore::borderColorLonghand):
1574         (WebCore::borderImageLonghand):
1575         (WebCore::borderLeftLonghand):
1576         (WebCore::borderRadiusLonghand):
1577         (WebCore::borderRightLonghand):
1578         (WebCore::borderSpacingLonghand):
1579         (WebCore::borderStyleLonghand):
1580         (WebCore::borderTopLonghand):
1581         (WebCore::borderWidthLonghand):
1582         (WebCore::listStyleLonghand):
1583         (WebCore::fontLonghand):
1584         (WebCore::marginLonghand):
1585         (WebCore::outlineLonghand):
1586         (WebCore::overflowLonghand):
1587         (WebCore::paddingLonghand):
1588         (WebCore::webkitAnimationLonghand):
1589         (WebCore::webkitBorderAfterLonghand):
1590         (WebCore::webkitBorderBeforeLonghand):
1591         (WebCore::webkitBorderEndLonghand):
1592         (WebCore::webkitBorderStartLonghand):
1593         (WebCore::webkitColumnsLonghand):
1594         (WebCore::webkitColumnRuleLonghand):
1595         (WebCore::webkitFlexFlowLonghand):
1596         (WebCore::webkitMarginCollapseLonghand):
1597         (WebCore::webkitMarqueeLonghand):
1598         (WebCore::webkitMaskLonghand):
1599         (WebCore::webkitMaskPositionLonghand):
1600         (WebCore::webkitMaskRepeatLonghand):
1601         (WebCore::webkitTextEmphasisLonghand):
1602         (WebCore::webkitTextStrokeLonghand):
1603         (WebCore::webkitTransitionLonghand):
1604         (WebCore::webkitTransformOriginLonghand):
1605         (WebCore::webkitWrapLonghand):
1606         (WebCore::longhandForProperty):
1607         * css/CSSPropertyLonghand.h:
1608         (WebCore):
1609
1610 2012-03-22  Emil A Eklund  <eae@chromium.org>
1611
1612         Unreviewed, touching file to force bots to pick up CSS_SHADERS flag change. 
1613
1614         * css/CSSStyleSelector.h:
1615         (CSSStyleSelector):
1616
1617 2012-03-22  Xingnan Wang  <xingnan.wang@intel.com>
1618
1619         ReverbConvolver::latencyFrames() should return 0.
1620         https://bugs.webkit.org/show_bug.cgi?id=81806
1621
1622         Reviewed by Chris Rogers.
1623
1624         * platform/audio/ReverbConvolver.cpp:
1625         (WebCore::ReverbConvolver::latencyFrames):
1626
1627 2012-03-22  Tony Chang  <tony@chromium.org>
1628
1629         refactor flexbox in preparation for flex-line-pack
1630         https://bugs.webkit.org/show_bug.cgi?id=81843
1631
1632         Reviewed by Ojan Vafai.
1633
1634         Replace WrapReverseContext with a vector of LineContexts that contain
1635         the same information, plus values needed for flex-align.
1636
1637         alignChildren has been moved to after all the lines have been
1638         positioned. We want to align children after flex-line-pack has changed
1639         the size of each line to avoid unnecessary layouts.
1640
1641         Take 2: Remove the assert. If there are no children, then there are no
1642         flex lines. Instead, assert that child is not null.
1643
1644         No new tests, just refactoring.
1645
1646         * rendering/RenderFlexibleBox.cpp:
1647         (WebCore::RenderFlexibleBox::LineContext::LineContext): New struct,
1648         holds information needed for wrap-reverse and aligning children.
1649         (RenderFlexibleBox::LineContext):
1650         (WebCore::RenderFlexibleBox::layoutFlexItems): alignChildren after layout out all the lines rather than after each line.
1651         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): don't alignChildren
1652         (WebCore::RenderFlexibleBox::alignChildren): align all flex items, not just a line at a time.
1653         (WebCore::RenderFlexibleBox::flipForWrapReverse): Update to use LineContext
1654         * rendering/RenderFlexibleBox.h:
1655
1656 2012-03-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1657
1658         Event dispatching in XMLHttpRequestProgressEventThrottle should go through XMLHttpRequestProgressEventThrottle::dispatchEvent
1659         https://bugs.webkit.org/show_bug.cgi?id=46743
1660
1661         Reviewed by Julien Chaffraix
1662         Based on original patch by Anton D'Auria
1663
1664         In preparation for platform-specific queuing of XMLHttpRequest events,
1665         this patch changes all calls to m_target->dispatchEvent to
1666         XMLHttpRequestProgressEventThrottle::dispatchEvent.
1667         Currently, we queue only one progress event on suspend() if we have
1668         throttled progress events. We should be able to queue all XHR events
1669         that can be generated after suspend(), if the platform network layer
1670         continues to receive data.
1671         XMLHttpRequest uses XMLHttpRequestProgressEventThrottle to dispatch only
1672         download events, so this doesn't change behavior of upload events, which
1673         aren't throttled or queued.
1674
1675         * xml/XMLHttpRequest.cpp:
1676         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1677         * xml/XMLHttpRequestProgressEventThrottle.cpp:
1678         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchReadyStateChangeEvent):
1679         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent):
1680         (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
1681         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchPausedEvent):
1682         (WebCore::XMLHttpRequestProgressEventThrottle::fired):
1683         * xml/XMLHttpRequestProgressEventThrottle.h:
1684         (XMLHttpRequestProgressEventThrottle):
1685
1686 2012-03-22  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
1687
1688         [EFL] Map BackSpace key code to Unicode value
1689         https://bugs.webkit.org/show_bug.cgi?id=81130
1690
1691         Reviewed by Gustavo Noronha Silva.
1692
1693         Test: fast/events/backspace-navigates-back.html
1694
1695         * platform/efl/EflKeyboardUtilities.cpp:
1696         (WebCore::createKeyMap): Map BackSpace to Unicode value
1697
1698 2012-03-22  Abhishek Arya  <inferno@chromium.org>
1699
1700         Incorrect beforeChild parent calculation in RenderRubyBase::moveChildren.
1701         https://bugs.webkit.org/show_bug.cgi?id=80297
1702
1703         Reviewed by Julien Chaffraix.
1704
1705         beforeChild might share the same anonymous block parent with other previous
1706         siblings. Before moving the children across ruby bases, we need to make sure
1707         to split the tree across the beforeChild correctly.
1708
1709         Test: fast/ruby/ruby-text-before-child-split.html
1710
1711         * rendering/RenderRubyBase.cpp:
1712         (WebCore::RenderRubyBase::moveChildren):
1713
1714 2012-03-22  Kristóf Kosztyó  <kkristof@inf.u-szeged.hu>
1715
1716         [Qt] Fix Qt minimal build after r111692
1717
1718         Reviewed by Csaba Osztrogonác.
1719
1720         * bindings/js/JSScriptProfileNodeCustom.cpp:
1721
1722 2012-03-22  Adrienne Walker  <enne@google.com>
1723
1724         [chromium] Fix scrollbar layers holding onto invalid textures after lost context
1725         https://bugs.webkit.org/show_bug.cgi?id=81841
1726
1727         Reviewed by James Robinson.
1728
1729         Unit test: CCLayerTreeHostImplTest.scrollbarLayerLostContext
1730
1731         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
1732         (WebCore::CCScrollbarLayerImpl::willDraw):
1733
1734 2012-03-22  Philippe Normand  <pnormand@igalia.com>
1735
1736         [GTK] ASSERT bug in WebAudio (AudioFileReader)
1737         https://bugs.webkit.org/show_bug.cgi?id=81777
1738
1739         Reviewed by Martin Robinson.
1740
1741         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1742         (WebCore::AudioFileReader::decodeAudioForBusCreation): Don't steal
1743         the GstBus floating reference.
1744         (WebCore::AudioFileReader::createBus): Ditto.
1745
1746 2012-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
1747
1748         Unreviewed: Web Inspector: fix syntax error in text.
1749
1750         * English.lproj/localizedStrings.js:
1751         * inspector/front-end/HeapSnapshotProxy.js:
1752         (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
1753
1754 2012-03-22  Sheriff Bot  <webkit.review.bot@gmail.com>
1755
1756         Unreviewed, rolling out r111688.
1757         http://trac.webkit.org/changeset/111688
1758         https://bugs.webkit.org/show_bug.cgi?id=81912
1759
1760         "Heap profiler test fails" (Requested by yurys on #webkit).
1761
1762         * inspector/front-end/HeapSnapshot.js:
1763         (WebInspector.HeapSnapshot.prototype._buildRetainers):
1764
1765 2012-03-22  Dana Jansens  <danakj@chromium.org>
1766
1767         [chromium] Early out in a new prepareToDraw() step if checkerboarding an accelerated animation in order to skip the frame
1768         https://bugs.webkit.org/show_bug.cgi?id=81437
1769
1770         Reviewed by Adrienne Walker.
1771
1772         Split CCLayerTreeHostImpl::drawLayers() into two phases:
1773         prepareToDraw() and drawLayers().
1774
1775         When calculating a RenderPass, and we checkerboard a quad on a
1776         layer, bubble this info back up to CCLayerTreeHostImpl. If the
1777         layer is transforming in an animation, then abort the prepareToDraw()
1778         phase and cause it to return false back to the thread proxy.
1779
1780         Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
1781
1782         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1783         (WebCore::CCLayerImpl::appendQuads):
1784         * platform/graphics/chromium/cc/CCLayerImpl.h:
1785         (CCLayerImpl):
1786         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1787         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1788         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
1789         (WebCore):
1790         (WebCore::CCLayerTreeHostImpl::drawLayers):
1791         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1792         (CCLayerTreeHostImpl):
1793         (FrameData):
1794         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1795         (WebCore::CCQuadCuller::append):
1796         * platform/graphics/chromium/cc/CCQuadCuller.h:
1797         (CCQuadCuller):
1798         * platform/graphics/chromium/cc/CCRenderPass.cpp:
1799         (WebCore::CCRenderPass::appendQuadsForLayer):
1800         * platform/graphics/chromium/cc/CCRenderPass.h:
1801         (CCRenderPass):
1802         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
1803         (WebCore::CCScrollbarLayerImpl::appendQuads):
1804         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
1805         (CCScrollbarLayerImpl):
1806         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1807         (WebCore::CCSingleThreadProxy::doComposite):
1808         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
1809         (WebCore::CCSolidColorLayerImpl::appendQuads):
1810         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
1811         (CCSolidColorLayerImpl):
1812         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
1813         (WebCore::CCTextureLayerImpl::appendQuads):
1814         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
1815         (CCTextureLayerImpl):
1816         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1817         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
1818         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1819         (WebCore::CCTiledLayerImpl::appendQuads):
1820         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1821         (CCTiledLayerImpl):
1822         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1823         (WebCore::CCVideoLayerImpl::appendQuads):
1824         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
1825         (CCVideoLayerImpl):
1826
1827 2012-03-22  Levi Weintraub  <leviw@chromium.org>
1828
1829         Correct LayoutUnit usage in Accessibility code
1830         https://bugs.webkit.org/show_bug.cgi?id=81789
1831
1832         Reviewed by Eric Seidel.
1833
1834         Reverting Accessibility hit testing code back to integers. Accessibility hit tests originate from
1835         the embedder and don't accumulate offsets, so we get nothing from using LayoutUnits, and needlessly
1836         expose them to the embedder.
1837
1838         No new tests. No change in behavior.
1839
1840         * accessibility/AccessibilityListBox.cpp:
1841         (WebCore::AccessibilityListBox::elementAccessibilityHitTest): See above.
1842         * accessibility/AccessibilityListBox.h:
1843         (AccessibilityListBox):
1844         * accessibility/AccessibilityObject.cpp:
1845         (WebCore::AccessibilityObject::clickPoint): This value is only ever used to display a context menu,
1846         which is always done with integer coordinates.
1847         (WebCore::AccessibilityObject::boundingBoxForQuads): This is a bounding box built from floats. We
1848         don't pixel snap floats, so we return an integer bounding box.
1849         (WebCore::AccessibilityObject::elementAccessibilityHitTest): See above.
1850         (WebCore::AccessibilityObject::scrollToMakeVisible): Pixel snapping the bounding box and simplifying
1851         up the code to position it at (0,0).
1852         * accessibility/AccessibilityObject.h:
1853         (WebCore::AccessibilityObject::accessibilityHitTest): See above.
1854         (AccessibilityObject):
1855         (WebCore::AccessibilityObject::pixelSnappedBoundingBoxRect): Convenience method for embedder callers.
1856         * accessibility/AccessibilityRenderObject.cpp:
1857         (WebCore::AccessibilityRenderObject::visiblePositionForPoint): The point passed in here is comes from
1858         screen coordinates and originates in embedder code. Reverting it to take an integer.
1859         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): See above.
1860         (WebCore::AccessibilityRenderObject::accessibilityHitTest): See above.
1861         * accessibility/AccessibilityRenderObject.h:
1862         (AccessibilityRenderObject):
1863         * accessibility/AccessibilityScrollView.cpp:
1864         (WebCore::AccessibilityScrollView::accessibilityHitTest): See above.
1865         * accessibility/AccessibilityScrollView.h:
1866         (AccessibilityScrollView):
1867         * accessibility/AccessibilitySlider.cpp:
1868         (WebCore::AccessibilitySlider::elementAccessibilityHitTest): See above.
1869         * accessibility/AccessibilitySlider.h:
1870         (AccessibilitySlider):
1871
1872 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
1873
1874         Web Inspector: HeapProfiler: Heap snapshot worker has to report the errors to the front-end
1875         https://bugs.webkit.org/show_bug.cgi?id=81804
1876
1877         Sometimes the worker process of HeapSnapshot does some wrong thing and throw an Exception.
1878         At this momemnt we have no way to see the error in the front-end.
1879
1880         Reviewed by Yury Semikhatsky.
1881
1882         * English.lproj/localizedStrings.js:
1883         * inspector/front-end/HeapSnapshotProxy.js: check the exception field and dump it into front-end's console.
1884         (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
1885         * inspector/front-end/HeapSnapshotWorkerDispatcher.js: catch the exception and transfer it's text to requester's side.
1886         (WebInspector.HeapSnapshotWorkerDispatcher.prototype.dispatchMessage):
1887
1888 2012-03-22  Carlos Garcia Campos  <cgarcia@bb-webkit-rel-64.local.igalia.com>
1889
1890         [GTK] Use the angle-bracket form to include wtf headers
1891         https://bugs.webkit.org/show_bug.cgi?id=81884
1892
1893         Reviewed by Eric Seidel.
1894
1895         Use #include <wtf/foo> instead of #include "foo".
1896
1897         * platform/graphics/freetype/FontPlatformData.h:
1898         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1899         * platform/gtk/DataObjectGtk.h:
1900         * platform/network/ResourceHandleInternal.h:
1901         * platform/network/soup/SocketStreamHandleSoup.cpp:
1902
1903 2012-03-22  Alexander Pavlov  <apavlov@chromium.org>
1904
1905         Web Inspector: Case of the elements of the xml document should be shown as it is in the console
1906         https://bugs.webkit.org/show_bug.cgi?id=81902
1907
1908         When registering a detached root, DOMAgent always presumes it is a node,
1909         while it can also be a document.
1910
1911         Reviewed by Vsevolod Vlasov.
1912
1913         Test: inspector/console/console-xml-document.html
1914
1915         * inspector/front-end/ConsoleMessage.js:
1916         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
1917         * inspector/front-end/DOMAgent.js:
1918         (WebInspector.DOMAgent.prototype._setDetachedRoot):
1919
1920 2012-03-22  Vsevolod Vlasov  <vsevik@chromium.org>
1921
1922         Web Inspector: Introduce ScriptBound/ScriptUnbound events in ScriptMapping.
1923         https://bugs.webkit.org/show_bug.cgi?id=81904
1924
1925         Reviewed by Pavel Feldman.
1926
1927         This is another step on the way to cleaner BreakpointManager logic.
1928         Here we extract ScriptBound/ScriptUnbound events from UISourceCodeListChanged event.
1929         This allows us to handle script-uiSourceCode binding separately from
1930         uiSourceCode creation/deletion and to handle unbinding that was not
1931         possible at all before.
1932
1933         * inspector/front-end/CompilerScriptMapping.js:
1934         (WebInspector.CompilerScriptMapping.prototype._uiSourceCodesForSourceMap):
1935         (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
1936         (WebInspector.CompilerScriptMapping.prototype.addScript):
1937         (WebInspector.CompilerScriptMapping.prototype.reset):
1938         * inspector/front-end/ResourceScriptMapping.js:
1939         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
1940         * inspector/front-end/ScriptMapping.js:
1941         (WebInspector.MainScriptMapping):
1942         (WebInspector.MainScriptMapping.prototype._updateLiveLocation):
1943         (WebInspector.MainScriptMapping.prototype._handleUISourceCodeListChanged):
1944         (WebInspector.MainScriptMapping.prototype._handleScriptBound):
1945         (WebInspector.MainScriptMapping.prototype._handleScriptUnbound):
1946         * inspector/front-end/SnippetsModel.js:
1947         (WebInspector.SnippetsScriptMapping.prototype.addScript.get this):
1948         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
1949         (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
1950         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
1951         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):
1952         (WebInspector.SnippetsScriptMapping.prototype.reset):
1953
1954 2012-03-22  Vineet Chaudhary  <rgf748@motorola.com>
1955
1956         https://bugs.webkit.org/show_bug.cgi?id=81893
1957         Remove custom bindings form ScriptProfileNode.idl of attribute type Array.
1958
1959         Reviewed by Kentaro Hara.
1960
1961         Replace [CustomGetter] Array with sequence<ScriptProfileNode>.
1962         To remove the custom bindings code.
1963
1964         Test: No new tests. LayoutTests/fast/profiler/* test are enough for this.
1965
1966         * bindings/js/JSScriptProfileNodeCustom.cpp: Removed custom function.
1967         (WebCore::JSScriptProfileNode::callUID):
1968         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Removed custom function.
1969         (WebCore):
1970         * inspector/ScriptProfileNode.idl: Replaced Array with sequence<ScriptProfileNode>.
1971
1972 2012-03-22  Andrey Kosyakov  <caseq@chromium.org>
1973
1974         Web Inspector: only update timeline overview categories strips when these are visible
1975         https://bugs.webkit.org/show_bug.cgi?id=81903
1976
1977         Reviewed by Pavel Feldman.
1978
1979         - factor out category strips update into a separate method;
1980         - only invoke it when "Timeline" overview mode is selected.
1981
1982         * inspector/front-end/TimelineOverviewPane.js:
1983         (WebInspector.TimelineOverviewPane.prototype._showTimelines):
1984         (WebInspector.TimelineOverviewPane.prototype.update):
1985         (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
1986
1987 2012-03-22  Levi Weintraub  <leviw@chromium.org>
1988
1989         Update LayoutUnit usage in FrameSelection
1990         https://bugs.webkit.org/show_bug.cgi?id=81754
1991
1992         Reviewed by Eric Seidel.
1993
1994         FrameSelection stores its caret and repaint bounds in absolute coordinates. Absolute coordinates
1995         we treat as pixel values, so this patch changes these values to integers. Sub-pixel precision
1996         will still be used when these coordinates are passed down and used locally.
1997
1998         No new tests. No change in behavior.
1999
2000         * editing/FrameSelection.cpp:
2001         (WebCore::absoluteCaretY): Uses absolute coordinates, which are ints.
2002         (WebCore::FrameSelection::modify): Uses absolute coordinates to handle vertical selection
2003         modification. Sub-pixel precision will be used when these values are converted to local ones.
2004         (WebCore::CaretBase::absoluteBoundsForLocalRect): Absolute coordinates -> ints.
2005         (WebCore::FrameSelection::absoluteCaretBounds): Ditto.
2006         (WebCore::CaretBase::caretRepaintRect): The caret repaint rect is stored in absolute coordinates.
2007         Reverting the values to ints.
2008         (WebCore::FrameSelection::recomputeCaretRect): Ditto.
2009         * editing/FrameSelection.h:
2010         (FrameSelection):
2011         * editing/mac/FrameSelectionMac.mm:
2012         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): Switching to store absolute
2013         coordinates as integers.
2014
2015 2012-03-22  Alexei Filippov  <alexeif@chromium.org>
2016
2017         Web Inspector: Speed up the build retainers phase.
2018         https://bugs.webkit.org/show_bug.cgi?id=81763
2019
2020         Replacing the edge iterator with a raw loop makes it
2021         faster by more than 10 times.
2022
2023         Reviewed by Yury Semikhatsky.
2024
2025         * inspector/front-end/HeapSnapshot.js:
2026         (WebInspector.HeapSnapshot.prototype._buildRetainers):
2027
2028 2012-03-22  No'am Rosenthal  <noam.rosenthal@nokia.com>
2029
2030         [Qt][WK2] The background appears to have one extra pixel from the contents
2031         https://bugs.webkit.org/show_bug.cgi?id=81830
2032
2033         Reviewed by Kenneth Rohde Christiansen.
2034
2035         TextureMapperGL applied a 1-offset that was covering for another bug,
2036         which was already fixed.
2037
2038         No new tests, this would be tested once we test GL rendering results.
2039
2040         * platform/graphics/texmap/TextureMapperGL.cpp:
2041         (WebCore::TextureMapperGLData::SharedGLData::scissorClip):
2042
2043 2012-03-22  W. James MacLean  <wjmaclean@chromium.org>
2044
2045         Rename touchpad fling curve, add curve parameters to constructor.
2046         https://bugs.webkit.org/show_bug.cgi?id=81820
2047
2048         Reviewed by Adrienne Walker.
2049
2050         Covered by existing unit tests.
2051
2052         * GNUmakefile.list.am:
2053         * WebCore.gypi:
2054         * platform/ScrollAnimatorNone.cpp:
2055         (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
2056         * platform/TouchpadFlingPlatformGestureCurve.cpp: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.cpp.
2057         (WebCore):
2058         (WebCore::TouchpadFlingPlatformGestureCurve::create):
2059         (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):
2060         (WebCore::TouchpadFlingPlatformGestureCurve::~TouchpadFlingPlatformGestureCurve):
2061         (WebCore::TouchpadFlingPlatformGestureCurve::apply):
2062         * platform/TouchpadFlingPlatformGestureCurve.h: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.h.
2063         (WebCore):
2064         (TouchpadFlingPlatformGestureCurve):
2065
2066 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
2067
2068         Web Inspector: make CSS and JavaScript files editable by default.
2069         https://bugs.webkit.org/show_bug.cgi?id=81787
2070
2071         Reviewed by Vsevolod Vlasov.
2072
2073         This change removes cancelEditing and setReadOnly capabilities from source frame.
2074         It removes dblclick handler as well since one does not need to enter editing mode.
2075         It also establishes proper content dispatching so that views are updated with the
2076         resource content. All these are inter-dependent, need to be landed simultaneously.
2077         Drive-by follow up to the r111675 where range is modified prior to the exiting
2078         edit mode.
2079
2080         * inspector/front-end/JavaScriptSourceFrame.js:
2081         (WebInspector.JavaScriptSourceFrame):
2082         (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
2083         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
2084         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
2085         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
2086         (WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
2087         * inspector/front-end/ResourceView.js:
2088         (WebInspector.ResourceSourceFrame):
2089         (WebInspector.ResourceSourceFrame.prototype.suggestedFileName):
2090         (WebInspector.ResourceSourceFrame.prototype._contentChanged):
2091         (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
2092         (WebInspector.EditableResourceSourceFrame.prototype.editContent.callbackWrapper):
2093         (WebInspector.EditableResourceSourceFrame.prototype.editContent):
2094         (WebInspector.EditableResourceSourceFrame.prototype._contentChanged):
2095         * inspector/front-end/ResourcesPanel.js:
2096         (WebInspector.ResourcesPanel.prototype._innerShowView):
2097         (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
2098         * inspector/front-end/ScriptsPanel.js:
2099         (WebInspector.ScriptsPanel.prototype.setScriptSourceIsDirty):
2100         * inspector/front-end/Settings.js:
2101         (WebInspector.ExperimentsSettings):
2102         * inspector/front-end/SourceFrame.js:
2103         (WebInspector.SourceFrame):
2104         (WebInspector.SourceFrame.prototype.wasShown):
2105         (WebInspector.SourceFrame.prototype.willHide):
2106         (WebInspector.SourceFrame.prototype.beforeTextChanged):
2107         (WebInspector.SourceFrame.prototype.setContent):
2108         (WebInspector.SourceFrame.prototype.commitEditing):
2109         (WebInspector.SourceFrame.prototype.didEditContent):
2110         (WebInspector.SourceFrame.prototype.editContent):
2111         * inspector/front-end/TextPrompt.js:
2112         (WebInspector.TextPrompt.prototype._startEditing):
2113         (WebInspector.TextPrompt.prototype._stopEditing):
2114         * inspector/front-end/TextViewer.js:
2115         (WebInspector.TextViewer):
2116         (WebInspector.TextViewer.prototype._registerShortcuts):
2117         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
2118
2119 2012-03-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2120
2121         [Qt] Enable FAST_MOBILE_SCROLLING when scrolling is delegated.
2122         https://bugs.webkit.org/show_bug.cgi?id=81889
2123
2124         Reviewed by Kenneth Rohde Christiansen.
2125
2126         On the Qt platform only enable the fast mobile scroll feature when scrolling is delegated.
2127
2128         * rendering/RenderObject.cpp:
2129         (WebCore::RenderObject::styleWillChange):
2130
2131 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
2132
2133         Web Inspector: dispatch styleSheetChanged event synchronously.
2134         https://bugs.webkit.org/show_bug.cgi?id=81892
2135
2136         Reviewed by Vsevolod Vlasov.
2137
2138         Today, backend generates stylesheet change event synchronously from within set* command.
2139         But CSSStyleModel defers its dispatching until the stylesheet content is available. This
2140         prevents us from ignoring update events from within commands that initiated those updates.
2141
2142         This change makes stylesheet change event dispatch synchronously and delegates stylesheet
2143         content fetching to the event client.
2144
2145         * inspector/front-end/CSSStyleModel.js:
2146         (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
2147         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
2148         (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
2149         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent.callbackWrapper):
2150         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
2151         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.callback):
2152         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
2153         (WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged):
2154
2155 2012-03-21  Ian Vollick  <vollick@chromium.org>
2156
2157         [chromium] timing functions are getting incorrectly applied for accelerated css transitions
2158         https://bugs.webkit.org/show_bug.cgi?id=81692
2159
2160         Reviewed by Adrienne Walker.
2161
2162         Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction
2163
2164         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2165
2166 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
2167
2168         Web Inspector: allow on-hover popover while in edit mode.
2169         https://bugs.webkit.org/show_bug.cgi?id=81898
2170
2171         Reviewed by Vsevolod Vlasov.
2172
2173         This change allows popover while in-edit mode, hides it upon Esc. It also introduces anchorOverride
2174         concept in ObjectPopoverHelper that allows dynamically switching the anchor (say if we want to highlight anchor itself).
2175
2176         * inspector/front-end/DetailedHeapshotView.js:
2177         * inspector/front-end/ElementsPanel.js:
2178         * inspector/front-end/JavaScriptSourceFrame.js:
2179         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover.showObjectPopover):
2180         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
2181         (WebInspector.JavaScriptSourceFrame.prototype._onKeyDown):
2182         * inspector/front-end/NetworkPanel.js:
2183         * inspector/front-end/ObjectPopoverHelper.js:
2184         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
2185         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
2186         * inspector/front-end/Popover.js:
2187         (WebInspector.PopoverHelper.prototype.isPopoverVisible):
2188         * inspector/front-end/TimelinePanel.js:
2189
2190 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
2191
2192         Web Inspector: breakpoints should shift when line break is inserted in the middle of the line.
2193         https://bugs.webkit.org/show_bug.cgi?id=81896
2194
2195         Reviewed by Vsevolod Vlasov.
2196
2197         There is a bug that collapses selection prior to exiting change mode, we should never
2198         collapse edit area prior committing.
2199
2200         * inspector/front-end/TextEditorModel.js:
2201         (WebInspector.TextEditorModel.endsWithBracketRegex.):
2202         * inspector/front-end/TextViewer.js:
2203         (WebInspector.TextViewer):
2204         (WebInspector.TextEditorMainPanel.prototype.highlightLine):
2205         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.callback):
2206         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
2207
2208 2012-03-22  Zoltan Herczeg  <zherczeg@webkit.org>
2209
2210         Merge SVGImageBufferTools to SVGRenderingContext
2211         https://bugs.webkit.org/show_bug.cgi?id=81890
2212
2213         Reviewed by Nikolas Zimmermann.
2214
2215         Copy the code to SVGRenderingContext and delete
2216         SVGImageBufferTools[.cpp.h]. Update build systems,
2217         no functionality change. This is the first step
2218         towards making SVGImageBufferTools stageful.
2219
2220         Existing tests cover this issue.
2221
2222         * CMakeLists.txt:
2223         * GNUmakefile.list.am:
2224         * Target.pri:
2225         * WebCore.gypi:
2226         * WebCore.xcodeproj/project.pbxproj:
2227         * platform/graphics/filters/FETile.cpp:
2228         (WebCore::FETile::platformApplySoftware):
2229         * rendering/svg/RenderSVGAllInOne.cpp:
2230         * rendering/svg/RenderSVGInlineText.cpp:
2231         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
2232         * rendering/svg/RenderSVGResourceClipper.cpp:
2233         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
2234         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
2235         * rendering/svg/RenderSVGResourceFilter.cpp:
2236         (WebCore::RenderSVGResourceFilter::applyResource):
2237         * rendering/svg/RenderSVGResourceGradient.cpp:
2238         (WebCore::createMaskAndSwapContextForTextGradient):
2239         (WebCore::clipToTextMask):
2240         * rendering/svg/RenderSVGResourceMasker.cpp:
2241         (WebCore::RenderSVGResourceMasker::applyResource):
2242         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
2243         * rendering/svg/RenderSVGResourcePattern.cpp:
2244         (WebCore::RenderSVGResourcePattern::applyResource):
2245         (WebCore::RenderSVGResourcePattern::createTileImage):
2246         * rendering/svg/SVGImageBufferTools.cpp: Removed.
2247         * rendering/svg/SVGImageBufferTools.h: Removed.
2248         * rendering/svg/SVGInlineTextBox.cpp:
2249         * rendering/svg/SVGRenderingContext.cpp:
2250         (WebCore::currentContentTransformation):
2251         (WebCore):
2252         (WebCore::SVGRenderingContext::calculateTransformationToOutermostSVGCoordinateSystem):
2253         (WebCore::SVGRenderingContext::createImageBuffer):
2254         (WebCore::SVGRenderingContext::createImageBufferForPattern):
2255         (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
2256         (WebCore::SVGRenderingContext::clipToImageBuffer):
2257         (WebCore::SVGRenderingContext::clampedAbsoluteTargetRect):
2258         (WebCore::SVGRenderingContext::clampedAbsoluteSize):
2259         (WebCore::SVGRenderingContext::clear2DRotation):
2260         * rendering/svg/SVGRenderingContext.h:
2261         (SVGRenderingContext):
2262         (WebCore::SVGRenderingContext::calculateImageBufferRect):
2263         * svg/graphics/filters/SVGFEImage.cpp:
2264         (WebCore::FEImage::platformApplySoftware):
2265
2266 2012-03-22  Hyowon Kim  <hw1008.kim@samsung.com>
2267
2268         [EFL] Add PageClientEfl to WebCoreSupport.
2269         https://bugs.webkit.org/show_bug.cgi?id=80748
2270
2271         Reviewed by Noam Rosenthal.
2272
2273         * platform/Widget.h: Use PageClientEfl as type for PlatformPageClient.
2274         (WebCore):
2275         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2276         (WebCore::GraphicsContext3DPrivate::createSurface): Change the argument type.
2277         * plugins/efl/PluginViewEfl.cpp:
2278         (WebCore::PluginView::platformGetValue): Use PageClientEfl.
2279
2280 2012-03-22  Kaustubh Atrawalkar  <kaustubh@motorola.com>
2281
2282         blur() on shadow host should work when a shadow host contains a focused element in its shadow DOM subtrees
2283         https://bugs.webkit.org/show_bug.cgi?id=81102
2284
2285         Reviewed by Hajime Morita.
2286
2287         This implementation will support blur for a focused element when its shadowHost's blur() is called.
2288         To achieve this Element::blur() function is modified to blur the focused node in it's treeScope.
2289
2290         Test: fast/dom/shadow/shadow-root-blur.html
2291
2292         * dom/Element.cpp:
2293         (WebCore::Element::blur): Modified to blur current treeScope's focused node.
2294         * dom/ShadowRoot.h:
2295         (WebCore::ShadowRoot::activeElement): Rework for code sharing.
2296         * dom/TreeScope.cpp:
2297         (WebCore::TreeScope::focusedNode): Added new function to share code for getting focused node.
2298         * dom/TreeScope.h:
2299         (TreeScope): New function declartion.
2300         * html/HTMLDocument.cpp:
2301         (WebCore::HTMLDocument::activeElement): Rework for code sharing.
2302
2303 2012-03-22  Vsevolod Vlasov  <vsevik@chromium.org>
2304
2305         Web Inspector: RawSourceCode does not need uiSourceCode lists because it never has more than one.
2306         https://bugs.webkit.org/show_bug.cgi?id=81894
2307
2308         RawSourceCode never has more than one uiSourceCode, uiSourceCodeList
2309         are just remains of older implementation. This patch switches RawSourceCode
2310         and SourceMappings from uiSourceCodeList to uiSourceCode.
2311
2312         Reviewed by Pavel Feldman.
2313
2314         * inspector/front-end/RawSourceCode.js:
2315         (WebInspector.RawSourceCode.prototype.uiSourceCode):
2316         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
2317         (WebInspector.RawSourceCode.SourceMapping.prototype.uiLocationToRawLocation):
2318         (WebInspector.RawSourceCode.SourceMapping.prototype.uiSourceCode):
2319         (WebInspector.RawSourceCode.PlainSourceMapping):
2320         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
2321         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
2322         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiSourceCode):
2323         (WebInspector.RawSourceCode.FormattedSourceMapping):
2324         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
2325         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
2326         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiSourceCode):
2327         * inspector/front-end/ResourceScriptMapping.js:
2328         (WebInspector.ResourceScriptMapping.prototype.uiSourceCodeList):
2329         (WebInspector.ResourceScriptMapping.prototype.addScript):
2330         (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged):
2331         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
2332         (WebInspector.ResourceScriptMapping.prototype.reset):
2333
2334 2012-03-22  Mario Sanchez Prada  <msanchez@igalia.com>
2335
2336         [GTK] Fix the only remaining coding style issue in GTK accessibility code
2337         https://bugs.webkit.org/show_bug.cgi?id=81885
2338
2339         Reviewed by Xan Lopez.
2340
2341         Add needed extra line and remove an unneeded one.
2342
2343         * accessibility/gtk/AccessibilityObjectAtk.cpp:
2344
2345 2012-03-22  Kent Tamura  <tkent@chromium.org>
2346
2347         Expand RenderTextControlSingleLine::controlClipRect() to contain contentRect().
2348         https://bugs.webkit.org/show_bug.cgi?id=81866
2349
2350         Reviewed by Hajime Morita.
2351
2352         We need to expand the controlClipRect because the existing shadow
2353         tree of a text field can be wrapped by another shadow tree. e.g.
2354
2355         A current situation:
2356
2357         <input>
2358           ┗ ShadowRoot
2359              ┗ container element
2360         ┌────────────┐<input>'s border box
2361         │┌──────────┐│
2362         ││container box       ││
2363         │└──────────┘│
2364         └────────────┘
2365
2366         Wrapped by another ShadowRoot:
2367
2368         <input>
2369           ┗ New ShadowRoot
2370              ┣ <shadow> represents the existing shadow tree
2371              ┃  ┗ container element
2372              ┗ D: an additional decoration element
2373         ┌────────────┐<input>'s border box
2374         │┌───────┬──┐│
2375         ││container box │ D  ││
2376         │└───────┴──┘│
2377         └────────────┘
2378         In this case, if we clip child renderers by container box, D is not
2379         drawn. We should clip by the content box of the <input>.
2380
2381         A search field has an exceptional behavior. It can have the container
2382         box of which height is taller than the content box height. The
2383         controlClipRect should contain both of the container box and the content
2384         box in this case. In other cases, the container box is equivalent to the
2385         content box. So the code always unites them.
2386
2387         No new tests. This won't make any behavior change for now.
2388
2389         * rendering/RenderTextControlSingleLine.cpp:
2390         (WebCore::RenderTextControlSingleLine::controlClipRect):
2391
2392 2012-03-22  Yoshifumi Inoue  <yosin@chromium.org>
2393
2394         [Forms] The option element should not be form associated element.
2395         https://bugs.webkit.org/show_bug.cgi?id=79764
2396
2397         Reviewed by Kent Tamura.
2398
2399         This patch changes base class of HTMLOptionELement to HTMLElement
2400         from HTMLFormControlElement for saving memory space and iteration
2401         time of extra "option" elements in HTMLFormElement::m_formAssociatedElements
2402         and matching the HTML5 specification for ease of maintenance.
2403
2404         This patch changes behavior of handling of CSS pseudo classes "invalid"
2405         and "valid". The "option" elements no longer use these CSS pseudo classes
2406         as HTML5 specification. This bug was filed in https://bugs.webkit.org/show_bug.cgi?id=80088
2407
2408         Changes of TextIterator is lead by usage of isFormControlElement. This
2409         changes will be replaced with more meaningful predicate as part of
2410         https://bugs.webkit.org/show_bug.cgi?id=80381
2411
2412         No new tests but updated select-live-pseudo-selectors.html test.
2413
2414         * css/CSSStyleSelector.cpp:
2415         (WebCore::CSSStyleSelector::canShareStyleWithElement): Added checking of the "option" element and returns false as HTMLFormControlElement.
2416         * css/SelectorChecker.cpp:
2417         (WebCore::SelectorChecker::checkOneSelector): Removed isFormControlElement for PseudoDisabled and PseudoChecked.
2418         * html/HTMLKeygenElement.cpp:
2419         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Removed form parameter of call site of HTMLOptionElement::create.
2420         * html/HTMLOptionElement.cpp:
2421         (WebCore::HTMLOptionElement::HTMLOptionElement): Removed form parameter which no longer needed. Changed base class in initialization list. Added m_disabled initialization.
2422         (WebCore::HTMLOptionElement::create): Removed form parameter which no longer needed.
2423         (WebCore::HTMLOptionElement::attach): Changeid base class.
2424         (WebCore::HTMLOptionElement::detach): Changed base class.
2425         (WebCore::HTMLOptionElement::parseAttribute): Changed base class. Added "disabled" attribute handling.
2426         (WebCore::HTMLOptionElement::childrenChanged): Changed base class.
2427         (WebCore::HTMLOptionElement::insertedIntoTree): Changed base class.
2428         * html/HTMLOptionElement.h:
2429         (HTMLOptionElement): Added new member variable m_disabled which was in HTMLFormControlElement.
2430         (WebCore::HTMLOptionElement::ownElementDisabled): Changed for using m_disabled.
2431         * html/HTMLTagNames.in: Removed constructorNeedsFormElement for the "option" element, which was used for passing form parameter to create function.
2432
2433 2012-03-21  Pavel Podivilov  <podivilov@chromium.org>
2434
2435         Web Inspector: rename ClosureCompilerSourceMapping to SourceMapParser and move it to CompilerScriptMapping.js.
2436         https://bugs.webkit.org/show_bug.cgi?id=81780
2437
2438         Reviewed by Pavel Feldman.
2439
2440         * WebCore.gypi:
2441         * WebCore.vcproj/WebCore.vcproj:
2442         * inspector/compile-front-end.py:
2443         * inspector/front-end/CompilerScriptMapping.js:
2444         (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
2445         (WebInspector.SourceMapParserPayload):
2446         (WebInspector.SourceMapParser):
2447         (WebInspector.SourceMapParser.prototype.load):
2448         (WebInspector.SourceMapParser.prototype.compiledLocationToSourceLocation):
2449         (WebInspector.SourceMapParser.prototype.sourceLocationToCompiledLocation):
2450         (WebInspector.SourceMapParser.prototype.sources):
2451         (WebInspector.SourceMapParser.prototype.loadSourceCode):
2452         (WebInspector.SourceMapParser.prototype._findMapping):
2453         (WebInspector.SourceMapParser.prototype._parseMappingPayload):
2454         (WebInspector.SourceMapParser.prototype._parseSections):
2455         (WebInspector.SourceMapParser.prototype._parseMap):
2456         (WebInspector.SourceMapParser.prototype._isSeparator):
2457         (WebInspector.SourceMapParser.prototype._decodeVLQ):
2458         (WebInspector.SourceMapParser.prototype._canonicalizeURL):
2459         (WebInspector.SourceMapParser.StringCharIterator):
2460         (WebInspector.SourceMapParser.StringCharIterator.prototype.next):
2461         (WebInspector.SourceMapParser.StringCharIterator.prototype.peek):
2462         (WebInspector.SourceMapParser.StringCharIterator.prototype.hasNext):
2463         * inspector/front-end/CompilerSourceMapping.js: Removed.
2464         * inspector/front-end/WebKit.qrc:
2465         * inspector/front-end/inspector.html:
2466
2467 2012-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
2468
2469         Web Inspector: IndexedDB transaction is not closed when requesting data.
2470         https://bugs.webkit.org/show_bug.cgi?id=81837
2471
2472         Reviewed by Pavel Feldman.
2473
2474         * inspector/InspectorIndexedDBAgent.cpp: Added missing IDBCursorBackendInterface::postSuccessHandlerCallback() call.
2475         (WebCore):
2476
2477 2012-03-21  Yury Semikhatsky  <yurys@chromium.org>
2478
2479         Web Inspector: event listeners section is broken for about:blank page
2480         https://bugs.webkit.org/show_bug.cgi?id=81795
2481
2482         Parse about:blank as a valid URL.
2483
2484         Reviewed by Pavel Feldman.
2485
2486         Test: inspector/elements/event-listeners-about-blank.html
2487
2488         * inspector/front-end/utilities.js:
2489         (String.prototype.asParsedURL):
2490
2491 2012-03-21  Dan Bernstein  <mitz@apple.com>
2492
2493         REGRESSION (r111635): Assertion failure in RenderFlexibleBox::layoutFlexItems() (!lineContexts.size()) in many flexbox tests
2494         https://bugs.webkit.org/show_bug.cgi?id=81870
2495
2496         Reverted r111635, the fix for bug 81843.
2497
2498         * rendering/RenderFlexibleBox.cpp:
2499         (WebCore::RenderFlexibleBox::WrapReverseContext::WrapReverseContext):
2500         (WebCore::RenderFlexibleBox::WrapReverseContext::addCrossAxisOffset):
2501         (RenderFlexibleBox::WrapReverseContext):
2502         (WebCore::RenderFlexibleBox::WrapReverseContext::addNumberOfChildrenOnLine):
2503         (WebCore::RenderFlexibleBox::WrapReverseContext::lineCrossAxisDelta):
2504         (WebCore::RenderFlexibleBox::layoutFlexItems):
2505         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
2506         (WebCore::RenderFlexibleBox::alignChildren):
2507         (WebCore::RenderFlexibleBox::flipForWrapReverse):
2508         * rendering/RenderFlexibleBox.h:
2509
2510 2012-03-21  Emil A Eklund  <eae@chromium.org>
2511
2512         Unreviewed change touching CustomFilterProgram.h to try
2513         to force the chromium-win bots to rebuilt it and pick up
2514         on the fact that CSS_SHADERS is not set (since r111610). 
2515
2516         * platform/graphics/filters/CustomFilterProgram.h:
2517
2518 2012-03-21  Vangelis Kokkevis  <vangelis@chromium.org>
2519
2520         [chromium] FPS counter causes garbage to be displayed at top left corner
2521         https://bugs.webkit.org/show_bug.cgi?id=81851
2522
2523         The HUD expects the PlatformCanvas it paints on to be cleared on creation which is
2524         no longer true after http://src.chromium.org/viewvc/chrome?view=rev&revision=127196 .
2525         This patch does an explicit clearRect before the HUD contents are painted.
2526
2527         Reviewed by Adrienne Walker.
2528
2529         TEST=Manually verified that --show-fps-counter and --show-composited-layer-tree work correctly.
2530
2531         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2532         (WebCore::CCHeadsUpDisplay::draw):
2533
2534 2012-03-21  Ryosuke Niwa  <rniwa@webkit.org>
2535
2536         Touch a file to make Chromium Windows bots happy.
2537
2538         * css/CSSValueKeywords.in:
2539
2540 2012-03-19  Igor Oliveira  <igor.o@sisa.samsung.com>
2541
2542         Every call to RenderObject::setAnimatableStyle() iterates through all m_compositeAnimations: potentially O(N^2)
2543         https://bugs.webkit.org/show_bug.cgi?id=38025
2544
2545         Implement updateAnimationTimerForRender. This reduces unnecessary animation
2546         steps on the current RenderObject by checking the value of timeToNextService
2547         before starting a new timer.
2548
2549         Reviewed by Dean Jackson.
2550
2551         Test: animations/animation-welcome-safari.html
2552
2553         * page/animation/AnimationController.cpp:
2554         (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
2555         (WebCore):
2556         (WebCore::AnimationController::updateAnimations):
2557         * page/animation/AnimationControllerPrivate.h:
2558         (AnimationControllerPrivate):
2559
2560 2012-03-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2561
2562         Unreviewed, rolling out r111616.
2563         http://trac.webkit.org/changeset/111616
2564         https://bugs.webkit.org/show_bug.cgi?id=81862
2565
2566         broke chromium mac (Requested by eae on #webkit).
2567
2568         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2569         (WebCore::CCLayerImpl::appendQuads):
2570         * platform/graphics/chromium/cc/CCLayerImpl.h:
2571         (CCLayerImpl):
2572         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2573         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2574         (WebCore::CCLayerTreeHostImpl::drawLayers):
2575         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2576         (CCLayerTreeHostImpl):
2577         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2578         (WebCore::CCQuadCuller::append):
2579         * platform/graphics/chromium/cc/CCQuadCuller.h:
2580         (CCQuadCuller):
2581         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2582         (WebCore::CCRenderPass::appendQuadsForLayer):
2583         * platform/graphics/chromium/cc/CCRenderPass.h:
2584         (CCRenderPass):
2585         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2586         (WebCore::CCScrollbarLayerImpl::appendQuads):
2587         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2588         (CCScrollbarLayerImpl):
2589         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2590         (WebCore::CCSingleThreadProxy::doComposite):
2591         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
2592         (WebCore::CCSolidColorLayerImpl::appendQuads):
2593         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
2594         (CCSolidColorLayerImpl):
2595         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
2596         (WebCore::CCTextureLayerImpl::appendQuads):
2597         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
2598         (CCTextureLayerImpl):
2599         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2600         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
2601         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2602         (WebCore::CCTiledLayerImpl::appendQuads):
2603         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2604         (CCTiledLayerImpl):
2605         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2606         (WebCore::CCVideoLayerImpl::appendQuads):
2607         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2608         (CCVideoLayerImpl):
2609
2610 2012-03-21  Beth Dakin  <bdakin@apple.com>
2611
2612         https://bugs.webkit.org/show_bug.cgi?id=80322
2613         Implement image-set
2614
2615         Reviewed by Dean Jackson.
2616
2617         This initial implementation of -webkit-image-set. 
2618         http://lists.w3.org/Archives/Public/www-style/2012Feb/1103.html
2619         The idea behind the feature is to allow authors to provide multiple variants 
2620         of the same image at differing resolutions, and to allow the User Agent to 
2621         choose the resource that is most appropriate at the time. This patch will 
2622         choose the most appropriate image based on device scale factor.
2623
2624         CSSImageSetValue inherits from CSSValueList and behaves a lot like 
2625         CSSImageValue.
2626         * WebCore.xcodeproj/project.pbxproj:
2627         * css/CSSImageSetValue.h: Added.
2628         (WebCore):
2629         (CSSImageSetValue):
2630         (WebCore::CSSImageSetValue::create):
2631         (WebCore::CSSImageSetValue::isPending):
2632         (ImageWithScale):
2633         (WebCore::CSSImageSetValue::compareByScaleFactor):
2634         * css/CSSImageSetValue.cpp: Added.
2635         (WebCore):
2636         (WebCore::CSSImageSetValue::CSSImageSetValue):
2637         (WebCore::CSSImageSetValue::~CSSImageSetValue):
2638         (WebCore::CSSImageSetValue::cachedOrPendingImageSet):
2639         (WebCore::CSSImageSetValue::customCssText):
2640
2641         fillImageSet() iterates through the value list and turns the information into 
2642         a sorted Vector of ImageWithScales (which is a struct containing image URLs 
2643         and scale factors).
2644         (WebCore::CSSImageSetValue::fillImageSet):
2645
2646         cachedImageSet() finds which image is most appropriate based on the device 
2647         scale factor, and it loads only that image. In the future, additional scale 
2648         factors will be taken into account.
2649         (WebCore::CSSImageSetValue::bestImageForScaleFactor):
2650         (WebCore::CSSImageSetValue::cachedImageSet):
2651
2652         parseImageSet() is called everywhere in the CSSParser that a regular image or 
2653         generated image can be found.
2654         * css/CSSParser.cpp:
2655         (WebCore::CSSParser::parseValue):
2656         (WebCore::CSSParser::parseContent):
2657         (WebCore::CSSParser::parseFillImage):
2658         (WebCore::CSSParser::parseBorderImage):
2659         (WebCore):
2660         (WebCore::CSSParser::parseImageSet):
2661         * css/CSSParser.h:
2662
2663         Since CSSImageSetValue is implemented as a value list, 
2664         ApplyPropertyFillLayer::applyValue() needs to be more specific when it's 
2665         looking for a list of multiple URLs.
2666         * css/CSSStyleApplyProperty.cpp:
2667         (WebCore::ApplyPropertyFillLayer::applyValue):
2668
2669         Handle image-set as a valid image value.
2670         * css/CSSStyleSelector.cpp:
2671         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2672         * css/CSSStyleSelector.h:
2673         (CSSStyleSelector):
2674         * css/CSSValue.cpp:
2675         (WebCore::CSSValue::cssText):
2676         (WebCore::CSSValue::destroy):
2677         * css/CSSValue.h:
2678         (CSSValue):
2679         (WebCore::CSSValue::isImageSetValue):
2680
2681         computeIntrinsicDimensions() now takes an optional scaleFactor parameter that represents the author-enforced "intrinsic" scale factor of the image.
2682         * loader/cache/CachedImage.cpp:
2683         (WebCore::CachedImage::computeIntrinsicDimensions):
2684         * loader/cache/CachedImage.h:
2685         (CachedImage):
2686         * platform/graphics/GeneratedImage.h:
2687         (GeneratedImage):
2688         * platform/graphics/GeneratorGeneratedImage.cpp:
2689         (WebCore::GeneratedImage::computeIntrinsicDimensions):
2690         * platform/graphics/Image.cpp:
2691         (WebCore::Image::computeIntrinsicDimensions):
2692         * platform/graphics/Image.h:
2693         (Image):
2694         * platform/graphics/cg/PDFDocumentImage.cpp:
2695         (WebCore::PDFDocumentImage::computeIntrinsicDimensions):
2696         * platform/graphics/cg/PDFDocumentImage.h:
2697         (PDFDocumentImage):
2698         * svg/graphics/SVGImage.cpp:
2699         (WebCore::SVGImage::computeIntrinsicDimensions):
2700         * svg/graphics/SVGImage.h:
2701         (SVGImage):
2702
2703         Inherits from StyleImage and returns a scaled size for imageSize() and 
2704         computeIntrinsicDimensions().
2705         * rendering/style/StyleCachedImageSet.cpp: Added.
2706         (WebCore):
2707         (WebCore::StyleCachedImageSet::StyleCachedImageSet):
2708         (WebCore::StyleCachedImageSet::cssValue):
2709         (WebCore::StyleCachedImageSet::canRender):
2710         (WebCore::StyleCachedImageSet::isLoaded):
2711         (WebCore::StyleCachedImageSet::errorOccurred):
2712         (WebCore::StyleCachedImageSet::imageSize):
2713         (WebCore::StyleCachedImageSet::imageHasRelativeWidth):
2714         (WebCore::StyleCachedImageSet::imageHasRelativeHeight):
2715         (WebCore::StyleCachedImageSet::computeIntrinsicDimensions):
2716         (WebCore::StyleCachedImageSet::usesImageContainerSize):
2717         (WebCore::StyleCachedImageSet::setContainerSizeForRenderer):
2718         (WebCore::StyleCachedImageSet::addClient):
2719         (WebCore::StyleCachedImageSet::removeClient):
2720         (WebCore::StyleCachedImageSet::image):
2721         * rendering/style/StyleCachedImageSet.h: Added.
2722         (WebCore):
2723         (StyleCachedImageSet):
2724         (WebCore::StyleCachedImageSet::create):
2725         (WebCore::StyleCachedImageSet::data):
2726         (WebCore::StyleCachedImageSet::cachedImage):
2727
2728         Handle image-set.
2729         * rendering/style/StyleImage.h:
2730         (WebCore::StyleImage::isCachedImageSet):
2731         (WebCore::StyleImage::StyleImage):
2732         (StyleImage):
2733         * rendering/style/StylePendingImage.h:
2734         (StylePendingImage):
2735         (WebCore::StylePendingImage::cssImageSetValue):
2736
2737 2012-03-21  David Barton  <dbarton@mathscribe.com>
2738
2739         MathML internals - improve naming in RenderMathMLSquareRoot.cpp and RenderMathMLRoot.cpp
2740         https://bugs.webkit.org/show_bug.cgi?id=81850
2741
2742         Reviewed by Eric Seidel.
2743
2744         This prepares these files for bug fixes, and eventually combining their common code. To
2745         understand this patch, I suggest you start with RenderMathMLSquareRoot.cpp, as it's
2746         simpler than RenderMathMLRoot.cpp.
2747
2748         No new tests. LayoutTests/mathml/presentation/roots.xhtml is thorough enough for this.
2749
2750         * rendering/mathml/RenderMathMLRoot.cpp:
2751         (WebCore):
2752         (WebCore::RenderMathMLRoot::addChild):
2753         (WebCore::RenderMathMLRoot::paint):
2754         (WebCore::RenderMathMLRoot::layout):
2755         * rendering/mathml/RenderMathMLRoot.h:
2756         (WebCore):
2757         (RenderMathMLRoot):
2758         * rendering/mathml/RenderMathMLSquareRoot.cpp:
2759         (WebCore):
2760         (WebCore::RenderMathMLSquareRoot::paint):
2761         (WebCore::RenderMathMLSquareRoot::layout):
2762         * rendering/mathml/RenderMathMLSquareRoot.h:
2763         (WebCore):
2764         (RenderMathMLSquareRoot):
2765         * rendering/mathml/RenderMathMLSubSup.h:
2766         (WebCore):
2767
2768 2012-03-21  Tony Chang  <tony@chromium.org>
2769
2770         refactor flexbox in preparation for flex-line-pack
2771         https://bugs.webkit.org/show_bug.cgi?id=81843
2772
2773         Reviewed by Ojan Vafai.
2774
2775         Replace WrapReverseContext with a vector of LineContexts that contain
2776         the same information, plus values needed for flex-align.
2777
2778         alignChildren has been moved to after all the lines have been
2779         positioned. We want to align children after flex-line-pack has changed
2780         the size of each line to avoid unnecessary layouts.
2781
2782         No new tests, just refactoring.
2783
2784         * rendering/RenderFlexibleBox.cpp:
2785         (WebCore::RenderFlexibleBox::LineContext::LineContext): New struct,
2786         holds information needed for wrap-reverse and aligning children.
2787         (RenderFlexibleBox::LineContext):
2788         (WebCore::RenderFlexibleBox::layoutFlexItems): alignChildren after layout out all the lines rather than after each line.
2789         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): don't alignChildren
2790         (WebCore::RenderFlexibleBox::alignChildren): align all flex items, not just a line at a time.
2791         (WebCore::RenderFlexibleBox::flipForWrapReverse): Update to use LineContext
2792         * rendering/RenderFlexibleBox.h:
2793
2794 2012-03-21  Ryosuke Niwa  <rniwa@webkit.org>
2795
2796         BDI element should have dir=auto by default
2797         https://bugs.webkit.org/show_bug.cgi?id=68773
2798
2799         Reviewed by Daniel Bates.
2800
2801         Treat bdi elements without dir content attribute as if they have dir=auto per spec:
2802         http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-bdi-element
2803
2804         The patch tries to encapsulate the logic to look for dir content attribute and dir=auto.
2805
2806         It also adds HTMLBDIElement interface (binding remains to use HTMLElement) to set
2807         selfOrAncestorHasDirAutoAttribute flag true by default, which is used by functions like
2808         directionalityIfhasDirAutoAttribute to look for elements with dir=auto. Since dir=auto-ness of bdi
2809         elements can be overridden by dir content attribute, we must change and only change the default value.
2810
2811         Tests: fast/text/international/bdi-dir-default-to-auto-expected.html
2812                fast/text/international/bdi-dir-default-to-auto.html
2813
2814         * GNUmakefile.list.am:
2815         * Target.pri:
2816         * WebCore.gypi:
2817         * WebCore.vcproj/WebCore.vcproj:
2818         * WebCore.xcodeproj/project.pbxproj:
2819         * css/CSSStyleSelector.cpp:
2820         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2821         * html/HTMLBDIElement.h: Added.
2822         (WebCore):
2823         (HTMLBDIElement):
2824         (WebCore::HTMLBDIElement::create):
2825         (WebCore::HTMLBDIElement::HTMLBDIElement): Sets selfOrAncestorHasDirAutoAttribute to true because
2826         bdi elements are treated as if it has dir=auto by default.
2827         * html/HTMLElement.cpp:
2828         (WebCore::elementAffectsDirectionality): Added. Checks if the specified element is bdi or
2829         has dir content attribute.
2830         (WebCore):
2831         (WebCore::setHasDirAutoFlagRecursively):
2832         (WebCore::HTMLElement::hasDirectionAuto): Added. Checks if the specified element should be treated
2833         as if it has dir=auto (bdi or element with dir=auto).
2834         (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
2835         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
2836         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
2837         * html/HTMLElement.h:
2838         (HTMLElement):
2839         * html/HTMLTagNames.in: Use HTMLBDIElement instead of HTMLElement for constructing bdi element
2840         to set selfOrAncestorHasDirAutoAttribute true but still use HTMLElement for binding.
2841
2842 2012-03-21  Luke Macpherson  <macpherson@chromium.org>
2843
2844         Use CSSPrimitiveValue::convertToLength() in a few places.
2845         https://bugs.webkit.org/show_bug.cgi?id=81492
2846
2847         Reviewed by Eric Seidel.
2848
2849         No new tests - refactoring only.
2850
2851         CSSPrimitiveValue::convertToLength() provides the same functionality that is duplicated
2852         in many places in CSSStyleSelector. This patch removes some of that code duplication.
2853
2854         * css/CSSStyleApplyProperty.cpp:
2855         (WebCore::ApplyPropertyVerticalAlign::applyValue):
2856         * css/CSSStyleSelector.cpp:
2857         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2858
2859 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
2860
2861         Build fix for ENABLE(SVG) && !ENABLE(FILTERS) after r111601.
2862
2863         * rendering/svg/RenderSVGRoot.cpp:
2864
2865 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
2866
2867         Build fix for !ENABLE(INSPECTOR) after r104831.
2868
2869         * bindings/js/ScriptDebugServer.cpp:
2870         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2871
2872 2012-03-21  Xiaomei Ji  <xji@chromium.org>
2873
2874         visual word movement: using cache to decrease the number of collectLeafBoxesInLogicalOrder on RootInlineBox
2875         https://bugs.webkit.org/show_bug.cgi?id=81408
2876
2877         Reviewed by Ryosuke Niwa.
2878
2879         Cache logically ordered leaf boxes under a particular root box.
2880         Also, move 'Vector<UChar, 1024> string' declared in visualWordPosition() to outside of loop (it is always
2881         clear-ed before use).
2882
2883         * editing/visible_units.cpp:
2884         (CachedLogicallyOrderedLeafBoxes): Add class to cache logically ordered leaf boxes under a particular root box.
2885         (WebCore::CachedLogicallyOrderedLeafBoxes::size):
2886         (WebCore::CachedLogicallyOrderedLeafBoxes::firstBox):
2887         (WebCore):
2888         (WebCore::CachedLogicallyOrderedLeafBoxes::CachedLogicallyOrderedLeafBoxes):
2889         (WebCore::CachedLogicallyOrderedLeafBoxes::previousTextBox):
2890         (WebCore::CachedLogicallyOrderedLeafBoxes::nextTextBox):
2891         (WebCore::CachedLogicallyOrderedLeafBoxes::collectBoxes):
2892         (WebCore::CachedLogicallyOrderedLeafBoxes::boxIndexInLeaves):
2893         (WebCore::logicallyPreviousBox): Pass CachedLogicallyOrderedLeafBoxes object around.
2894         (WebCore::logicallyNextBox):
2895         (WebCore::wordBreakIteratorForMinOffsetBoundary):
2896         (WebCore::wordBreakIteratorForMaxOffsetBoundary):
2897         (WebCore::visualWordPosition):
2898
2899 2012-03-21  Dana Jansens  <danakj@chromium.org>
2900
2901         [chromium] Early out in a new prepareToDraw() step if checkerboarding an accelerated animation in order to skip the frame
2902         https://bugs.webkit.org/show_bug.cgi?id=81437
2903
2904         Reviewed by Adrienne Walker.
2905
2906         Split CCLayerTreeHostImpl::drawLayers() into two phases:
2907         prepareToDraw() and drawLayers().
2908
2909         When calculating a RenderPass, and we checkerboard a quad on a
2910         layer, bubble this info back up to CCLayerTreeHostImpl. If the
2911         layer is transforming in an animation, then abort the prepareToDraw()
2912         phase and cause it to return false back to the thread proxy.
2913
2914         Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
2915
2916         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2917         (WebCore::CCLayerImpl::appendQuads):
2918         * platform/graphics/chromium/cc/CCLayerImpl.h:
2919         (CCLayerImpl):
2920         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2921         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2922         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
2923         (WebCore):
2924         (WebCore::CCLayerTreeHostImpl::drawLayers):
2925         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2926         (CCLayerTreeHostImpl):
2927         (FrameData):
2928         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2929         (WebCore::CCQuadCuller::append):
2930         * platform/graphics/chromium/cc/CCQuadCuller.h:
2931         (CCQuadCuller):
2932         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2933         (WebCore::CCRenderPass::appendQuadsForLayer):
2934         * platform/graphics/chromium/cc/CCRenderPass.h:
2935         (CCRenderPass):
2936         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2937         (WebCore::CCScrollbarLayerImpl::appendQuads):
2938         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2939         (CCScrollbarLayerImpl):
2940         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2941         (WebCore::CCSingleThreadProxy::doComposite):
2942         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
2943         (WebCore::CCSolidColorLayerImpl::appendQuads):
2944         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
2945         (CCSolidColorLayerImpl):
2946         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
2947         (WebCore::CCTextureLayerImpl::appendQuads):
2948         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
2949         (CCTextureLayerImpl):
2950         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2951         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
2952         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2953         (WebCore::CCTiledLayerImpl::appendQuads):
2954         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2955         (CCTiledLayerImpl):
2956         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2957         (WebCore::CCVideoLayerImpl::appendQuads):
2958         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2959         (CCVideoLayerImpl):
2960
2961 2012-03-21  Enrica Casucci  <enrica@apple.com>
2962
2963         WebKitURLWithTitles pasteboard format should support URLs containing Emoji characters.
2964         https://bugs.webkit.org/show_bug.cgi?id=81835
2965         <rdar://problem/11082749>
2966
2967         Reviewed by Brady Eidson.
2968
2969         When writing the URL in the pasteboard for the WebURLWithTitles format,
2970         we use the user visible string instead of the original URL.
2971         In case of URL with Unicode characters, we lose the encoding.
2972         
2973         Added TestWebKitAPI test.
2974
2975         * platform/mac/PasteboardMac.mm:
2976         (WebCore::writeURLForTypes): Writes to the pasteboard the original URL.
2977
2978 2012-03-21  Levi Weintraub  <leviw@chromium.org>
2979
2980         Correct LayoutUnit usage in VisiblePosition.cpp
2981         https://bugs.webkit.org/show_bug.cgi?id=81775
2982
2983         Reviewed by Eric Seidel.
2984
2985         Correcting a mismatch between the .h and .cpp for the definition of localCaretRect,
2986         and properly using LayoutUnits for local coordinates.
2987
2988         No new tests. No change in behavior.
2989
2990         * editing/VisiblePosition.cpp:
2991         (WebCore::VisiblePosition::localCaretRect): Switching to return a LayoutRect, as in the
2992         header. Local coordinates are in LayoutUnits.
2993         (WebCore::VisiblePosition::absoluteCaretBounds): Using LayoutRect for the localCaretRect.
2994         (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation): Ditto.
2995
2996 2012-03-21  Adam Klein  <adamk@chromium.org>
2997
2998         "this" argument for MutationCallbacks should be the MutationObserver
2999         https://bugs.webkit.org/show_bug.cgi?id=81712
3000
3001         Reviewed by Adam Barth.
3002
3003         Test: fast/mutation/callback-arguments.html
3004
3005         * bindings/js/JSCallbackData.cpp:
3006         (WebCore::JSCallbackData::invokeCallback): Add an overload that takes
3007         an explicit this argument and have the old method call the new one.
3008         * bindings/js/JSCallbackData.h:
3009         (JSCallbackData):
3010         * bindings/js/JSMutationCallbackCustom.cpp:
3011         (WebCore::JSMutationCallback::handleEvent): Call the new overload.
3012         * bindings/v8/custom/V8CustomVoidCallback.cpp:
3013         (WebCore::invokeCallback): Add an overload that takes an explicit this
3014         argument and have the old method call the new one.
3015         * bindings/v8/custom/V8CustomVoidCallback.h:
3016         (WebCore):
3017         * bindings/v8/custom/V8MutationCallbackCustom.cpp:
3018         (WebCore::V8MutationCallback::handleEvent): Call the new overload.
3019
3020 2012-03-21  Alexandru Chiculita  <achicu@adobe.com>
3021
3022         [CSS Shaders] Make CSS Shaders compile on Chromium
3023         https://bugs.webkit.org/show_bug.cgi?id=81435
3024
3025         Reviewed by Stephen White.
3026
3027         This patch enables the CSS Shaders compile time flag, but keeps the runtime flag disabled.
3028         The only way to test the functionality now is to use the overridePreference from dump render tree.
3029
3030         Also part of this patch I fix a layering violation: I removed the "Document" reference from the FECustomFilter.cpp and passed the
3031         HostWindow directly. There should be no problem when the HostWindow changes, because the RenderLayer and the FECustomFilter
3032         get recreated anyway.
3033
3034         No new tests. I've updated the existing custom filter tests to run under Chromium and added the expected results.
3035         I've just added window.layoutTestController.overridePreference("WebKitCSSCustomFilterEnabled", "1") to force 
3036         enable the feature at runtime. 
3037
3038         * loader/cache/CachedResource.cpp: Made CachedResource::ShaderResource report as ResourceRequest::TargetIsSubresource for Chromium.
3039         (WebCore::cachedResourceTypeToTargetType):
3040
3041         * platform/graphics/filters/FECustomFilter.cpp:
3042         (WebCore::FECustomFilter::FECustomFilter): Removed Document and just used the HostWindow directly.
3043         (WebCore::FECustomFilter::create):
3044         (WebCore::FECustomFilter::initializeContext):
3045         (WebCore::FECustomFilter::bindVertexAttribute): There was a typo and instead of using the "size" parameter it always used 4 component attribute.
3046         Other drivers didn't complain about it, but it was clearly a bug.
3047         (WebCore::FECustomFilter::bindProgramAndBuffers): Reading the image back from GPU will flip vertically the framebuffer in Chromium. I've flipped the
3048         projection matrix only on Chromium, so that we get the correct result.
3049
3050         * rendering/FilterEffectRenderer.cpp:
3051         (WebCore::FilterEffectRenderer::build): Passing the HostWindow instead of the Document.
3052
3053 2012-03-21  Mark Pilgrim  <pilgrim@chromium.org>
3054
3055         Realphabetize about webaudio move
3056         https://bugs.webkit.org/show_bug.cgi?id=81825
3057
3058         Reviewed by Adam Barth.
3059
3060         No new tests, all existing tests pass.
3061
3062         * CMakeLists.txt:
3063
3064 2012-03-21  Anders Carlsson  <andersca@apple.com>
3065
3066         Evict tiles from pages in background tabs
3067         https://bugs.webkit.org/show_bug.cgi?id=81829
3068         <rdar://problem/10866152>
3069
3070         Reviewed by Andreas Kling.
3071
3072         When the tile cache for a page is no longer in a window (which happens when it's moved to 
3073         a background tab), schedule a tile revalidation after 4 seconds. This tile revalidation 
3074         will ensure that tiles outside of the visible rect will be dropped.
3075
3076         * platform/graphics/ca/mac/TileCache.h:
3077         (TileCache):
3078         * platform/graphics/ca/mac/TileCache.mm:
3079         (WebCore::TileCache::tileCacheLayerBoundsChanged):
3080         (WebCore::TileCache::setIsInWindow):
3081         (WebCore::TileCache::tileCoverageRect):
3082         (WebCore):
3083         (WebCore::TileCache::scheduleTileRevalidation):
3084         (WebCore::TileCache::revalidateTiles):
3085
3086 2012-03-21  Stephen Chenney  <schenney@chromium.org>
3087
3088         SVG layout leaves objects still needing layout
3089         https://bugs.webkit.org/show_bug.cgi?id=81006
3090
3091         Reviewed by Nikolas Zimmermann.
3092
3093         Change the layout of SVG objects such that resources that trigger
3094         layout of other objects are handled in a distinct pass, and then
3095         objects still requiring layout are laid out again.
3096
3097         Test: svg/custom/delete-text-innerText-crash.html
3098
3099         * rendering/svg/RenderSVGResourceContainer.cpp:
3100         (WebCore::RenderSVGResourceContainer::layout):
3101         * rendering/svg/RenderSVGResourceMarker.cpp:
3102         (WebCore::RenderSVGResourceMarker::layout):
3103         * rendering/svg/RenderSVGRoot.cpp:
3104         (WebCore::RenderSVGRoot::layout):
3105         (WebCore::RenderSVGRoot::addResourceForClientInvalidation):
3106         (WebCore):
3107         * rendering/svg/RenderSVGRoot.h:
3108         (RenderSVGRoot):
3109
3110 2012-03-21  Tim Horton  <timothy_horton@apple.com>
3111
3112         Make use of CG rounded-rect primitives
3113         https://bugs.webkit.org/show_bug.cgi?id=79932
3114         <rdar://problem/9274953>
3115
3116         Reviewed by Simon Fraser.
3117
3118         Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman.
3119
3120         Dispatch to potentially platform-specific rounded rectangle path
3121         construction from addPathForRoundedRect. Make use of this to call
3122         wkCGPathAddRoundedRect on Lion and above, as long as the rounded
3123         corners are all equivalent.
3124
3125         The origin of the stroke dash differs between the bezier approach
3126         and the path added by wkCGPathAddRoundedRect, so Path::addRoundedRect()
3127         takes a new parameter allowing code which is sensitive to stroke dash
3128         origin (i.e. SVG) to fall back to the old behavior if need be.
3129
3130         Make use of the new Path::addRoundedRect() parameter to fall back to
3131         the old (bezier) rounded-rect behavior when constructing a dashed SVG path,
3132         in order to continue complying with the spec.
3133
3134         No new tests, as this is covered by many that use rounded corners,
3135         and is only a performance improvement.
3136
3137         * WebCore.exp.in:
3138         * platform/graphics/Path.cpp:
3139         (WebCore::Path::addRoundedRect):
3140         (WebCore):
3141         (WebCore::Path::addPathForRoundedRect):
3142         * platform/graphics/Path.h:
3143         (Path):
3144         * platform/graphics/cg/PathCG.cpp:
3145         (WebCore::Path::platformAddPathForRoundedRect):
3146         (WebCore):
3147         * platform/mac/WebCoreSystemInterface.h:
3148         * platform/mac/WebCoreSystemInterface.mm:
3149         * rendering/svg/SVGPathData.cpp:
3150         (WebCore::updatePathFromRectElement):
3151
3152 2012-03-21  David Reveman  <reveman@chromium.org>
3153
3154         [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
3155         https://bugs.webkit.org/show_bug.cgi?id=80988
3156
3157         Reviewed by Adrienne Walker.
3158
3159         Expose EXT_occlusion_query API to WebKit compositor. Add
3160         GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query
3161         enums.
3162
3163         * platform/graphics/chromium/Extensions3DChromium.h:
3164         (Extensions3DChromium):
3165
3166 2012-03-21  Tony Chang  <tony@chromium.org>
3167
3168         compute the sign of flexibility for new flexbox
3169         https://bugs.webkit.org/show_bug.cgi?id=81722
3170
3171         Reviewed by Ojan Vafai.
3172
3173         This implements the computation of the sign of flexibility used by the
3174         new flexing algorithm.
3175         http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths
3176
3177         No new tests, we don't use the sign of flexibility yet.
3178
3179         * rendering/RenderFlexibleBox.cpp:
3180         (WebCore::RenderFlexibleBox::layoutFlexItems):
3181         (WebCore::RenderFlexibleBox::computeNextFlexLine): Compute the size
3182         adjusted for min/max as well as not adjusted.
3183         (WebCore::RenderFlexibleBox::resolveFlexibleLengths): Renamed to match
3184         spec text better.
3185         * rendering/RenderFlexibleBox.h: Added enum for flex sign.
3186
3187 2012-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
3188
3189         Web Inspector: Extract WebInspector.UIBreakpoint from WebInspector.Breakpoint.
3190         https://bugs.webkit.org/show_bug.cgi?id=81669
3191
3192         Reviewed by Pavel Feldman.
3193
3194         * inspector/front-end/BreakpointManager.js:
3195         (WebInspector.BreakpointManager.get for):
3196         (WebInspector.BreakpointManager):
3197         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
3198         (WebInspector.BreakpointManager.prototype.uiSourceCodeRemoved):
3199         (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
3200         (WebInspector.BreakpointManager.prototype.setBreakpoint):
3201         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
3202         (WebInspector.BreakpointManager.prototype._innerRemoveBreakpoint):
3203         (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
3204         (WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
3205         (WebInspector.BreakpointManager.prototype._uiBreakpoints.get this):
3206         (WebInspector.BreakpointManager.prototype._uiBreakpoints):
3207         (WebInspector.BreakpointManager.prototype.get _uiBreakpoint):
3208         (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
3209         (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
3210         (WebInspector.BreakpointManager.prototype._breakpoints):
3211         (WebInspector.BreakpointManager.prototype._breakpoint):
3212         (WebInspector.BreakpointManager.prototype._addBreakpointToModel):
3213         (WebInspector.BreakpointManager.prototype._removeBreakpointFromModel):
3214         (WebInspector.BreakpointManager.prototype._forEachBreakpoint):
3215         (WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
3216         (WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
3217         (WebInspector.BreakpointManager.prototype.debuggerReset):
3218         (WebInspector.Breakpoint.prototype.serialize):
3219         (WebInspector.Breakpoint.prototype.get uiBreakpoint):
3220         (WebInspector.Breakpoint.prototype.createUIBreakpoint):
3221         (WebInspector.Breakpoint.prototype.removeUIBreakpoint):
3222         (WebInspector.UIBreakpoint):
3223         * inspector/front-end/DebuggerPresentationModel.js:
3224         (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
3225         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
3226         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
3227         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
3228         * inspector/front-end/ScriptsPanel.js:
3229
3230 2012-03-21  Anders Carlsson  <andersca@apple.com>
3231
3232         TileCache needs to know if its containing page is in a window
3233         https://bugs.webkit.org/show_bug.cgi?id=81821
3234
3235         Reviewed by Andreas Kling.
3236
3237         This is in preparation for throwing away invisible tiles in background tabs to reduce memory usage.
3238
3239         * page/FrameView.cpp:
3240         (WebCore::FrameView::didMoveOnscreen):
3241         (WebCore::FrameView::willMoveOffscreen):
3242         * page/Page.cpp:
3243         (WebCore::Page::Page):
3244         (WebCore::Page::didMoveOnscreen):
3245         (WebCore::Page::willMoveOffscreen):
3246         * page/Page.h:
3247         (WebCore::Page::isOnscreen):
3248         (Page):
3249         * platform/graphics/TiledBacking.h:
3250         (TiledBacking):
3251         * platform/graphics/ca/mac/TileCache.h:
3252         (TileCache):
3253         * platform/graphics/ca/mac/TileCache.mm:
3254         (WebCore::TileCache::TileCache):
3255         (WebCore::TileCache::setIsInWindow):
3256         (WebCore):
3257         * rendering/RenderLayerBacking.cpp:
3258         (WebCore::RenderLayerBacking::RenderLayerBacking):
3259
3260 2012-03-21  Xingnan Wang  <xingnan.wang@intel.com>
3261
3262         Web audio layout test failed in debug with an ASSERT error in ReverbConvolverStage.cpp
3263         https://bugs.webkit.org/show_bug.cgi?id=81744
3264
3265         Reviewed by Chris Rogers.
3266
3267         * platform/audio/ReverbConvolverStage.cpp:
3268         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
3269
3270 2012-03-21  Xiaomei Ji  <xji@chromium.org>
3271
3272         [chromium] Font fallback in cr-win is wrong for string contains zero-width-space.
3273         https://bugs.webkit.org/show_bug.cgi?id=79961
3274
3275         Reviewed by Adam Barth.
3276
3277         Treat zero-width-space (\u200B) as true for treatAsZeroWidthSpaceInComplexScipt().
3278
3279         * platform/graphics/Font.h:
3280         (WebCore::Font::treatAsZeroWidthSpaceInComplexScript):
3281         * platform/graphics/mac/ComplexTextController.cpp:
3282         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
3283         * platform/graphics/win/UniscribeController.cpp:
3284         (WebCore::UniscribeController::shapeAndPlaceItem):
3285
3286 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
3287
3288         Build fix for !ENABLE(INSPECTOR) after r111005.
3289
3290         * inspector/ContentSearchUtils.h:
3291
3292 2012-03-21  Ulan Degenbaev  <ulan@chromium.org>
3293
3294         [V8] V8GCForContextDispose should indicate whether a context is disposed for the main frame or not
3295         https://bugs.webkit.org/show_bug.cgi?id=81200
3296
3297         Reviewed by Adam Barth.
3298
3299         Pass a hint to V8::IdleNotification that requests more aggressive GC
3300         when a main frame context is disposed and requests incremental GC otherwise.
3301
3302         * bindings/v8/V8DOMWindowShell.cpp:
3303         (WebCore::V8DOMWindowShell::disposeContextHandles):
3304         * bindings/v8/V8GCForContextDispose.cpp:
3305         (WebCore::V8GCForContextDispose::V8GCForContextDispose):
3306         (WebCore::V8GCForContextDispose::notifyContextDisposed):
3307         (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
3308         * bindings/v8/V8GCForContextDispose.h:
3309         (V8GCForContextDispose):
3310
3311 2012-03-21  Nat Duca  <nduca@chromium.org>
3312
3313         [chromium] CCThreadProxy must initialize frameBeginTime to monotonicallyIncreasingTime rather than zero
3314         https://bugs.webkit.org/show_bug.cgi?id=81790
3315
3316         Reviewed by James Robinson.
3317
3318         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3319         (WebCore::CCThreadProxy::scheduledActionBeginFrame):
3320
3321 2012-03-21  Xingnan Wang  <xingnan.wang@intel.com>
3322
3323         Add multichannel support in RealtimeAnalyser
3324         https://bugs.webkit.org/show_bug.cgi?id=81745
3325
3326         Reviewed by Chris Rogers.
3327
3328         * Modules/webaudio/RealtimeAnalyser.cpp:
3329         (WebCore::RealtimeAnalyser::writeInput):
3330         (WebCore):
3331
3332 2012-03-21  Eric Carlson  <eric.carlson@apple.com>
3333
3334         Removing HTMLTrackElement does not delete TextTrack
3335         https://bugs.webkit.org/show_bug.cgi?id=80873
3336
3337         Reviewed by Antti Koivisto.
3338
3339         No new tests, but media/track/track-language-preference.html has been updated
3340         to test this fix.
3341
3342         * html/HTMLMediaElement.cpp:
3343         (WebCore::HTMLMediaElement::didAddTrack): Renamed from trackWasAdded.
3344         (WebCore::HTMLMediaElement::willRemoveTrack): Renamed from trackWasRemoved because it is
3345         called before the track is removed, to allow the TextTrack to be removed.
3346         * html/HTMLMediaElement.h:
3347
3348         * html/HTMLTrackElement.cpp:
3349         (WebCore::HTMLTrackElement::insertedIntoTree): Renamed from insertedIntoDocument
3350         (WebCore::HTMLTrackElement::willRemove): Renamed from removedFromDocument.
3351         * html/HTMLTrackElement.h:
3352
3353         * html/track/LoadableTextTrack.cpp:
3354         (WebCore::LoadableTextTrack::trackElementIndex): Don't include tracks that are not in the
3355         document in the calcualtion.
3356
3357 2012-03-21  Zeno Albisser  <zeno@webkit.org>
3358
3359         [Qt][Mac] ranlib segfaults when creating symbol tables for libWebCore.a.
3360         https://bugs.webkit.org/show_bug.cgi?id=81750
3361
3362         Building WebCore on mac currently creates an archive that is bigger than
3363         4GB. But ranlib fails to create a symbol table for such a big archive,
3364         even on 64bit machines.
3365         Therefore we start using SVGAllInOne.cpp when building debug
3366         on mac. This reduces the size of the archive by about 300MB.
3367
3368         Reviewed by Tor Arne Vestbø.
3369
3370         * Target.pri:
3371
3372 2012-03-21  Tommy Widenflycht  <tommyw@google.com>
3373
3374         [chromium] MediaStream API (JSEP): Introducing WebSessionDescription and WebIceCandidate
3375         https://bugs.webkit.org/show_bug.cgi?id=81339
3376
3377         Reviewed by Adam Barth.
3378
3379         Not possible to test until the entire JSEP feature is commited.
3380
3381         * Modules/mediastream/IceCandidate.cpp:
3382         (WebCore::IceCandidate::toSdp):
3383         * Modules/mediastream/SessionDescription.cpp:
3384         (WebCore::SessionDescription::toSdp):
3385         * platform/mediastream/IceCandidateDescriptor.cpp:
3386         (WebCore::IceCandidateDescriptor::toSDP):
3387         * platform/mediastream/IceCandidateDescriptor.h:
3388         (IceCandidateDescriptor):
3389         * platform/mediastream/MediaStreamCenter.cpp:
3390         (WebCore::MediaStreamCenter::constructSDP):
3391         * platform/mediastream/MediaStreamCenter.h:
3392         (MediaStreamCenter):
3393         * platform/mediastream/SessionDescriptionDescriptor.cpp:
3394         (WebCore::SessionDescriptionDescriptor::SessionDescriptionDescriptor):
3395         (WebCore::SessionDescriptionDescriptor::toSDP):
3396         (WebCore::SessionDescriptionDescriptor::initialSDP):
3397         * platform/mediastream/SessionDescriptionDescriptor.h:
3398         (SessionDescriptionDescriptor):
3399
3400 2012-03-21  Yuta Kitamura  <yutak@chromium.org>
3401
3402         Use RFC version of WebSocket protocol by default
3403         https://bugs.webkit.org/show_bug.cgi?id=81718
3404
3405         Reviewed by Kent Tamura.
3406
3407         Flip the default value of Settings::m_useHixie76WebSocketProtocol so WebKit ports will use
3408         RFC version of WebSocket protocol by default.
3409
3410         All the existing ports already use the RFC protocol as of now, so this change will not make
3411         any impact (hopefully).
3412
3413         No new tests. No change in functionality.
3414
3415         * page/Settings.cpp:
3416         (WebCore::Settings::Settings):
3417
3418 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
3419
3420         Web Inspector: only show JS event listeners in Event Listeners tab of Elements panel
3421         https://bugs.webkit.org/show_bug.cgi?id=81798
3422
3423         Reviewed by Pavel Feldman.
3424
3425         * bindings/js/JSInjectedScriptHostCustom.cpp:
3426         (WebCore::getJSListenerFunctions):
3427         * bindings/js/ScriptEventListener.cpp:
3428         (WebCore::eventListenerHandlerBody):
3429         (WebCore::eventListenerHandlerLocation):
3430         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3431         (WebCore::getJSListenerFunctions):
3432         * inspector/InspectorDOMAgent.cpp:
3433         (WebCore::InspectorDOMAgent::getEventListeners):
3434
3435 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
3436
3437         EventListener::Type enum has unused member InspectorDOMAgentType
3438         https://bugs.webkit.org/show_bug.cgi?id=81794
3439
3440         Reviewed by Pavel Feldman.
3441
3442         * dom/EventListener.h:
3443
3444 2012-03-21  Tom Hudson  <tomhudson@google.com>
3445
3446         Incremental cleanup of BitmapImage: inlined virtual functions
3447         https://bugs.webkit.org/show_bug.cgi?id=81688
3448
3449         Reviewed by James Robinson.
3450
3451         No change in functionality, so no new tests.
3452
3453         Move virtual functions defined in headers into .cpp files.
3454
3455         * WebCore.gypi:
3456         * platform/graphics/BitmapImage.cpp:
3457         (WebCore::BitmapImage::isBitmapImage):
3458         (WebCore):
3459         (WebCore::BitmapImage::hasSingleSecurityOrigin):
3460         (WebCore::BitmapImage::nativeImageForCurrentFrame):
3461         (WebCore::BitmapImage::currentFrameHasAlpha):
3462         (WebCore::BitmapImage::notSolidColor):
3463         (WebCore::BitmapImage::decodedSize):
3464         (WebCore::BitmapImage::mayFillWithSolidColor):
3465         (WebCore::BitmapImage::solidColor):
3466         * platform/graphics/BitmapImage.h:
3467         (BitmapImage):
3468         * platform/graphics/skia/BitmapImageSingleFrameSkia.cpp: Added.
3469         (WebCore):
3470         (WebCore::BitmapImageSingleFrameSkia::isBitmapImage):
3471         (WebCore::BitmapImageSingleFrameSkia::currentFrameHasAlpha):
3472         (WebCore::BitmapImageSingleFrameSkia::size):
3473         (WebCore::BitmapImageSingleFrameSkia::destroyDecodedData):
3474         (WebCore::BitmapImageSingleFrameSkia::decodedSize):
3475         (WebCore::BitmapImageSingleFrameSkia::nativeImageForCurrentFrame):
3476         (WebCore::BitmapImageSingleFrameSkia::notSolidColor):
3477         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
3478         (BitmapImageSingleFrameSkia):
3479
3480 2012-03-21  Alexey Proskuryakov  <ap@apple.com>
3481
3482         Remove obsolete File attributes
3483         https://bugs.webkit.org/show_bug.cgi?id=79383
3484
3485         Reviewed by Hajime Morita.
3486
3487         * bindings/objc/PublicDOMInterfaces.h:
3488         * fileapi/File.h:
3489         * fileapi/File.idl:
3490         Removed fileName and fileSize, they have different names now.
3491
3492         * html/FileInputType.cpp:
3493         (WebCore::FileInputType::appendFormData):
3494         (WebCore::FileInputType::getTypeSpecificValue):
3495         (WebCore::FileInputType::defaultToolTip):
3496         Updated to use new function names.
3497
3498 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3499
3500         TiledBackingStore: Create the first round of tiles synchronously after setting the visible rect.
3501         https://bugs.webkit.org/show_bug.cgi?id=81762
3502
3503         Reviewed by Kenneth Rohde Christiansen.
3504
3505         The first round of tiles should cover completely the visible rect.
3506         Creating the tiles synchronously allows us to get the new tiles immediately
3507         and prevents an extra AC layers sync to be able to remove the old tiles.
3508
3509         At some point it might also make sense to remove the tile creation timer
3510         completely.
3511
3512         * platform/graphics/TiledBackingStore.cpp:
3513         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
3514
3515 2012-03-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3516
3517         TiledBackingStore: When checking if the visible area is covered, only convert to scaled coordinates once.
3518         https://bugs.webkit.org/show_bug.cgi?id=81519
3519
3520         Reviewed by Kenneth Rohde Christiansen.
3521
3522         Both visibleRect and coverageRatio call mapFromContents on the input rect,
3523         this woulc cause the coverageRatio to never reach 1.0 when the contents is
3524         scaled up.
3525
3526         * platform/graphics/TiledBackingStore.cpp:
3527         (WebCore::TiledBackingStore::visibleAreaIsCovered):
3528
3529 2012-03-21  Mao Yujie  <yujie.mao@intel.com>
3530
3531         MediaStream API: Need to support MediaStream constructor for JSC
3532         https://bugs.webkit.org/show_bug.cgi?id=78781
3533
3534         Reviewed by Adam Barth.
3535
3536         No new tests.
3537
3538         * Modules/mediastream/DOMWindowMediaStream.idl:
3539         * bindings/generic/RuntimeEnabledFeatures.h:
3540         (WebCore::RuntimeEnabledFeatures::webkitMediaStreamEnabled):
3541
3542 2012-03-21  Philip Rogers  <pdr@google.com>
3543
3544         Skip building resources if SVGTRef is not in a document
3545         https://bugs.webkit.org/show_bug.cgi?id=81473
3546
3547         Reviewed by Nikolas Zimmermann.
3548
3549         We can skip the building of pending resources in SVGTRef if we're not
3550         yet in a document. This mirrors the nearly identical logic in
3551         SVGUseElement::buildPendingResource() and
3552         SVGFEImageElement::buildPendingResource().
3553
3554         Test: http/tests/svg/tref-adoptNode-crash.html
3555
3556         * svg/SVGTRefElement.cpp:
3557         (WebCore::SVGTRefElement::buildPendingResource):
3558
3559 2012-03-21  Sami Kyostila  <skyostil@chromium.org>
3560
3561         [chromium] Use floating point scroll deltas for layers
3562         https://bugs.webkit.org/show_bug.cgi?id=81546
3563
3564         Reviewed by James Robinson.
3565
3566         Use floating point scroll deltas for layers instead of integral scroll
3567         deltas. This is because due to page scaling it may be necessary to
3568         scroll layers in sub-CSS-pixel steps to avoid visible jumps. When the
3569         floating point scroll offset is committed to the main thread, it is
3570         truncated to integer, but the fractional part is kept on the CC side to
3571         make sure fractional scroll offsets are accumulated correctly over
3572         multiple commits.
3573
3574         Test: CCLayerTreeHostTestFractionalScroll
3575
3576         * platform/graphics/FloatPoint.h:
3577         (WebCore::toSize):
3578         (WebCore):
3579         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3580         (WebCore::CCLayerImpl::scrollBy):
3581         (WebCore::CCLayerImpl::setScrollDelta):
3582         * platform/graphics/chromium/cc/CCLayerImpl.h:
3583         (WebCore::CCLayerImpl::scrollDelta):
3584         (CCLayerImpl):
3585         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3586         (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
3587         (WebCore::CCLayerTreeHostImpl::adjustScrollsForPageScaleChange):
3588         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
3589         (WebCore::CCLayerTreeHostImpl::animatePageScale):
3590
3591 2012-03-21  Li Yin  <li.yin@intel.com>
3592
3593         [WebSocket]The Sec-WebSocket-Accept MUST NOT appear more than once in an HTTP response
3594         https://bugs.webkit.org/show_bug.cgi?id=81655
3595
3596         Reviewed by Adam Barth.
3597
3598         Test: http/tests/websocket/tests/hybi/handshake-fail-by-more-accept-header.html
3599
3600         * Modules/websockets/WebSocketHandshake.cpp:
3601         (WebCore::WebSocketHandshake::readHTTPHeaders):
3602
3603 2012-03-21  Alexei Filippov  <alexeif@chromium.org>
3604
3605         Web Inspector: Speedup heap snapshot loading.
3606         https://bugs.webkit.org/show_bug.cgi?id=81788
3607
3608         Reviewed by Yury Semikhatsky.
3609
3610         * inspector/front-end/HeapSnapshot.js:
3611         (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
3612
3613 2012-03-21  Pavel Feldman  <pfeldman@chromium.org>
3614
3615         Web Inspector: get rid of isInEditMode, use isBeingEdited on particular element.
3616         https://bugs.webkit.org/show_bug.cgi?id=81766
3617
3618         Reviewed by Yury Semikhatsky.
3619
3620         We should check event target and its ancestors for being edited, not use some
3621         global property. This change also introduces Event.prototype.consume so that we
3622         were consistently consuming events.
3623
3624         * inspector/front-end/AdvancedSearchController.js:
3625         (WebInspector.SearchView.prototype._onKeyDown):
3626         * inspector/front-end/BreakpointsSidebarPane.js:
3627         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
3628         * inspector/front-end/CSSSelectorProfileView.js:
3629         * inspector/front-end/Checkbox.js:
3630         (WebInspector.Checkbox.prototype.addEventListener):
3631         * inspector/front-end/ConsoleView.js:
3632         (WebInspector.ConsoleView.prototype._enterKeyPressed):
3633         (WebInspector.ConsoleGroup.prototype._titleClicked):
3634         * inspector/front-end/ContextMenu.js:
3635         (WebInspector.ContextMenu.prototype.show):
3636         * inspector/front-end/DataGrid.js:
3637         (WebInspector.DataGrid.prototype._keyDown):
3638         * inspector/front-end/DatabaseQueryView.js:
3639         (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
3640         * inspector/front-end/DetailedHeapshotView.js:
3641         (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
3642         (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
3643         (WebInspector.DetailedHeapshotView.prototype._retainersHeaderDragging):
3644         (WebInspector.DetailedHeapshotView.prototype._endRetainersHeaderDragging):
3645         * inspector/front-end/Dialog.js:
3646         (WebInspector.Dialog.prototype._onKeyDown):
3647         * inspector/front-end/Drawer.js:
3648         (WebInspector.Drawer.prototype._startStatusBarDragging):
3649         (WebInspector.Drawer.prototype._statusBarDragging):
3650         (WebInspector.Drawer.prototype._endStatusBarDragging):
3651         * inspector/front-end/EventListenersSidebarPane.js:
3652         (WebInspector.EventListenersSidebarPane.get if):
3653         * inspector/front-end/HelpScreen.js:
3654         (WebInspector.HelpScreen.prototype._onKeyDown):
3655         * inspector/front-end/InspectorView.js:
3656         (WebInspector.InspectorView.prototype._keyDown):
3657         * inspector/front-end/MetricsSidebarPane.js:
3658         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
3659         * inspector/front-end/NetworkPanel.js:
3660         * inspector/front-end/Object.js:
3661         (WebInspector.Event.prototype.preventDefault):
3662         (WebInspector.Event.prototype.consume):
3663         * inspector/front-end/ObjectPropertiesSection.js:
3664         (WebInspector.ObjectPropertyTreeElement.prototype._promptKeyDown):
3665         * inspector/front-end/ProfileView.js:
3666         * inspector/front-end/SearchController.js:
3667         (WebInspector.SearchController.prototype._onKeyDown):
3668         * inspector/front-end/Section.js:
3669         (WebInspector.Section.prototype.handleClick):
3670         * inspector/front-end/Settings.js:
3671         (WebInspector.ExperimentsSettings):
3672         * inspector/front-end/SoftContextMenu.js:
3673         (.WebInspector.SoftContextMenu.prototype.show):
3674         (.WebInspector.SoftContextMenu.prototype._menuItemMouseDown):
3675         (.WebInspector.SoftContextMenu.prototype._menuKeyDown):
3676         (.WebInspector.SoftContextMenu.prototype._discardMenu):
3677         * inspector/front-end/Spectrum.js:
3678         (WebInspector.Spectrum.draggable.consume):
3679         (WebInspector.Spectrum.draggable.start):
3680         (WebInspector.Spectrum.draggable.stop):
3681         (WebInspector.Spectrum.draggable):
3682         (WebInspector.Spectrum.prototype._onKeyDown):
3683         * inspector/front-end/StylesSidebarPane.js:
3684         (WebInspector.StylesSidebarPane.muteEventListener):
3685         (WebInspector.StylesSidebarPane):
3686         (WebInspector.StylesSidebarPane.prototype.set _createNewRule):
3687         (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
3688         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
3689         (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
3690         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
3691         (WebInspector.StylePropertyTreeElement.prototype):
3692         * inspector/front-end/TextPrompt.js:
3693         (WebInspector.TextPrompt.prototype.onKeyDown):
3694         (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
3695         (WebInspector.TextPrompt.SuggestBox.prototype._onItemMouseDown):
3696         * inspector/front-end/TextViewer.js:
3697         (WebInspector.TextViewer.prototype._handleKeyDown):
3698         * inspector/front-end/Toolbar.js:
3699         (WebInspector.ToolbarDropdown.prototype._onKeyDown):
3700         * inspector/front-end/UIUtils.js:
3701         (WebInspector.isBeingEdited):
3702         (WebInspector.startEditing):
3703         * inspector/front-end/View.js:
3704         (WebInspector.View.prototype._doLoadCSS):
3705         * inspector/front-end/WatchExpressionsSidebarPane.js:
3706         (WebInspector.WatchExpressionsSidebarPane.prototype._addButtonClicked):
3707         (WebInspector.WatchExpressionsSidebarPane.prototype._refreshButtonClicked):
3708         * inspector/front-end/inspector.js:
3709         (WebInspector.documentClick.followLink):
3710         (WebInspector.documentClick):
3711         (WebInspector.documentKeyDown):
3712         (WebInspector.postDocumentKeyDown):
3713         (WebInspector.addMainEventListeners):
3714         * inspector/front-end/treeoutline.js:
3715         (TreeOutline.prototype._treeKeyPress):
3716         (TreeOutline.prototype._treeKeyDown):
3717         (TreeOutline.prototype._searchInputKeyDown):
3718         (TreeElement.treeElementToggled):
3719         (TreeElement.prototype.selectOnMouseDown):
3720         * inspector/front-end/utilities.js:
3721         (Event.prototype.consume):
3722
3723 2012-03-21  Yury Semikhatsky  <yurys@chromium.org>
3724
3725         Web Inspector: event listener section doesn't show all event listeners of the element ancestors
3726         https://bugs.webkit.org/show_bug.cgi?id=81782
3727
3728         Event listeners section now contains all event listeners for the selected
3729         element ancestors chain (in case option "All Nodes" is selected).
3730
3731         Reviewed by Pavel Feldman.
3732
3733         * inspector/InspectorDOMAgent.cpp:
3734         (WebCore::InspectorDOMAgent::getEventListenersForNode):
3735         * inspector/front-end/EventListenersSidebarPane.js:
3736         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
3737         (WebInspector.EventListenersSidebarPane.prototype.update):
3738         (WebInspector.EventListenersSidebarPane.prototype):
3739
3740 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
3741
3742         Web Inspector: HeapSnapshot: move all builders and calculation calls to HeapSnapshot._init function.
3743         https://bugs.webkit.org/show_bug.cgi?id=81784
3744
3745         Reviewed by Yury Semikhatsky.
3746
3747         * inspector/front-end/HeapSnapshot.js:
3748         (WebInspector.HeapSnapshot.prototype._init):
3749         (WebInspector.HeapSnapshot.prototype.dispose):
3750         (WebInspector.HeapSnapshot.prototype._retainersForNode):
3751         (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
3752         (WebInspector.HeapSnapshot.prototype._flagsOfNode):
3753         (WebInspector.HeapSnapshot.prototype.aggregates):
3754         (WebInspector.HeapSnapshot.prototype._buildRetainers):
3755         (WebInspector.HeapSnapshot.prototype.get nodeIndexes):
3756
3757 2012-03-21  Jessie Berlin  <jberlin@apple.com>
3758
3759         WTF headers should be in $(ConfigurationBuildDir)\include\private\wtf, not
3760         $(ConfigurationBuildDir)\include\private\JavaScriptCore\wtf.
3761         https://bugs.webkit.org/show_bug.cgi?id=81739
3762
3763         Reviewed by Dan Bernstein.
3764
3765         * WebCore.vcproj/WebCore.vcproj:
3766         Look for AtomicString.cpp, StringBuilder.cpp, StringImpl.cpp, and WTFString.cpp in the wtf
3767         subdirectory of the build output, not the JavaScriptCore/wtf subdirectory.
3768
3769 2012-03-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
3770
3771         [BlackBerry] Credential save and autofill implemetation
3772         https://bugs.webkit.org/show_bug.cgi?id=80401
3773
3774         Reviewed by Rob Buis.
3775
3776         Added interface function authenticationChallenge() and
3777         notifyShouldSaveCredential() into PageClientBlackBerry.
3778         As this class is our platform specific interface,
3779         by doing this we don't need to add an interface function
3780         in class FrameLoaderClient which is a platform
3781         independent interface.
3782
3783         No new tests.
3784
3785         * platform/blackberry/PageClientBlackBerry.h:
3786         (WebCore):
3787         * platform/network/blackberry/NetworkJob.cpp:
3788         (WebCore::NetworkJob::sendRequestWithCredentials):
3789
3790 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
3791
3792         Web Inspector: HeapProfiler: DOM node id can overflow Int32.
3793         https://bugs.webkit.org/show_bug.cgi?id=81776
3794
3795         Reviewed by Pavel Feldman.
3796
3797         * inspector/front-end/HeapSnapshot.js:
3798         (WebInspector.Uint32Array):
3799         (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
3800         (WebInspector.HeapSnapshot.prototype._buildReverseIndex.var):
3801         (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
3802         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
3803
3804 2012-03-21  Tim Dresser  <tdresser@chromium.org>
3805
3806         [chromium] Increase size of Combo Box Options for touch and high DPI devices
3807         https://bugs.webkit.org/show_bug.cgi?id=80027
3808
3809         Reviewed by Darin Fisher.
3810
3811         Scale Combo box popups by defaultDeviceScaleFactor, and add padding to
3812         <option> elements when touch is enabled.
3813
3814         Manually tested with --default-device-scale-factor=1,2 and unset.
3815         Each of these were tested with RuntimeEnabledFeatures::touchEnabled
3816         set to true and false.
3817
3818         * platform/chromium/PopupListBox.cpp:
3819         (WebCore::PopupListBox::paint):
3820         (WebCore::PopupListBox::paintRow):
3821         (WebCore::PopupListBox::getRowHeight):
3822         * platform/chromium/PopupListBox.h:
3823         (PopupContainerSettings):
3824         * platform/chromium/PopupMenuChromium.cpp:
3825         (WebCore):
3826         (WebCore::PopupMenuChromium::show):
3827         * platform/chromium/PopupMenuChromium.h:
3828         (WebCore::PopupMenuChromium::optionPaddingForTouch):
3829         (WebCore::PopupMenuChromium::setOptionPaddingForTouch):
3830         (PopupMenuChromium):
3831         * rendering/RenderMenuList.cpp:
3832         (WebCore::RenderMenuList::showPopup):
3833
3834 2012-03-21  Takashi Toyoshima  <toyoshim@chromium.org>
3835
3836         [Chromium] [WebSocket] provide WebFrameClient with a chance of
3837         accessing to opening WebSocketStreamHandle.
3838         https://bugs.webkit.org/show_bug.cgi?id=78459
3839
3840         Reviewed by Kent Tamura and Darin Fisher.
3841
3842         Add willOpenSocketStream client function to WebFrameClient with an
3843         argument representing an opening SocketStreamHandle.
3844         These mechanisms provide embedders with a chance to bind arbitrary
3845         data to a WebSocketStreamHandle from WebFrameClient to which the
3846         WebSocket object having the WebSocketStreamHandle belongs.
3847
3848         No new tests because this change just provide mechanisms to embedders.
3849
3850         * Modules/websockets/WebSocketChannel.cpp: Implement willOpenSocketStream to call a client function in WebFrameClient.
3851         (WebCore::WebSocketChannel::willOpenSocketStream):
3852         (WebCore):
3853         * Modules/websockets/WebSocketChannel.h: Add willOpenSocketStream declaration.
3854         (WebSocketChannel):
3855         * loader/FrameLoaderClient.h: Add dispatchWillOpenSocketStream declaration.
3856         (WebCore):
3857         (FrameLoaderClient):
3858         (WebCore::FrameLoaderClient::dispatchWillOpenSocketStream):
3859         * platform/network/SocketStreamHandleClient.h: Add willOpenSocketStream declaration.
3860         (WebCore::SocketStreamHandleClient::willOpenSocketStream):
3861
3862 2012-03-21  Vineet Chaudhary  <rgf748@motorola.com>
3863
3864         https://bugs.webkit.org/show_bug.cgi?id=81761
3865         Fix Gobject binding for sequence<T> for function return type.
3866
3867         Reviewed by Kentaro Hara.
3868
3869         No new tests.
3870
3871         * bindings/scripts/CodeGeneratorGObject.pm:
3872         (SkipFunction): Skip function with sequence<T> return type.
3873         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3874         (webkit_dom_test_obj_method_with_sequence_arg):
3875         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3876
3877 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
3878
3879         Unreviewed build fix for r111529.
3880
3881         * inspector/InjectedScriptHost.h:
3882         (WebCore):
3883
3884 2012-03-21  Sheriff Bot  <webkit.review.bot@gmail.com>
3885
3886         Unreviewed, rolling out r111497, r111506, r111508, and
3887         r111513.
3888         http://trac.webkit.org/changeset/111497
3889         http://trac.webkit.org/changeset/111506
3890         http://trac.webkit.org/changeset/111508
3891         http://trac.webkit.org/changeset/111513
3892         https://bugs.webkit.org/show_bug.cgi?id=81774
3893
3894         It broke 2 tests on all platform (Requested by Ossy on
3895         #webkit).
3896
3897         * css/CSSStyleSelector.cpp:
3898         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3899         * css/SelectorChecker.cpp:
3900         (WebCore::SelectorChecker::checkOneSelector):
3901         * html/HTMLKeygenElement.cpp:
3902         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
3903         * html/HTMLOptionElement.cpp:
3904         (WebCore::HTMLOptionElement::HTMLOptionElement):
3905         (WebCore::HTMLOptionElement::create):
3906         (WebCore::HTMLOptionElement::attach):
3907         (WebCore::HTMLOptionElement::detach):
3908         (WebCore::HTMLOptionElement::formControlType):
3909         (WebCore):
3910         (WebCore::HTMLOptionElement::parseAttribute):
3911         (WebCore::HTMLOptionElement::childrenChanged):
3912         (WebCore::HTMLOptionElement::insertedIntoTree):
3913         * html/HTMLOptionElement.h:
3914         (HTMLOptionElement):
3915         (WebCore::HTMLOptionElement::ownElementDisabled):
3916         * html/HTMLTagNames.in:
3917
3918 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
3919
3920         Web Inspector: expose getEventListeners() to console command line API
3921         https://bugs.webkit.org/show_bug.cgi?id=81658
3922
3923         Reviewed by Yury Semikhatsky.
3924
3925         Test: inspector/console/command-line-api-getEventListeners.html
3926
3927         * bindings/js/JSInjectedScriptHostCustom.cpp:
3928         (WebCore::JSInjectedScriptHost::functionDetails):
3929         (WebCore):
3930         (WebCore::getJSListenerFunctions):
3931         (WebCore::JSInjectedScriptHost::getEventListeners):
3932         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3933         (WebCore::getJSListenerFunctions):
3934         (WebCore):
3935         (WebCore::V8InjectedScriptHost::getEventListenersCallback):
3936         * inspector/InjectedScriptHost.cpp:
3937         (WebCore::InjectedScriptHost::InjectedScriptHost):
3938         (WebCore::InjectedScriptHost::disconnect):
3939         (WebCore::InjectedScriptHost::getEventListenersImpl):
3940         (WebCore):
3941         * inspector/InjectedScriptHost.h:
3942         (WebCore):
3943         (WebCore::InjectedScriptHost::init):
3944         (InjectedScriptHost):
3945         * inspector/InjectedScriptHost.idl:
3946         * inspector/InjectedScriptSource.js:
3947         (.):
3948         * inspector/InspectorController.cpp:
3949         (WebCore::InspectorController::InspectorController):
3950         * inspector/InspectorDOMAgent.cpp:
3951         (WebCore::InspectorDOMAgent::getEventListenersForNode):
3952         (WebCore::InspectorDOMAgent::getEventListeners):
3953         (WebCore):
3954         * inspector/InspectorDOMAgent.h:
3955         (InspectorDOMAgent):
3956         * inspector/WorkerInspectorController.cpp:
3957         (WebCore::WorkerInspectorController::WorkerInspectorController):
3958
3959 2012-03-21  Kentaro Hara  <haraken@chromium.org>
3960
3961         Unreviewed, rebaselined run-bindings-tests results.
3962
3963         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
3964         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
3965         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
3966         * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
3967
3968 2012-03-21  Ian Vollick  <vollick@chromium.org>
3969
3970         [chromium] timing functions are getting incorrectly applied for accelerated css transitions
3971         https://bugs.webkit.org/show_bug.cgi?id=81692
3972
3973         Reviewed by Adrienne Walker.
3974
3975         Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction
3976
3977         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
3978
3979 2012-03-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3980
3981         [Qt] Cookie Jar blocks on fsync in SQLITE
3982         https://bugs.webkit.org/show_bug.cgi?id=81755
3983
3984         Reviewed by Simon Hausmann.
3985
3986         Set PRAGMA synchronous to OFF, which tells SQLITE to never fsync.
3987
3988         * platform/qt/CookieJarQt.cpp:
3989         (WebCore::SharedCookieJarQt::ensureDatabaseTable):
3990
3991 2012-03-21  Ian Vollick  <vollick@chromium.org>
3992
3993         [chromium] Animation events should only be used for synchronizing animation start times
3994         https://bugs.webkit.org/show_bug.cgi?id=81484
3995
3996         Reviewed by Adrienne Walker.
3997
3998         Tested in CCLayerTreeHostTestSynchronizeAnimationStartTimes
3999
4000         Eliminated animation finished events. Animations will finish naturally on the
4001         main thread and the final values will be set.
4002
4003         Animation started events are now also used to synchronize the main thread
4004         animations' start times with their impl thread equivalents, preventing skew.
4005         Until main thread animations receive their synchronized start times, they will
4006         apply their initial values (i.e., they will be paused at time zero). This
4007         guarantees that we will not jump to the animation's final value on the main
4008         thread while we wait for the synchronized start time.
4009
4010         * WebCore.gypi:
4011         * platform/graphics/chromium/LayerChromium.cpp:
4012         (WebCore::LayerChromium::notifyAnimationStarted):
4013         * platform/graphics/chromium/LayerChromium.h:
4014         (WebCore):
4015         (LayerChromium):
4016         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
4017         (WebCore::CCActiveAnimation::CCActiveAnimation):
4018         * platform/graphics/chromium/cc/CCActiveAnimation.h:
4019         (CCActiveAnimation):
4020         (WebCore::CCActiveAnimation::needsSynchronizedStartTime):
4021         (WebCore::CCActiveAnimation::setNeedsSynchronizedStartTime):
4022         * platform/graphics/chromium/cc/CCAnimationEvents.cpp: Removed.
4023         * platform/graphics/chromium/cc/CCAnimationEvents.h:
4024         (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
4025         (CCAnimationStartedEvent):
4026         (WebCore):
4027         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
4028         (WebCore::CCLayerAnimationController::animate):
4029         (WebCore::CCLayerAnimationController::notifyAnimationStarted):
4030         (WebCore):
4031         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
4032         (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
4033         (WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
4034         (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
4035         (WebCore::CCLayerAnimationController::purgeFinishedAnimations):
4036         (WebCore::CCLayerAnimationController::tickAnimations):
4037         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
4038         (CCLayerAnimationController):
4039         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
4040         (WebCore::CCLayerTreeHost::updateAnimations):
4041         (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):
4042         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
4043         (CCLayerTreeHost):
4044
4045 2012-03-21  Zeno Albisser  <zeno@webkit.org>
4046
4047         [Qt][WK2][Mac] MiniBrowser asserts at HashTable.h:480
4048         https://bugs.webkit.org/show_bug.cgi?id=81113
4049
4050         The GLContext is created by QWindow/QSurface using
4051         QOpenGLContext which is implemented using NSOpenGL functions
4052         on mac. Therefore we should use QOpenGLContext as well when
4053         querying for the current context. AGL is not supposed
4054         to be paired with NSOpenGL.
4055         Altering the typedef for GLContext is fine, since
4056         the GLContext type is only used as a key in a map.
4057
4058         Reviewed by Kenneth Rohde Christiansen.
4059
4060         * platform/graphics/texmap/TextureMapperGL.cpp:
4061         (SharedGLData):
4062         (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
4063
4064 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
4065
4066         Web Inspector: HeapSnapshot: make _bfs twice as fast as the old version.
4067         https://bugs.webkit.org/show_bug.cgi?id=81756
4068