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