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