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