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