[chromium] Remove surface damage client from occlusion tracker
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-16  Dana Jansens  <danakj@chromium.org>
2
3         [chromium] Remove surface damage client from occlusion tracker
4         https://bugs.webkit.org/show_bug.cgi?id=81242
5
6         Reviewed by Adrienne Walker.
7
8         Code was not used yet, so no new tests. Removing tests instead!
9
10         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
11         (WebCore::::CCOcclusionTrackerBase):
12         (WebCore::::layerScissorRectInTargetSurface):
13         (WebCore):
14         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
15         (WebCore):
16         (CCOcclusionTrackerBase):
17
18 2012-03-16  Tommy Widenflycht  <tommyw@google.com>
19
20         MediaStream API (JSEP): Introducing PeerConnection00Handler
21         https://bugs.webkit.org/show_bug.cgi?id=81333
22
23         Reviewed by Adam Barth.
24
25         In preparation of the last WebCore patch that will introduce PeerConnection00 here's its platform representation.
26
27         Not possible to test until the entire JSEP feature is commited.
28
29         * GNUmakefile.list.am:
30         * WebCore.gypi:
31         * platform/mediastream/PeerConnection00Handler.cpp: Added.
32         (WebCore):
33         (WebCore::PeerConnection00Handler::create):
34         (WebCore::PeerConnection00Handler::PeerConnection00Handler):
35         (WebCore::PeerConnection00Handler::~PeerConnection00Handler):
36         (WebCore::PeerConnection00Handler::createOffer):
37         (WebCore::PeerConnection00Handler::createAnswer):
38         (WebCore::PeerConnection00Handler::setLocalDescription):
39         (WebCore::PeerConnection00Handler::setRemoteDescription):
40         (WebCore::PeerConnection00Handler::localDescription):
41         (WebCore::PeerConnection00Handler::remoteDescription):
42         (WebCore::PeerConnection00Handler::startIce):
43         (WebCore::PeerConnection00Handler::processIceMessage):
44         (WebCore::PeerConnection00Handler::addStream):
45         (WebCore::PeerConnection00Handler::removeStream):
46         (WebCore::PeerConnection00Handler::stop):
47         * platform/mediastream/PeerConnection00Handler.h: Added.
48         (WebCore):
49         (PeerConnection00Handler):
50         * platform/mediastream/PeerConnection00HandlerClient.h: Added.
51         (WebCore):
52         (PeerConnection00HandlerClient):
53         (WebCore::PeerConnection00HandlerClient::~PeerConnection00HandlerClient):
54
55 2012-03-16  Pavel Podivilov  <podivilov@chromium.org>
56
57         Web Inspector: fix exception when hovering over bound function in heap profiler.
58         https://bugs.webkit.org/show_bug.cgi?id=81362
59
60         Reviewed by Yury Semikhatsky.
61
62         * inspector/front-end/DebuggerPresentationModel.js:
63         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
64
65 2012-03-16  Yoshifumi Inoue  <yosin@chromium.org>
66
67         [Forms] The "progress" element should not be a form-associated element.
68         https://bugs.webkit.org/show_bug.cgi?id=80240
69
70         Reviewed by Kent Tamura.
71
72         This patch changes base class of HTMLProgressElement to LabelableElement from
73         HTMLFormControlElement for saving memory space and iteration time of
74         extra "progress" elements in HTMLFormElement::m_formAssociatedElements
75         and matching the HTML5 specification for ease of maintenance.
76
77         Changes of TextIterator is lead by usage of isFormControlElement. This
78         changes will be replaced with more meaningful predicate as part of
79         https://bugs.webkit.org/show_bug.cgi?id=80381
80
81         No new tests. Update existing tests to cover this change.
82
83         * css/CSSStyleSelector.cpp:
84         (WebCore::CSSStyleSelector::canShareStyleWithElement): Moved the "progress" element support code from canShareStyleWithControl.
85         (WebCore::CSSStyleSelector::canShareStyleWithControl):
86         * css/SelectorChecker.cpp:
87         (WebCore::SelectorChecker::checkOneSelector): Remove isFormControlElement check for PseudoIndeterminate.
88         * editing/TextIterator.cpp:
89         (WebCore::TextIterator::advance): Check HTMLProgressElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
90         * html/HTMLProgressElement.cpp: Remove unused include file.
91         (WebCore::HTMLProgressElement::HTMLProgressElement): Changed base class to LabelableElement.
92         (WebCore::HTMLProgressElement::create): Remove form paraprogress.
93         (WebCore::HTMLProgressElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement.
94         (WebCore::HTMLProgressElement::attach): Replace HTMLFormControlElement to LabelableElement.
95         * html/HTMLProgressElement.h:
96         (HTMLProgressElement):
97         * html/HTMLProgressElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
98         * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
99
100 2012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>
101
102         Web Inspector: Heap Snapshot: Unreviewed single line fix for isWindow getter.
103
104         * inspector/front-end/HeapSnapshot.js:
105         (WebInspector.HeapSnapshotNode.prototype.get isWindow):
106
107 2012-03-16  Tommy Widenflycht  <tommyw@google.com>
108
109         MediaStream API (JSEP): Fixing a few nits
110         https://bugs.webkit.org/show_bug.cgi?id=81322
111
112         Reviewed by Adam Barth.
113
114         Addressing the nits from bugs 81206 and 81207.
115
116         Nothing to test.
117
118         * Modules/mediastream/SessionDescription.idl:
119         * platform/mediastream/IceOptions.h:
120         (WebCore::IceOptions::IceOptions):
121         * platform/mediastream/SessionDescriptionDescriptor.h:
122         (SessionDescriptionDescriptor):
123
124 2012-03-16  Peter Rybin  <peter.rybin@gmail.com>
125
126         Web Inspector: TypeBuilder: Introduce OptOutput class for optional output parameters
127         https://bugs.webkit.org/show_bug.cgi?id=80789
128
129         Reviewed by Yury Semikhatsky.
130
131         OptOutput class is added for optional return parameters.
132
133         Strict mode added to Generator that makes all parameter types strict
134         and drop pre-set default values for return parameters.
135
136         Debugger and Page domain is switched to strict mode.
137
138         * inspector/CodeGeneratorInspector.py:
139         (CommandReturnPassModel.OptOutput):
140         (CommandReturnPassModel.OptOutput.__init__):
141         (CommandReturnPassModel.OptOutput.get_return_var_type):
142         (CommandReturnPassModel.OptOutput.get_output_argument_prefix):
143         (CommandReturnPassModel.OptOutput.get_output_to_raw_expression):
144         (CommandReturnPassModel.OptOutput.get_output_parameter_type):
145         (CommandReturnPassModel):
146         (CommandReturnPassModel.OptOutput.get_set_return_condition):
147         (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
148         (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
149         (OptOutput):
150         (Generator.process_event):
151         (Generator.process_command):
152         * inspector/ContentSearchUtils.cpp:
153         (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
154         (WebCore::ContentSearchUtils::searchInTextByLines):
155         * inspector/ContentSearchUtils.h:
156         (ContentSearchUtils):
157         * inspector/InjectedScript.cpp:
158         (WebCore::InjectedScript::evaluate):
159         (WebCore::InjectedScript::callFunctionOn):
160         (WebCore::InjectedScript::evaluateOnCallFrame):
161         (WebCore::InjectedScript::makeEvalCall):
162         * inspector/InjectedScript.h:
163         (InjectedScript):
164         * inspector/InspectorDOMDebuggerAgent.cpp:
165         (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
166         (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
167         (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
168         (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
169         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
170         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
171         * inspector/InspectorDebuggerAgent.cpp:
172         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
173         (WebCore::InspectorDebuggerAgent::setBreakpoint):
174         (WebCore::InspectorDebuggerAgent::searchInContent):
175         (WebCore::InspectorDebuggerAgent::setScriptSource):
176         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
177         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
178         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
179         (WebCore::InspectorDebuggerAgent::didPause):
180         (WebCore::InspectorDebuggerAgent::breakProgram):
181         (WebCore::InspectorDebuggerAgent::clearBreakDetails):
182         * inspector/InspectorDebuggerAgent.h:
183         (InspectorDebuggerAgent):
184         * inspector/InspectorPageAgent.cpp:
185         (WebCore::buildObjectForCookie):
186         (WebCore::buildArrayForCookies):
187         (WebCore::InspectorPageAgent::getCookies):
188         (WebCore::InspectorPageAgent::getResourceTree):
189         (WebCore::InspectorPageAgent::searchInResource):
190         (WebCore::InspectorPageAgent::searchInResources):
191         (WebCore::InspectorPageAgent::buildObjectForFrame):
192         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
193         * inspector/InspectorPageAgent.h:
194         * inspector/InspectorRuntimeAgent.cpp:
195         (WebCore::InspectorRuntimeAgent::evaluate):
196         (WebCore::InspectorRuntimeAgent::callFunctionOn):
197
198 2012-03-16  Kentaro Hara  <haraken@chromium.org>
199
200         The IDL parser should support sequence<T> type
201         https://bugs.webkit.org/show_bug.cgi?id=81345
202
203         Reviewed by Adam Barth.
204
205         This patch makes the IDL parser support sequence<T> type.
206         This patch just makes sequence<T> parseable, and the generated code
207         for sequence<T> is wrong. This issue will be soon fixed in bug 80696.
208         This is a preparing patch for bug 80696.
209
210         Test: bindings/scripts/test/TestObj.idl
211
212         * bindings/scripts/test/TestObj.idl: Added tests for sequence<T>.
213
214         * bindings/scripts/IDLStructure.pm: Updated the regular expressions to support sequence<T>.
215
216         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
217         (WebDOMTestObj::sequenceAttr):
218         (WebDOMTestObj::setSequenceAttr):
219         (WebDOMTestObj::methodWithSequenceArg):
220         (WebDOMTestObj::methodReturningSequence):
221         * bindings/scripts/test/CPP/WebDOMTestObj.h:
222         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
223         (webkit_dom_test_obj_method_with_sequence_arg):
224         (webkit_dom_test_obj_method_returning_sequence):
225         (webkit_dom_test_obj_get_sequence_attr):
226         (webkit_dom_test_obj_set_sequence_attr):
227         (webkit_dom_test_obj_get_property):
228         (webkit_dom_test_obj_class_init):
229         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
230         * bindings/scripts/test/JS/JSTestObj.cpp:
231         (WebCore):
232         (WebCore::jsTestObjSequenceAttr):
233         (WebCore::setJSTestObjSequenceAttr):
234         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
235         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
236         * bindings/scripts/test/JS/JSTestObj.h:
237         (WebCore):
238         * bindings/scripts/test/ObjC/DOMTestObj.h:
239         * bindings/scripts/test/ObjC/DOMTestObj.mm:
240         (-[DOMTestObj sequenceAttr]):
241         (-[DOMTestObj setSequenceAttr:]):
242         (-[DOMTestObj methodWithSequenceArg:]):
243         (-[DOMTestObj methodReturningSequence:]):
244         * bindings/scripts/test/V8/V8TestObj.cpp:
245         (WebCore::TestObjInternal::sequenceAttrAttrGetter):
246         (TestObjInternal):
247         (WebCore::TestObjInternal::sequenceAttrAttrSetter):
248         (WebCore::TestObjInternal::methodWithSequenceArgCallback):
249         (WebCore::TestObjInternal::methodReturningSequenceCallback):
250         (WebCore):
251         (WebCore::ConfigureV8TestObjTemplate):
252
253 2012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>
254
255         Web Inspector: HeapSnapshot: merge two long operations into one.
256         https://bugs.webkit.org/show_bug.cgi?id=81347
257
258         Reviewed by Yury Semikhatsky.
259
260         * inspector/front-end/HeapSnapshot.js:
261         (WebInspector.HeapSnapshot.prototype.aggregates):
262         (WebInspector.HeapSnapshot.prototype._buildAggregates):
263         (WebInspector.HeapSnapshot.prototype._buildAggregates.forDominatedNodes):
264
265 2012-03-16  Gavin Peters  <gavinp@chromium.org>
266
267         Add asserts and improve logging in PageCache.
268         https://bugs.webkit.org/show_bug.cgi?id=81179
269
270         Reviewed by Brady Eidson.
271
272         The early exits from logCanCacheFrameDecision had the potential to skew histogram data.  Moving
273         the DocumentLoader check to the top, but eliminating the early exits is a compromise that keeps
274         the logged data mostly accurate.
275
276         * history/PageCache.cpp:
277         (WebCore::logCanCacheFrameDecision):
278
279 2012-03-16  Yoshifumi Inoue  <yosin@chromium.org>
280
281         [Forms] label.form attribute doesn't work
282         https://bugs.webkit.org/show_bug.cgi?id=80499
283
284         Reviewed by Kent Tamura.
285
286         This patch changes implementation of label.form of IDL attribute to
287         compute it to the form element specified by the "form" HTML attribute
288         or form ancestor when the "form" HTML attribute isn't in HTML.
289
290         This patch introduces new function FormAssociatedElement::findAssociatedForm
291         for sharing code among FormAssociateElement::insertedIntoTree, resetFormOwner
292         and HTMLLabelElement::form.
293
294         No new tests. Update existing tests.
295
296         * html/FormAssociatedElement.cpp:
297         (WebCore::FormAssociatedElement::findAssociatedForm): Added.
298         (WebCore):
299         (WebCore::FormAssociatedElement::insertedIntoTree):
300         (WebCore::FormAssociatedElement::resetFormOwner):
301         * html/FormAssociatedElement.h:
302         (FormAssociatedElement):
303         * html/HTMLLabelElement.cpp: Remove unused include files
304         (WebCore::HTMLLabelElement::form): Added.
305
306 2012-03-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
307
308         Use the normalize method of FloatPoint instead of normalizing manually
309         https://bugs.webkit.org/show_bug.cgi?id=81343
310
311         Reviewed by Simon Hausmann.
312
313         * platform/graphics/TiledBackingStore.cpp:
314         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
315         (WebCore::TiledBackingStore::computeCoverAndKeepRect):
316
317 2012-03-16  Kentaro Hara  <haraken@chromium.org>
318
319         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl
320         https://bugs.webkit.org/show_bug.cgi?id=79636
321
322         Reviewed by Adam Barth.
323
324         For WebKit modularization, this patch moves Notifications-related APIs
325         from DOMWindow.idl to DOMWindowNotifications.idl.
326
327         Tests: fast/notifications/* (No change in test results)
328
329         * CMakeLists.txt: Added DOMWindowNotifications.{h,cpp,idl}.
330         * DerivedSources.make: Ditto.
331         * DerivedSources.pri: Ditto.
332         * GNUmakefile.list.am: Ditto.
333         * Target.pri: Ditto.
334         * WebCore.gypi: Ditto.
335         * WebCore.vcproj/WebCore.vcproj: Ditto.
336
337         * WebCore.exp.in: Added mangled signatures of webkitNotifications().
338
339         * notifications/DOMWindowNotifications.cpp: Added.
340         (WebCore):
341         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
342         (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
343         (WebCore::DOMWindowNotifications::from):
344         (WebCore::DOMWindowNotifications::webkitNotifications):
345         (WebCore::DOMWindowNotifications::ensureWebkitNotifications):
346         (WebCore::DOMWindowNotifications::disconnectFrame):
347         * notifications/DOMWindowNotifications.h: Added.
348         (WebCore):
349         (DOMWindowNotifications):
350         * notifications/DOMWindowNotifications.idl: Added.
351
352         * page/DOMWindow.cpp: Removed ENABLE(NOTIFICATIONS).
353         (WebCore::DOMWindow::~DOMWindow):
354         (WebCore::DOMWindow::willDetachPage):
355         (WebCore::DOMWindow::clear):
356         * page/DOMWindow.h: Ditto.
357         (WebCore):
358         (DOMWindow):
359         * page/DOMWindow.idl: Ditto.
360         * page/Frame.cpp: Ditto.
361         (WebCore::Frame::willDetachPage):
362         (WebCore::Frame::transferChildFrameToNewDocument):
363
364 2012-03-16  Kentaro Hara  <haraken@chromium.org>
365
366         [Performance] Optimize innerHTML and outerHTML
367         https://bugs.webkit.org/show_bug.cgi?id=81214
368
369         Reviewed by Adam Barth.
370
371         This patch makes innerHTML and outerHTML 2.4 times faster.
372
373         Performance test: https://bugs.webkit.org/attachment.cgi?id=132034
374         The performance test measures body.innerHTML for 3000 lines of HTML,
375         which is copied from the HTML spec.
376
377         - Chromium/Mac without the patch
378         div.innerHTML: 1658.6 ms
379         div.outerHTML: 4859.6 ms
380         body.innerHTML: 640.2 ms
381         body.outerHTML: 641.8 ms
382
383         - Chromium/Mac with the patch
384         div.innerHTML:  751.0 ms
385         div.outerHTML: 2096.0 ms
386         body.innerHTML: 271.2 ms
387         body.outerHTML: 271.2 ms
388
389         - Chromium/Linux without the patch
390         div.innerHTML:  950.4 ms
391         div.outerHTML: 2257.8 ms
392         body.innerHTML: 452.8 ms
393         body.outerHTML: 457.6 ms
394
395         - Chromium/Linux with the patch
396         div.innerHTML:  582.4 ms
397         div.outerHTML: 1283.0 ms
398         body.innerHTML: 233.0 ms
399         body.outerHTML: 233.4 ms
400
401         - AppleWebKit/Mac without the patch
402         div.innerHTML:  900.6 ms
403         div.outerHTML: 2245.2 ms
404         body.innerHTML: 462.6 ms
405         body.outerHTML: 468.0 ms
406
407         - AppleWebKit/Mac with the patch
408         div.innerHTML:  529.8  ms
409         div.outerHTML: 1090.2 ms
410         body.innerHTML: 239.2 ms
411         body.outerHTML: 239.2 ms
412
413         This patch applies the following two optimizations:
414
415         (a) Remove redundant copies between Vector<String> and StringBuilders
416         in MarkupAccumulator::serializeNodes(), MarkupAccumulator::appendStartTag(),
417         and MarkupAccumulator::appendEndTag().
418
419             (Previous behavior)
420             - Create a StringBuilder for each tag.
421             - Append a created string in each StringBuilder to Vector<String>,
422               parsing the DOM tree.
423             - After the parsing, allocate a StringBuilder whose size is the sum
424               of all Strings in Vector<String>.
425             - Append all Strings in Vector<String> to the StringBuilder.
426             (New behavior)
427             - Allocate a StringBuilder with a default buffer size.
428             - Append created strings to the StringBuilder, incrementally parsing
429               the DOM tree.
430
431         (b) Optimize stringBuilder.append().
432             (b-1) Replace stringBuilder.append("A") with stringBuilder.append('A').
433                   stringBuilder.append("A") requires to cast the characters to LChar*,
434                   and then call strlen("A"). stringBuilder.append('A') is faster.
435             (b-2) Replace stringBuilder.append("AB") with stringBuilder.append('A')
436                   and stringBuilder.append('B'). In my experiment, appending characters
437                   one by one is faster than appending the characters at a breath if the
438                   number of characters is less than 3.
439             (b-3) Hard-code a string length; i.e. replace stringBuilder.append("ABCDE")
440                   with stringBuilder.append("ABCDE", 5). While the former requires to call
441                   strlen("ABCDE"), the latter does not.
442
443         (a) improves performance by 170% ~ 200%. (b) improves performance by 30 ~ 40%.
444
445         Tests: fast/dom/Range/range-extract-contents.html
446                fast/dom/serialize-nodes.xhtml
447                fast/dom/XMLSerializer.html
448                and all other tests that use innerHTML or outerHTML.
449                No change in the test results.
450
451         * editing/MarkupAccumulator.cpp:
452         (WebCore::MarkupAccumulator::serializeNodes):
453         (WebCore::MarkupAccumulator::appendString):
454         (WebCore::MarkupAccumulator::appendStartTag):
455         (WebCore::MarkupAccumulator::appendEndTag):
456         (WebCore::MarkupAccumulator::concatenateMarkup):
457         (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
458         (WebCore::MarkupAccumulator::appendComment):
459         (WebCore::MarkupAccumulator::appendDocumentType):
460         (WebCore::MarkupAccumulator::appendProcessingInstruction):
461         (WebCore::MarkupAccumulator::appendOpenTag):
462         (WebCore::MarkupAccumulator::appendAttribute):
463         (WebCore::MarkupAccumulator::appendCDATASection):
464         * editing/MarkupAccumulator.h:
465         (MarkupAccumulator):
466
467 2012-03-16  Kihong Kwon  <kihong.kwon@samsung.com>
468
469         Support for Battery Status API
470         https://bugs.webkit.org/show_bug.cgi?id=62698
471
472         Battery Status API is implemented under the Navigator class.
473         Battery Status API has four types of events, and all events are operated based on a callback mechanism.
474          : onchargingchange, onchargingtimechange, ondischargingtimechange, onlevelchange.
475         The battery status can be accessed using BatteryManager(navigator.webkitBattery), and battery status is controlled by BatteryController which manages instances of BatteryManager.
476         When battery status event is raised, BatteryController calls all registered BatteryManager's event dispatcher.
477         http://www.w3.org/TR/battery-status/
478
479         Reviewed by Adam Barth.
480
481         Tests: batterystatus/add-listener-from-callback.html
482                batterystatus/basic-all-types-of-events.html
483                batterystatus/basic-operation.html
484                batterystatus/event-after-navigation.html
485                batterystatus/multiple-frames.html
486                batterystatus/updates.html
487                batterystatus/window-property.html
488
489         * CMakeLists.txt:
490         * Modules/battery/BatteryClient.h: Added.
491         (WebCore):
492         (BatteryClient):
493         (WebCore::BatteryClient::~BatteryClient):
494         * Modules/battery/BatteryController.cpp: Added.
495         (WebCore):
496         (WebCore::BatteryController::BatteryController):
497         (WebCore::BatteryController::~BatteryController):
498         (WebCore::BatteryController::create):
499         (WebCore::BatteryController::addListener):
500         (WebCore::BatteryController::removeListener):
501         (WebCore::BatteryController::didChangeBatteryStatus):
502         (WebCore::BatteryController::supplementName):
503         (WebCore::BatteryController::isActive):
504         (WebCore::provideBatteryTo):
505         * Modules/battery/BatteryController.h: Added.
506         (WebCore):
507         (BatteryController):
508         (WebCore::BatteryController::client):
509         (WebCore::BatteryController::from):
510         * Modules/battery/BatteryManager.cpp: Added.
511         (WebCore):
512         (WebCore::BatteryManager::create):
513         (WebCore::BatteryManager::~BatteryManager):
514         (WebCore::BatteryManager::BatteryManager):
515         (WebCore::BatteryManager::charging):
516         (WebCore::BatteryManager::chargingTime):
517         (WebCore::BatteryManager::dischargingTime):
518         (WebCore::BatteryManager::level):
519         (WebCore::BatteryManager::didChangeBatteryStatus):
520         (WebCore::BatteryManager::suspend):
521         (WebCore::BatteryManager::resume):
522         (WebCore::BatteryManager::stop):
523         * Modules/battery/BatteryManager.h: Added.
524         (WebCore):
525         (BatteryManager):
526         (WebCore::BatteryManager::interfaceName):
527         (WebCore::BatteryManager::scriptExecutionContext):
528         (WebCore::BatteryManager::batteryControllerDestroyed):
529         (WebCore::BatteryManager::canSuspend):
530         (WebCore::BatteryManager::eventTargetData):
531         (WebCore::BatteryManager::ensureEventTargetData):
532         (WebCore::BatteryManager::refEventTarget):
533         (WebCore::BatteryManager::derefEventTarget):
534         * Modules/battery/BatteryManager.idl: Added.
535         * Modules/battery/BatteryStatus.cpp: Added.
536         (WebCore):
537         (WebCore::BatteryStatus::create):
538         (WebCore::BatteryStatus::BatteryStatus):
539         * Modules/battery/BatteryStatus.h: Added.
540         (WebCore):
541         (BatteryStatus):
542         (WebCore::BatteryStatus::charging):
543         (WebCore::BatteryStatus::chargingTime):
544         (WebCore::BatteryStatus::dischargingTime):
545         (WebCore::BatteryStatus::level):
546         * Modules/battery/NavigatorBattery.cpp: Added.
547         (WebCore):
548         (WebCore::NavigatorBattery::NavigatorBattery):
549         (WebCore::NavigatorBattery::~NavigatorBattery):
550         (WebCore::NavigatorBattery::webkitBattery):
551         (WebCore::NavigatorBattery::from):
552         (WebCore::NavigatorBattery::batteryManager):
553         * Modules/battery/NavigatorBattery.h: Added.
554         (WebCore):
555         (NavigatorBattery):
556         * Modules/battery/NavigatorBattery.idl: Added.
557         * dom/EventNames.h:
558         (WebCore):
559         * dom/EventTargetFactory.in:
560         * testing/Internals.cpp:
561         (WebCore::Internals::setBatteryStatus):
562         (WebCore):
563         * testing/Internals.h:
564         (Internals):
565         * testing/Internals.idl:
566
567 2012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>
568
569         Web Inspector: HeapSnapshot: speedup buildReverseIndex.
570         https://bugs.webkit.org/show_bug.cgi?id=81327
571
572         Reviewed by Yury Semikhatsky.
573
574         * inspector/front-end/HeapSnapshot.js:
575         (WebInspector.HeapSnapshot.prototype.get maxNodeId):
576         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
577         (WebInspector.HeapSnapshot.prototype._findNearestNodeIndex):
578         (WebInspector.HeapSnapshot.prototype._getRetainerIndex):
579         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
580         (WebInspector.HeapSnapshot.prototype):
581
582 2012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>
583
584         Unreviewed, rolling out r110976.
585         http://trac.webkit.org/changeset/110976
586         https://bugs.webkit.org/show_bug.cgi?id=81330
587
588         webkit_unit_tests crashes. (Requested by morrita on #webkit).
589
590         * loader/cache/CachedCSSStyleSheet.cpp:
591         (WebCore::CachedCSSStyleSheet::error):
592         (WebCore):
593         * loader/cache/CachedCSSStyleSheet.h:
594         (CachedCSSStyleSheet):
595         * loader/cache/CachedFont.cpp:
596         (WebCore):
597         (WebCore::CachedFont::error):
598         * loader/cache/CachedFont.h:
599         (CachedFont):
600         * loader/cache/CachedImage.cpp:
601         (WebCore::CachedImage::error):
602         * loader/cache/CachedResource.h:
603         (CachedResource):
604         * loader/cache/CachedScript.cpp:
605         (WebCore::CachedScript::error):
606         (WebCore):
607         * loader/cache/CachedScript.h:
608         (CachedScript):
609         * loader/cache/CachedXSLStyleSheet.cpp:
610         (WebCore::CachedXSLStyleSheet::error):
611         (WebCore):
612         * loader/cache/CachedXSLStyleSheet.h:
613         (CachedXSLStyleSheet):
614
615 2012-03-16  Luke Macpherson   <macpherson@chromium.org>
616
617         Implement cast between CSSPrimitiveValue and LineClampValue.
618         https://bugs.webkit.org/show_bug.cgi?id=76806
619
620         Reviewed by Andreas Kling.
621
622         Covered by many existing LayoutTests.
623
624         This simplifies code in CSSStyleSelector and future mapping to CSSStyleApplyProperty.
625
626         * css/CSSPrimitiveValueMappings.h:
627         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
628         (WebCore::CSSPrimitiveValue::operator LineClampValue):
629         * css/CSSStyleSelector.cpp:
630         (WebCore::CSSStyleSelector::applyProperty):
631
632 2012-03-16  Nat Duca  <nduca@chromium.org>
633
634         [chromium] Bump textureUpdatesPerFrame to 32 to favor updating the screen over jank prevention
635         https://bugs.webkit.org/show_bug.cgi?id=81298
636
637         Reviewed by James Robinson.
638
639         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
640         (WTF):
641
642 2012-03-16  Levi Weintraub  <leviw@chromium.org>
643
644         Update usage of LayoutUnits in RenderBlock*
645         https://bugs.webkit.org/show_bug.cgi?id=80437
646
647         Reviewed by Julien Chaffraix.
648
649         Updating LayoutUnit usage in RenderBlock and RenderBlockLineLayout. This better readies trunk for
650         the transition to subpixel layout.
651
652         See https://trac.webkit.org/wiki/LayoutUnit for more details.
653
654         No new tests. No changed behavior.
655
656         * rendering/InlineTextBox.cpp:
657         (WebCore::InlineTextBox::paint): Adding the paint offset rounding previously in RenderBlock::paint.
658         * rendering/LayoutTypes.h:
659         (WebCore::floorToInt): Will floor a LayoutUnit to an integer once we switch to
660         FractionalLayoutUnits.
661         (WebCore::boundedMultiply): Method that will return the multiplied result of two LayoutUnits
662         or the max/min LayoutUnit if the result overflows. Only does a regular multiply while
663         LayoutUnits are integers instead of FractionalLayoutUnits.
664         (WebCore):
665         * rendering/RenderBlock.cpp:
666         (WebCore::RenderBlock::paintContents): Rounding the paintOffset here didn't work for all
667         inline blocks. This rounding is actually only needed for InlineTextBoxes, so the logic has
668         been moved there.
669         (WebCore::RenderBlock::newLine): Use a LayoutUnit for the y position.
670         (WebCore::RenderBlock::isPointInOverflowControl): Points for hit testing need to be rounded.
671         (WebCore::RenderBlock::layoutColumns): Using boundedMultiply for a calculation prone to overflow.
672         (WebCore::updatePreferredWidth): Reverting back to using ceilf. ceiledLayoutUnit was to be ultimately
673         converted to just a straight LayoutUnit constructor to preserve precision. This precision doesn't work
674         for us here as we still paint Boxes/Blocks on pixel boundaries, so we need to expand to a pixel size
675         that encloses the contained text.
676         (WebCore::RenderBlock::setPageLogicalOffset): LogicalOffset should be a LayoutUnit.
677         (WebCore::RenderBlock::marginValuesForChild): Margins should have subpixel resolution.
678         (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject): Intervals for floating objects
679         need to use pixel snapped values to give the proper results.
680         * rendering/RenderBlock.h:
681         (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Only moved.
682         (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine): While we can round the left offset,
683         columns add an extra offset at paint that can't currently be planned for at line-layout time. To
684         avoid laying out lines that run off the end of columns, we floor the right offset. The resulting
685         lines will be up to 1 pixel shorter than they potentially could be.
686         (RenderBlock):
687         (WebCore::RenderBlock::FloatingObject::pixelSnappedX): Using corresponding pixelSnappedX value from
688         LayoutRects.
689         (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX): Ditto.
690         (WebCore::RenderBlock::FloatingObject::pixelSnappedY): Ditto.
691         (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY): Ditto.
692         (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth): Ditto.
693         (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight): Ditto.
694         * rendering/RenderBlockLineLayout.cpp:
695         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): LogicalHeight is a LayoutUnit. Also
696         flooring textIndentOffset to an integer to match old behavior.
697         (WebCore::LineWidth::fitBelowFloats): Using LayoutUnits for float logical top and bottoms.
698         (WebCore::LineLayoutState::endLineLogicalTop): Changing to a LayoutUnit.
699         (WebCore::LineLayoutState::setEndLineLogicalTop): Ditto.
700         (LineLayoutState): Ditto.
701         (WebCore::RenderBlock::linkToEndLineIfNeeded): Calculating overflow with LayoutUnits.
702         (WebCore::RenderBlock::layoutInlineChildren): LowestAllowedPosition should be subpixel.
703         (WebCore::RenderBlock::checkLinesForTextOverflow): Reverting ellipsis width calculation to integers
704         as this value can be seen as representing pixels on screen.
705
706 2012-03-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
707
708         Follow up to: window.innerWidth/Height should not include page scale
709         https://bugs.webkit.org/show_bug.cgi?id=76555
710
711         Reviewed by Simon Hausmann.
712
713         Introduce mapping methods for converting between CSS and layout units.
714
715         * page/DOMWindow.cpp:
716         (WebCore::DOMWindow::innerHeight):
717         (WebCore::DOMWindow::innerWidth):
718         (WebCore::DOMWindow::scrollX):
719         (WebCore::DOMWindow::scrollY):
720         (WebCore::DOMWindow::scrollTo):
721         * page/FrameView.h:
722         (FrameView):
723         (WebCore::FrameView::mapFromLayoutToCSSUnits):
724         (WebCore):
725         (WebCore::FrameView::mapFromCSSToLayoutUnits):
726
727 2012-03-16  Ian Vollick  <vollick@chromium.org>
728
729         [chromium] Threaded opacity animation jump to opacity of 0
730         https://bugs.webkit.org/show_bug.cgi?id=80744
731
732         Reviewed by James Robinson.
733
734         Tested in CCLayerTreeHostTestDoNotSkipLayersWithAnimatedOpacity
735
736         * platform/graphics/chromium/LayerChromium.cpp:
737         (WebCore::LayerChromium::LayerChromium):
738         (WebCore::LayerChromium::opacityIsAnimating):
739         (WebCore):
740         (WebCore::LayerChromium::transformIsAnimating):
741         * platform/graphics/chromium/LayerChromium.h:
742         (LayerChromium):
743         (WebCore::LayerChromium::drawOpacityIsAnimating):
744         (WebCore::LayerChromium::setDrawOpacityIsAnimating):
745         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
746         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
747         * platform/graphics/chromium/RenderSurfaceChromium.h:
748         (WebCore::RenderSurfaceChromium::drawOpacityIsAnimating):
749         (WebCore::RenderSurfaceChromium::setDrawOpacityIsAnimating):
750         (RenderSurfaceChromium):
751         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
752         (WebCore::CCLayerAnimationController::isAnimatingProperty):
753         (WebCore):
754         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
755         (CCLayerAnimationController):
756         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
757         (WebCore::CCLayerAnimationControllerImpl::isAnimatingProperty):
758         (WebCore):
759         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
760         (CCLayerAnimationControllerImpl):
761         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
762         (WebCore::CCLayerImpl::CCLayerImpl):
763         (WebCore::CCLayerImpl::opacityIsAnimating):
764         (WebCore):
765         (WebCore::CCLayerImpl::transformIsAnimating):
766         * platform/graphics/chromium/cc/CCLayerImpl.h:
767         (CCLayerImpl):
768         (WebCore::CCLayerImpl::drawOpacityIsAnimating):
769         (WebCore::CCLayerImpl::setDrawOpacityIsAnimating):
770         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
771         (WebCore::CCLayerTreeHost::paintLayerContents):
772         (WebCore::CCLayerTreeHost::updateCompositorResources):
773         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
774         (WebCore::layerShouldBeSkipped):
775         (WebCore::subtreeShouldBeSkipped):
776         (WebCore):
777         (WebCore::LayerChromium):
778         (WebCore::calculateDrawTransformsAndVisibilityInternal):
779         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
780         (WebCore::CCRenderSurface::CCRenderSurface):
781         * platform/graphics/chromium/cc/CCRenderSurface.h:
782         (WebCore::CCRenderSurface::drawOpacityIsAnimating):
783         (WebCore::CCRenderSurface::setDrawOpacityIsAnimating):
784         (CCRenderSurface):
785
786 2012-03-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
787
788         [TexMap] Reuse textures following the same rules as they do internally.
789         https://bugs.webkit.org/show_bug.cgi?id=80843
790
791         Reviewed by Noam Rosenthal.
792
793         BitmapTextures were recently changed to be the same size as their contents.
794         This would obsolete the logic in acquireTextureFromPool which would
795         assume that a BitmapTexture has good chances of being reused if its
796         size is bigger or equal to the new size.
797
798         This asks the texture instead if it can be reused which now simply
799         check for an exact size match.
800
801         * platform/graphics/texmap/TextureMapper.cpp:
802         (WebCore::TextureMapper::acquireTextureFromPool):
803         * platform/graphics/texmap/TextureMapper.h:
804         (WebCore::BitmapTexture::canReuseWith):
805         (WebCore::BitmapTexture::reset):
806         (WebCore::BitmapTexture::didReset):
807         * platform/graphics/texmap/TextureMapperGL.cpp:
808         (WebCore::BitmapTextureGL::canReuseWith):
809         (WebCore):
810         * platform/graphics/texmap/TextureMapperGL.h:
811         (BitmapTextureGL):
812
813 2012-03-16  Robert Kroeger  <rjkroege@chromium.org>
814
815         Connect up fling event delivery to gesture curve animation framework
816         https://bugs.webkit.org/show_bug.cgi?id=80858
817
818         Reviewed by Adam Barth.
819
820         * platform/ScrollAnimatorNone.cpp:
821         (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
822
823 2012-03-16  Nate Chapin  <japhet@chromium.org>
824
825         Remove duplicate error() impls in CachedResource subclasses
826         https://bugs.webkit.org/show_bug.cgi?id=81161
827
828         Reviewed by Alexey Proskuryakov.
829
830         No new tests, refactor only.
831
832         * loader/cache/CachedCSSStyleSheet.cpp:
833         * loader/cache/CachedCSSStyleSheet.h:
834         * loader/cache/CachedFont.cpp:
835         * loader/cache/CachedFont.h:
836         * loader/cache/CachedImage.cpp:
837         * loader/cache/CachedResource.h: Make checkNotify()
838              virtual, so the right checkNotify() gets called in error().
839         * loader/cache/CachedScript.cpp:
840         * loader/cache/CachedScript.h:
841         * loader/cache/CachedXSLStyleSheet.cpp:
842         * loader/cache/CachedXSLStyleSheet.h:
843
844 2012-03-16  Dana Jansens  <danakj@chromium.org>
845
846         [chromium] Changes to overdraw metrics to allow upload tracking
847         https://bugs.webkit.org/show_bug.cgi?id=81222
848
849         Reviewed by Adrienne Walker.
850
851         Stick CCOverdrawMetrics into CCOcclusionTracker, so that it is available
852         everywhere that culling/drawing/painting is going on. Then we can stop
853         plumbing a metrics object through CCQuadCuller.
854
855         Rename the CCOverdrawMetrics "painting" stuff to "uploading" as this will
856         measure texture uploads rather than pixels painted in main memory.
857
858         Covered by existing tests.
859
860         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
861         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
862         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
863         (WebCore::::CCOcclusionTrackerBase):
864         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
865         (CCOcclusionTrackerBase):
866         (WebCore::CCOcclusionTrackerBase::overdrawMetrics):
867         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
868         (WebCore::CCOverdrawMetrics::didCull):
869         (WebCore):
870         (WebCore::CCOverdrawMetrics::didDraw):
871         (WebCore::CCOverdrawMetrics::recordMetrics):
872         (WebCore::CCOverdrawMetrics::recordMetricsInternal):
873         * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
874         (WebCore):
875         (WebCore::CCOverdrawMetrics::create):
876         (CCOverdrawMetrics):
877         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
878         (WebCore::CCQuadCuller::CCQuadCuller):
879         (WebCore::CCQuadCuller::append):
880         * platform/graphics/chromium/cc/CCQuadCuller.h:
881         (CCQuadCuller):
882         * platform/graphics/chromium/cc/CCRenderPass.cpp:
883         (WebCore::CCRenderPass::appendQuadsForLayer):
884         * platform/graphics/chromium/cc/CCRenderPass.h:
885         (WebCore):
886         (CCRenderPass):
887
888 2012-03-16  Greg Billock  <gbillock@google.com>
889
890         Add TransferList IDL modifier, with support in V8 code gen.
891         https://bugs.webkit.org/show_bug.cgi?id=81127
892
893         Reviewed by Adam Barth.
894
895         * bindings/scripts/CodeGeneratorV8.pm:
896         (GenerateFunctionCallback):
897         (GetIndexOf):
898         (GenerateParametersCheck):
899         (GenerateConstructorCallback):
900         (GenerateNamedConstructorCallback):
901         (GenerateFunctionCallString):
902         * bindings/scripts/IDLAttributes.txt:
903         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
904         (WebDOMTestSerializedScriptValueInterface::acceptTransferList):
905         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
906         (WebDOMTestSerializedScriptValueInterface):
907         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
908         (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
909         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
910         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
911         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
912         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
913         (WebCore):
914         (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertySlot):
915         (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertyDescriptor):
916         (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
917         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
918         (JSTestSerializedScriptValueInterfacePrototype):
919         (WebCore):
920         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
921         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
922         (-[DOMTestSerializedScriptValueInterface acceptTransferList:transferList:]):
923         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
924         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
925         (WebCore::TestSerializedScriptValueInterfaceInternal::acceptTransferListCallback):
926         (TestSerializedScriptValueInterfaceInternal):
927         (WebCore):
928         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
929         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
930
931 2012-03-16  Dana Jansens  <danakj@chromium.org>
932
933         [chromium] Quads that become fully opaque after culling should not use blending
934         https://bugs.webkit.org/show_bug.cgi?id=81235
935
936         Reviewed by Adrienne Walker.
937
938         Unit test: CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers
939
940         * platform/graphics/chromium/cc/CCDrawQuad.h:
941         (WebCore::CCDrawQuad::needsBlending):
942
943 2012-03-16  Xiaomei Ji  <xji@chromium.org>
944
945         Using ICU break iterator to simplify visual word movement implementation.
946         https://bugs.webkit.org/show_bug.cgi?id=78856
947
948         Reviewed by Ryosuke Niwa.
949
950         This patch relies on ICU word break iterator and cursor visual movement by character to get the word break
951         position in visual order. It reduces the complexity of old implementation.
952
953         Test: editing/selection/move-by-word-visually-wrong-left-right.html
954
955         * editing/FrameSelection.cpp: Exclude WinCE from visual word movement since isWordTextBreak is not implemented.
956         (WebCore::FrameSelection::modifyMovingRight):
957         (WebCore::FrameSelection::modifyMovingLeft):
958         * editing/visible_units.cpp:
959         (WebCore):
960         (WebCore::previousLeafWithSameEditability): Just moving to the top without functionality change.
961         (WebCore::enclosingNodeWithNonInlineRenderer): ditto.
962         (WebCore::nextLeafWithSameEditability): ditto.
963         (WebCore::previousRootInlineBox): return previous RootInlineBox which is in different renderer.
964         (WebCore::nextRootInlineBox): return next RootInlineBox which is in different renderer.
965         (WebCore::boxIndexInVector):
966         (WebCore::previousBoxInLine): returns logically previous box in one line.
967         (WebCore::logicallyPreviousBox): returns logically previous box.
968         (WebCore::nextBoxInLine): returns logically next box in one line.
969         (WebCore::logicallyNextBox): returns logically next box.
970         (WebCore::wordBreakIteratorForMinOffsetBoundary): create word break iterator for position that is a box's min offset.
971         (WebCore::wordBreakIteratorForMaxOffsetBoundary): create word break iterator for position that is a box's max offset.
972         (WebCore::isLogicalStartOfWord): return whether a position is logically start of word.
973         (WebCore::islogicalEndOfWord): return whether a position is logically end of word.
974         (WebCore::visualWordPosition): returns the visual left or right word position.
975         (WebCore::leftWordPosition):
976         (WebCore::rightWordPosition):
977         * platform/text/TextBreakIterator.h: Add isWordTextBreak().
978         (WebCore):
979         * platform/text/TextBreakIteratorICU.cpp:
980         (WebCore::isWordTextBreak):
981         (WebCore):
982         * platform/text/gtk/TextBreakIteratorGtk.cpp:
983         (WebCore::isWordTextBreak):
984         (WebCore):
985         * platform/text/qt/TextBreakIteratorQt.cpp:
986         (WebCore::isWordTextBreak):
987         (WebCore):
988         * platform/text/wince/TextBreakIteratorWinCE.cpp:
989         (WebCore::isWordTextBreak):
990         (WebCore):
991
992 2012-03-16  Dana Jansens  <danakj@chromium.org>
993
994         [chromium] Don't create a quad for video layers without a frame (avoid use of uninitialized m_format)
995         https://bugs.webkit.org/show_bug.cgi?id=81250
996
997         Reviewed by James Robinson.
998
999         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1000         (WebCore::CCVideoLayerImpl::appendQuads):
1001
1002 2012-03-16  Hajime Morrita  <morrita@chromium.org>
1003
1004         Unreviewed attempt to fix Chromium windows build.
1005
1006         * Modules/speech/SpeechRecognition.h:
1007         (SpeechRecognition):
1008
1009 2012-03-16  Mark Pilgrim  <pilgrim@chromium.org>
1010
1011         Move DOMWindowFileSystem to Modules/filesystem/
1012         https://bugs.webkit.org/show_bug.cgi?id=81030
1013
1014         Reviewed by Adam Barth.
1015
1016         No new tests, all existing tests pass.
1017
1018         * CMakeLists.txt:
1019         * DerivedSources.make:
1020         * DerivedSources.pri:
1021         * GNUmakefile.am:
1022         * GNUmakefile.list.am:
1023         * Modules/filesystem/DOMWindowFileSystem.cpp: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.cpp.
1024         * Modules/filesystem/DOMWindowFileSystem.h: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.h.
1025         * Modules/filesystem/DOMWindowFileSystem.idl: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.idl.
1026         * Target.pri:
1027         * WebCore.gyp/WebCore.gyp:
1028         * WebCore.gypi:
1029         * WebCore.vcproj/WebCore.vcproj:
1030         * WebCore.vcproj/WebCoreCommon.vsprops:
1031         * WebCore.vcproj/copyForwardingHeaders.cmd:
1032         * fileapi/DOMWindowFileSystem.cpp: Removed.
1033         * fileapi/DOMWindowFileSystem.h: Removed.
1034         * fileapi/DOMWindowFileSystem.idl: Removed.
1035
1036 2012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1037
1038         Unreviewed, rolling out r110951.
1039         http://trac.webkit.org/changeset/110951
1040         https://bugs.webkit.org/show_bug.cgi?id=81316
1041
1042         Does not build on apple-mac (Requested by abarth on #webkit).
1043
1044         * platform/audio/DynamicsCompressor.h:
1045         (DynamicsCompressor):
1046         * webaudio/DynamicsCompressorNode.cpp:
1047         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
1048         (WebCore::DynamicsCompressorNode::process):
1049         * webaudio/DynamicsCompressorNode.h:
1050         (DynamicsCompressorNode):
1051         * webaudio/DynamicsCompressorNode.idl:
1052
1053 2012-03-16  Seo Sanghyeon  <sh4.seo@samsung.com>
1054
1055         Cleanup empty attribute list in IDLs
1056         https://bugs.webkit.org/show_bug.cgi?id=81228
1057
1058         Reviewed by Adam Barth.
1059
1060         No tests. No change in behavior.
1061
1062         * css/WebKitCSSRegionRule.idl:
1063
1064 2012-03-16  Pratik Solanki  <psolanki@apple.com>
1065
1066         onorientationchange event should have JSWindowEventListener attribute
1067         https://bugs.webkit.org/show_bug.cgi?id=79513
1068
1069         Reviewed by Kentaro Hara.
1070
1071         * html/HTMLFrameSetElement.idl:
1072
1073 2012-03-15  Gao Chun  <chun.gao@intel.com>
1074
1075         Expose attack, release as DynamicsCompressorNode's attributes.
1076         https://bugs.webkit.org/show_bug.cgi?id=81221
1077
1078         Reviewed by Chris Rogers.
1079
1080         Test: webaudio/dynamicscompressor-basic.html
1081
1082         * platform/audio/DynamicsCompressor.h:
1083         (DynamicsCompressor):
1084         * webaudio/DynamicsCompressorNode.cpp:
1085         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
1086         (WebCore::DynamicsCompressorNode::process):
1087         * webaudio/DynamicsCompressorNode.h:
1088         (WebCore::DynamicsCompressorNode::attack):
1089         (WebCore::DynamicsCompressorNode::release):
1090         (DynamicsCompressorNode):
1091         * webaudio/DynamicsCompressorNode.idl:
1092
1093 2012-03-15  Hans Wennborg  <hans@chromium.org>
1094
1095         Speech JavaScript API: SpeechRecognition, Controller and Client
1096         https://bugs.webkit.org/show_bug.cgi?id=81096
1097
1098         Reviewed by Adam Barth.
1099
1100         Add implementation stub for SpeechRecognition. Add the
1101         SpeechRecognitionController class and SpeechRecognitionClient
1102         interface.
1103
1104         Test: fast/speech/scripted/basics.html
1105
1106         * Modules/speech/DOMWindowSpeech.idl:
1107         * Modules/speech/SpeechRecognition.cpp: Added.
1108         (WebCore):
1109         (WebCore::SpeechRecognition::create):
1110         (WebCore::SpeechRecognition::start):
1111         (WebCore::SpeechRecognition::stopFunction):
1112         (WebCore::SpeechRecognition::abort):
1113         (WebCore::SpeechRecognition::audioStartCallback):
1114         (WebCore::SpeechRecognition::soundStartCallback):
1115         (WebCore::SpeechRecognition::speechStartCallback):
1116         (WebCore::SpeechRecognition::speechEndCallback):
1117         (WebCore::SpeechRecognition::audioEndCallback):
1118         (WebCore::SpeechRecognition::resultCallback):
1119         (WebCore::SpeechRecognition::noMatchCallback):
1120         (WebCore::SpeechRecognition::resultDeletedCallback):
1121         (WebCore::SpeechRecognition::errorCallback):
1122         (WebCore::SpeechRecognition::startCallback):
1123         (WebCore::SpeechRecognition::endCallback):
1124         (WebCore::SpeechRecognition::interfaceName):
1125         (WebCore::SpeechRecognition::scriptExecutionContext):
1126         (WebCore::SpeechRecognition::SpeechRecognition):
1127         (WebCore::SpeechRecognition::~SpeechRecognition):
1128         * Modules/speech/SpeechRecognition.h: Added.
1129         (WebCore):
1130         (SpeechRecognition):
1131         (WebCore::SpeechRecognition::grammars):
1132         (WebCore::SpeechRecognition::setGrammars):
1133         (WebCore::SpeechRecognition::lang):
1134         (WebCore::SpeechRecognition::setLang):
1135         (WebCore::SpeechRecognition::continuous):
1136         (WebCore::SpeechRecognition::setContinuous):
1137         * Modules/speech/SpeechRecognition.idl:
1138         * Modules/speech/SpeechRecognitionClient.h:
1139         (WebCore):
1140         (SpeechRecognitionClient):
1141         (WebCore::SpeechRecognitionClient::~SpeechRecognitionClient):
1142         * Modules/speech/SpeechRecognitionController.cpp:
1143         (WebCore):
1144         (WebCore::SpeechRecognitionController::supplementName):
1145         (WebCore::SpeechRecognitionController::SpeechRecognitionController):
1146         (WebCore::SpeechRecognitionController::~SpeechRecognitionController):
1147         (WebCore::SpeechRecognitionController::create):
1148         (WebCore::provideSpeechRecognitionTo):
1149         * Modules/speech/SpeechRecognitionController.h: Added.
1150         (WebCore):
1151         (SpeechRecognitionController):
1152         (WebCore::SpeechRecognitionController::start):
1153         (WebCore::SpeechRecognitionController::stop):
1154         (WebCore::SpeechRecognitionController::abort):
1155         (WebCore::SpeechRecognitionController::visibilityHidden):
1156         (WebCore::SpeechRecognitionController::unregisterSpeechRecognition):
1157         (WebCore::SpeechRecognitionController::from):
1158         * WebCore.gypi:
1159         * dom/EventTargetFactory.in:
1160
1161 2012-03-15  Michal Ciepielski  <m.ciepielski@samsung.com>
1162
1163         [EFL] Sets alpha channel for new buffers.
1164         https://bugs.webkit.org/show_bug.cgi?id=77101
1165
1166         Reviewed by Hajime Morita.
1167
1168         No new tests.
1169
1170         By default EFL creates buffers without alpha channel.
1171         This causes improper rendering of HTML controls (i.e. radio buttons, checkboxes).
1172         This commits sets alpha channel for all newly created buffers by EFL.
1173
1174         * platform/efl/RenderThemeEfl.cpp:
1175         (WebCore::RenderThemeEfl::cacheThemePartNew):
1176
1177 2012-03-15  Sheriff Bot  <webkit.review.bot@gmail.com>
1178
1179         Unreviewed, rolling out r110941.
1180         http://trac.webkit.org/changeset/110941
1181         https://bugs.webkit.org/show_bug.cgi?id=81307
1182
1183         the revert looks innocent. (Requested by morrita on #webkit).
1184
1185         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1186         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1187         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1188         (Canvas2DLayerChromium):
1189         * platform/graphics/chromium/ContentLayerChromium.cpp:
1190         (WebCore::ContentLayerChromium::paintContentsIfDirty):
1191         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
1192         * platform/graphics/chromium/ContentLayerChromium.h:
1193         (WebCore):
1194         (ContentLayerChromium):
1195         * platform/graphics/chromium/ImageLayerChromium.cpp:
1196         (WebCore::ImageLayerChromium::paintContentsIfDirty):
1197         * platform/graphics/chromium/ImageLayerChromium.h:
1198         (WebCore):
1199         (ImageLayerChromium):
1200         * platform/graphics/chromium/LayerChromium.h:
1201         (WebCore::LayerChromium::paintContentsIfDirty):
1202         (WebCore::LayerChromium::idlePaintContentsIfDirty):
1203         * platform/graphics/chromium/TiledLayerChromium.cpp:
1204         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1205         (WebCore::TiledLayerChromium::prepareToUpdate):
1206         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
1207         * platform/graphics/chromium/TiledLayerChromium.h:
1208         (TiledLayerChromium):
1209         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1210         (WebCore::WebGLLayerChromium::paintContentsIfDirty):
1211         * platform/graphics/chromium/WebGLLayerChromium.h:
1212         (WebGLLayerChromium):
1213         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1214         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
1215         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1216         (WebCore::CCLayerTreeHost::paintLayerContents):
1217         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1218
1219 2012-03-15  Tommy Widenflycht  <tommyw@google.com>
1220
1221         MediaStream API (JSEP): Introducing SessionDescription
1222         https://bugs.webkit.org/show_bug.cgi?id=81206
1223
1224         Reviewed by Adam Barth.
1225
1226         Patch #3 in a series of patches to change the PeerConnection from ROAP to JSEP,
1227         see bug 80589 for more information.
1228         Adding the SessionDescription JS object and its platform counterpart SessionDescriptionDescriptor.
1229
1230         Not possible to test until the entire JSEP feature is commited.
1231
1232         * GNUmakefile.list.am:
1233         * Modules/mediastream/SessionDescription.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1234         (WebCore):
1235         (WebCore::SessionDescription::create):
1236         (WebCore::SessionDescription::SessionDescription):
1237         (WebCore::SessionDescription::~SessionDescription):
1238         (WebCore::SessionDescription::addCandidate):
1239         (WebCore::SessionDescription::toSdp):
1240         (WebCore::SessionDescription::descriptor):
1241         * Modules/mediastream/SessionDescription.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1242         (WebCore):
1243         (SessionDescription):
1244         * Modules/mediastream/SessionDescription.idl: Added.
1245         * WebCore.gypi:
1246         * platform/mediastream/MediaStreamCenter.cpp:
1247         (WebCore::MediaStreamCenter::constructSdp):
1248         (WebCore):
1249         * platform/mediastream/MediaStreamCenter.h:
1250         (WebCore):
1251         (MediaStreamCenter):
1252         * platform/mediastream/SessionDescriptionDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1253         (WebCore):
1254         (WebCore::SessionDescriptionDescriptor::create):
1255         (WebCore::SessionDescriptionDescriptor::SessionDescriptionDescriptor):
1256         (WebCore::SessionDescriptionDescriptor::~SessionDescriptionDescriptor):
1257         (WebCore::SessionDescriptionDescriptor::addCandidate):
1258         (WebCore::SessionDescriptionDescriptor::toSdp):
1259         (WebCore::SessionDescriptionDescriptor::numberOfAddedCandidates):
1260         (WebCore::SessionDescriptionDescriptor::candidate):
1261         (WebCore::SessionDescriptionDescriptor::initialSdp):
1262         * platform/mediastream/SessionDescriptionDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1263         (WebCore):
1264         (SessionDescriptionDescriptor):
1265
1266 2012-03-15  Sheriff Bot  <webkit.review.bot@gmail.com>
1267
1268         Unreviewed, rolling out r110929.
1269         http://trac.webkit.org/changeset/110929
1270         https://bugs.webkit.org/show_bug.cgi?id=81306
1271
1272         breaking webkit_unit_tests (Requested by morrita on #webkit).
1273
1274         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1275         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1276         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1277         (Canvas2DLayerChromium):
1278         * platform/graphics/chromium/ContentLayerChromium.cpp:
1279         (WebCore::ContentLayerChromium::paintContentsIfDirty):
1280         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
1281         * platform/graphics/chromium/ContentLayerChromium.h:
1282         (WebCore):
1283         (ContentLayerChromium):
1284         * platform/graphics/chromium/ImageLayerChromium.cpp:
1285         (WebCore::ImageLayerChromium::paintContentsIfDirty):
1286         * platform/graphics/chromium/ImageLayerChromium.h:
1287         (WebCore):
1288         (ImageLayerChromium):
1289         * platform/graphics/chromium/LayerChromium.h:
1290         (WebCore::LayerChromium::paintContentsIfDirty):
1291         (WebCore::LayerChromium::idlePaintContentsIfDirty):
1292         * platform/graphics/chromium/TiledLayerChromium.cpp:
1293         (WebCore):
1294         (WebCore::contentToLayerTransform):
1295         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1296         (WebCore::TiledLayerChromium::prepareToUpdate):
1297         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
1298         * platform/graphics/chromium/TiledLayerChromium.h:
1299         (WebCore):
1300         (TiledLayerChromium):
1301         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1302         (WebCore::WebGLLayerChromium::paintContentsIfDirty):
1303         * platform/graphics/chromium/WebGLLayerChromium.h:
1304         (WebGLLayerChromium):
1305         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1306         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
1307         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1308         (WebCore::CCLayerTreeHost::paintLayerContents):
1309         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1310
1311 2012-03-15  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1312
1313         REGRESSION(r106232): The resize handler is always called after loading.
1314         https://bugs.webkit.org/show_bug.cgi?id=80242
1315
1316         Reviewed by Kenneth Rohde Christiansen.
1317
1318         Ensure resize-events are not emitted when layout-size changes due to added
1319         scrollbars. For fixed layout, scrollbars are never subtracted or added, so
1320         we can compare fixedLayoutSize directly. For normal layout, use the full
1321         visible rect size which is the same as layout size plus scrollbars.
1322
1323         Test: fast/events/resize-events.html
1324
1325         * page/FrameView.cpp:
1326         (WebCore::FrameView::reset):
1327         (WebCore::FrameView::layout):
1328         (WebCore::FrameView::performPostLayoutTasks):
1329         * page/FrameView.h:
1330         (FrameView):
1331
1332 2012-03-15  Tommy Widenflycht  <tommyw@google.com>
1333
1334         MediaStream API (JSEP): Introducing MediaHints and IceOptions
1335         https://bugs.webkit.org/show_bug.cgi?id=81207
1336
1337         Reviewed by Adam Barth.
1338
1339         Patch #4 in a series of patches to change the PeerConnection from ROAP to JSEP,
1340         see bug 80589 for more information.
1341         Introducing the platform MediaHints and IceOptions helper classes.
1342
1343         Not possible to test until the entire JSEP feature is commited.
1344
1345         * GNUmakefile.list.am:
1346         * WebCore.gypi:
1347         * platform/mediastream/IceOptions.cpp: Added.
1348         (WebCore):
1349         (WebCore::IceOptions::create):
1350         * platform/mediastream/IceOptions.h: Added.
1351         (WebCore):
1352         (IceOptions):
1353         (WebCore::IceOptions::~IceOptions):
1354         (WebCore::IceOptions::useCandidates):
1355         (WebCore::IceOptions::IceOptions):
1356         * platform/mediastream/MediaHints.cpp: Added.
1357         (WebCore):
1358         (WebCore::MediaHints::create):
1359         (WebCore::MediaHints::audio):
1360         (WebCore::MediaHints::video):
1361         * platform/mediastream/MediaHints.h: Added.
1362         (WebCore):
1363         (MediaHints):
1364         (WebCore::MediaHints::~MediaHints):
1365         (WebCore::MediaHints::MediaHints):
1366
1367 2012-03-15  Shinya Kawanaka  <shinyak@chromium.org>
1368
1369         [Crash] Adding <content> into a ShadowRoot causes crash.
1370         https://bugs.webkit.org/show_bug.cgi?id=80020
1371
1372         Reviewed by Hajime Morita.
1373
1374         The problem is <content> tries to select host children though it is not prepared.
1375         Since populating host children for insertion points is performed just before
1376         attaching a shadow tree, we should recalculate whole shadow tree if <content> is
1377         appended as a child.
1378
1379         However, element->appendChild() does not know the element is in a shadow tree or not.
1380         We have to ensure reattaching whole shadow tree here.
1381
1382         So this patch adds some phases to HTMLContentSelector so that we can check node
1383         distribution algorihm is begin processed or not. If not we cannot select anything,
1384         but we have to enable a flag to reattach whole shadow tree.
1385
1386         Tests: fast/dom/shadow/shadow-content-crash-expected.html
1387                fast/dom/shadow/shadow-content-crash.html
1388
1389         * dom/ShadowTree.cpp:
1390         (WebCore::ShadowTree::attach):
1391         (WebCore::ShadowTree::insertionPointFor):
1392         * dom/ShadowTree.h:
1393         (WebCore):
1394         (ShadowTree):
1395         (WebCore::ShadowTree::selector):
1396         * html/shadow/HTMLContentSelector.cpp:
1397         (WebCore::HTMLContentSelector::HTMLContentSelector):
1398         (WebCore::HTMLContentSelector::select):
1399         (WebCore::HTMLContentSelector::willSelect):
1400         (WebCore):
1401         (WebCore::HTMLContentSelector::didSelect):
1402         (WebCore::HTMLContentSelector::populateIfNecessary):
1403         * html/shadow/HTMLContentSelector.h:
1404         (HTMLContentSelector):
1405         (WebCore::HTMLContentSelector::isSelecting):
1406         (WebCore):
1407         (WebCore::HTMLContentSelector::hasPopulated):
1408         * html/shadow/InsertionPoint.cpp:
1409         (WebCore::InsertionPoint::distributeHostChildren):
1410         (WebCore::InsertionPoint::clearDistribution):
1411
1412 2012-03-15  Mike Lawther  <mikelawther@chromium.org>
1413
1414         CSS3 calc: mixed percent/absolute expressions for gradients
1415         https://bugs.webkit.org/show_bug.cgi?id=81182
1416
1417         Reviewed by Ojan Vafai.
1418
1419         * css/CSSGradientValue.cpp:
1420         (WebCore::CSSGradientValue::addStops):
1421         (WebCore::positionFromValue):
1422
1423 2012-03-15  Leo Yang  <leo.yang@torchmobile.com.cn>
1424
1425         [BlackBerry] Sync up MIMETypeRegistry.cpp
1426         https://bugs.webkit.org/show_bug.cgi?id=81191
1427
1428         Reviewed by Rob Buis.
1429
1430         Add png and jpeg to supportedImageMIMETypesForEncoding for BlackBerry.
1431
1432         * platform/MIMETypeRegistry.cpp:
1433         (WebCore::initializeSupportedImageMIMETypesForEncoding):
1434
1435 2012-03-15  Dana Jansens  <danakj@chromium.org>
1436
1437         [chromium] Decide occlusion in paint culling with CCOcclusionTracker
1438         https://bugs.webkit.org/show_bug.cgi?id=81181
1439
1440         Reviewed by Adrienne Walker.
1441
1442         Plumb a CCOcclusionTracker* around instead of a bare Region, so that it
1443         can make a more informed decision if a tile is occluded or not during
1444         paint.
1445
1446         Covered by existing tests.
1447
1448         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1449         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1450         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1451         (Canvas2DLayerChromium):
1452         * platform/graphics/chromium/ContentLayerChromium.cpp:
1453         (WebCore::ContentLayerChromium::paintContentsIfDirty):
1454         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
1455         * platform/graphics/chromium/ContentLayerChromium.h:
1456         (WebCore):
1457         (ContentLayerChromium):
1458         * platform/graphics/chromium/ImageLayerChromium.cpp:
1459         (WebCore::ImageLayerChromium::paintContentsIfDirty):
1460         * platform/graphics/chromium/ImageLayerChromium.h:
1461         (WebCore):
1462         (ImageLayerChromium):
1463         * platform/graphics/chromium/LayerChromium.h:
1464         (WebCore::LayerChromium::paintContentsIfDirty):
1465         (WebCore::LayerChromium::idlePaintContentsIfDirty):
1466         * platform/graphics/chromium/TiledLayerChromium.cpp:
1467         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1468         (WebCore::TiledLayerChromium::prepareToUpdate):
1469         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
1470         * platform/graphics/chromium/TiledLayerChromium.h:
1471         (TiledLayerChromium):
1472         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1473         (WebCore::WebGLLayerChromium::paintContentsIfDirty):
1474         * platform/graphics/chromium/WebGLLayerChromium.h:
1475         (WebGLLayerChromium):
1476         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1477         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
1478         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1479         (WebCore::CCLayerTreeHost::paintLayerContents):
1480         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1481
1482 2012-03-15  Yoshifumi Inoue  <yosin@chromium.org>
1483
1484         [Forms] The "meter" element should not be a form-associated element.
1485         https://bugs.webkit.org/show_bug.cgi?id=80380
1486
1487         Reviewed by Kent Tamura.
1488
1489         This patch changes base class of HTMLMeterElement to LabelableElement from
1490         HTMLFormControlElement for saving memory space and iteration time of
1491         extra "meter" elements in HTMLFormElement::m_formAssociatedElements
1492         and matching the HTML5 specification for ease of maintenance.
1493
1494         This patch renames isLabelable method to supportLabels and makes isLabelable
1495         as predicate of an instance of LabelableElement or not.
1496
1497         Changes of TextIterator is lead by usage of isFormControlElement. This
1498         changes will be replaced with more meaningful predicate as part of
1499         https://bugs.webkit.org/show_bug.cgi?id=80381
1500
1501         No new tests. Update existing tests to cover this change.
1502
1503         * editing/TextIterator.cpp:
1504         (WebCore::TextIterator::advance): Check HTMLMeterElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
1505         * html/HTMLButton.h:
1506         (WebCore::HTMLButtonElement::supportLabels): Renamed from isLabelable
1507         * html/HTMLElement.h:
1508         (WebCore::HTMLElement::isLabelable): Added. A predicate for an instance of LabelableElement.
1509         * html/HTMLInputElement.h:
1510         (WebCore::HTMLInputElement::supportLabels): Renamed from isLabelable
1511         * html/HTMLKeygenElement.h:
1512         (WebCore::HTMLKeygenElement::supportLabels): Renamed from isLabelable
1513          * html/HTMLLabelElement.cpp:
1514         (WebCore::nodeAsLabelableElement): Changed to return LabelableElement instead of HTMLFormControlElement.
1515         (WebCore::HTMLLabelElement::control): Changed to return LabelableElement instead of HTMLFormControlElement.
1516         * html/HTMLLabelElement.h:
1517         (HTMLLabelElement):
1518         * html/HTMLMeterElement.cpp:
1519         (WebCore::HTMLMeterElement::HTMLMeterElement): Changed base class to LabelableElement.
1520         (WebCore::HTMLMeterElement::create): Remove form parameter.
1521         (WebCore::HTMLMeterElement::formControlType): Remove implementation of virtual method declared in HTMLFormControlElement.
1522         (WebCore::HTMLMeterElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement
1523         (WebCore::HTMLMeterElement::attach): Replace HTMLFormControlElement to LabelableElement
1524         * html/HTMLMeterElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
1525         * html/HTMLMeterElement.h:
1526         (HTMLMeterElement):
1527         (WebCore::HTMLMeterElement::supportLabels): Renamed from isLabelable
1528         * html/HTMLOutputElement.h:
1529         (WebCore::HTMLOutputElement::supportLabels): Renamed from isLabelable
1530         * html/HTMLProgressElement.h:
1531         (WebCore::HTMLProgressElement::supportLabels): Renamed from isLabelable
1532          * html/HTMLSelectElement.h:
1533         (WebCore::HTMLSelectElement::supportLabels): Renamed from isLabelable
1534         * html/HTMLTextAreaElement.h:
1535         (WebCore::HTMLTextAreaElement::supportLabels): Renamed from isLabelable
1536         * html/HiddenInputType.h:
1537         (WebCore::HiddenInputType::supportLabels): Renamed from isLabelable
1538         * html/InputType.h:
1539         (WebCore::InputType::supportLabels): Renamed from isLabelable
1540         * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
1541         * html/LabelableElement.cpp:
1542         (WebCore::LabelableElement::labels): Replace isLabelable to supportLabels
1543         * html/LabelableElement.h:
1544         (LabelableElement):
1545
1546 2012-03-15  Adam Klein  <adamk@chromium.org>
1547
1548         REGRESSION(r103452): 100% CPU usage and 5s pause after clicking on a link in Yahoo Mail
1549         https://bugs.webkit.org/show_bug.cgi?id=81141
1550
1551         Reviewed by Ojan Vafai.
1552
1553         Revert the behavior change from r103452: don't fire DOMSubtreeModified
1554         events when an attribute value merely changes. Still fire that event
1555         when an attribute is added or removed from an element.
1556
1557         Though this contradicts the DOM3 spec, it matches legacy WebKit behavior,
1558         and given that Mutation Events are deprecated, it seems unwise to make
1559         any additions to WebKit's implementation of them.
1560
1561         Test: fast/dom/subtree-modified-attributes.html
1562
1563         * dom/Element.cpp:
1564         (WebCore::Element::didAddAttribute): Renamed from didModifyAttribute.
1565         (WebCore::Element::didModifyAttribute): Remove the call to dispatchSubtreeModifiedEvent.
1566         (WebCore):
1567         * dom/Element.h:
1568         (Element):
1569         * dom/ElementAttributeData.cpp:
1570         (WebCore::ElementAttributeData::addAttribute): Call didAddAttribute instead of didModifyAttribute.
1571
1572 2012-03-15  Dana Jansens  <danakj@chromium.org>
1573
1574         [chromium] Move overdraw metrics into a templated class for both paint and draw metrics.
1575         https://bugs.webkit.org/show_bug.cgi?id=81156
1576
1577         Reviewed by Adrienne Walker.
1578
1579         Creates CCOverdrawMetrics which can be called to inform it about
1580         draws/paints. At the end of the frame, the CCOverdrawMetrics
1581         recordMetrics() method will put its data into histograms, a
1582         TRACE_COUNTER for culling information, and a TRACE_EVENT for details
1583         about the number of opaque/translucent pixels.
1584
1585         Covered by existing tests.
1586
1587         * WebCore.gypi:
1588         * platform/chromium/TraceEvent.h:
1589         (TraceEvent):
1590         (WebCore::TraceEvent::addTraceEvent):
1591         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1592         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1593         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp: Added.
1594         (WebCore):
1595         (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
1596         (WebCore::wedgeProduct):
1597         (WebCore::quadArea):
1598         (WebCore::CCOverdrawMetrics::didDraw):
1599         (WebCore::CCOverdrawMetrics::recordMetrics):
1600         (WebCore::CCOverdrawMetrics::recordMetricsInternal):
1601         * platform/graphics/chromium/cc/CCOverdrawMetrics.h: Added.
1602         (WebCore):
1603         (CCOverdrawMetrics):
1604         (WebCore::CCOverdrawMetrics::pixelsDrawnOpaque):
1605         (WebCore::CCOverdrawMetrics::pixelsDrawnTranslucent):
1606         (WebCore::CCOverdrawMetrics::pixelsCulled):
1607         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1608         (WebCore::CCQuadCuller::CCQuadCuller):
1609         (WebCore::CCQuadCuller::append):
1610         * platform/graphics/chromium/cc/CCQuadCuller.h:
1611         (WebCore):
1612         (CCQuadCuller):
1613         * platform/graphics/chromium/cc/CCRenderPass.cpp:
1614         (WebCore::CCRenderPass::appendQuadsForLayer):
1615         * platform/graphics/chromium/cc/CCRenderPass.h:
1616         (WebCore):
1617         (CCRenderPass):
1618
1619 2012-03-15  James Robinson  <jamesr@chromium.org>
1620
1621         [chromium] RateLimiter should hold a reference to its context
1622         https://bugs.webkit.org/show_bug.cgi?id=80761
1623
1624         Reviewed by Stephen White.
1625
1626         * platform/graphics/chromium/RateLimiter.h:
1627         (RateLimiter):
1628
1629 2012-03-15  Adam Klein  <adamk@chromium.org>
1630
1631         Share code in FormAssociatedElement by resetting the form owner whenever insertedIntoTree is called
1632         https://bugs.webkit.org/show_bug.cgi?id=81160
1633
1634         Reviewed by Kent Tamura.
1635
1636         The only difference between the previous insertedIntoTree method and
1637         resetFormOwner was a missing element->inDocument() check in the
1638         former. But that check is actually important, as seen by the included test case.
1639
1640         Test: fast/forms/form-attribute-not-in-document.html
1641
1642         * html/FormAssociatedElement.cpp:
1643         (WebCore::FormAssociatedElement::insertedIntoTree):
1644
1645 2012-03-15  Kentaro Hara  <haraken@chromium.org>
1646
1647         [Refactoring] Rename StringBuilder variables in MarkupAccumulator.{h,cpp}
1648         https://bugs.webkit.org/show_bug.cgi?id=81288
1649
1650         Reviewed by Adam Barth.
1651
1652         This is a refactoring for fixing bug 81214. Currently MarkupAccumulator mixes
1653         'out' and 'result' for variable names of StringBuilder. This patch unifies them
1654         to 'result'.
1655
1656         No tests. No change in behavior.
1657
1658         * editing/MarkupAccumulator.cpp: Renamed 'out' to 'result'.
1659         (WebCore::appendCharactersReplacingEntities):
1660         (WebCore::MarkupAccumulator::serializeNodes): Renamed 'node' to 'targetNode' for clarification
1661         (and for avoiding style check error in MarkupAccumulator.h).
1662         (WebCore::MarkupAccumulator::concatenateMarkup):
1663         (WebCore::MarkupAccumulator::appendNodeValue):
1664         (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute):
1665         (WebCore::MarkupAccumulator::appendNamespace):
1666         (WebCore::MarkupAccumulator::entityMaskForText):
1667         (WebCore::MarkupAccumulator::appendText):
1668         (WebCore::MarkupAccumulator::appendComment):
1669         (WebCore::MarkupAccumulator::appendProcessingInstruction):
1670         (WebCore::MarkupAccumulator::appendElement):
1671         (WebCore::MarkupAccumulator::appendOpenTag):
1672         (WebCore::MarkupAccumulator::appendCloseTag):
1673         (WebCore::MarkupAccumulator::appendAttribute):
1674         (WebCore::MarkupAccumulator::appendCDATASection):
1675         (WebCore::MarkupAccumulator::elementCannotHaveEndTag):
1676         * editing/MarkupAccumulator.h: Removed redundant variable names.
1677         (MarkupAccumulator):
1678         (WebCore):
1679
1680 2012-03-15  Brent Fulgham  <bfulgham@webkit.org>
1681
1682         [WinCairo] Correct <wtf/*.h> include paths.
1683         https://bugs.webkit.org/show_bug.cgi?id=81278
1684
1685         Reviewed by Eric Seidel.
1686
1687         Modify the #include declarations for several Cairo-related files
1688         so that the wtf types are included using the full path.
1689
1690         * platform/graphics/FontPlatformData.h:
1691         * platform/graphics/cairo/OwnPtrCairo.h:
1692         * platform/graphics/cairo/RefPtrCairo.h:
1693
1694 2012-03-15  Anders Carlsson  <andersca@apple.com>
1695
1696         only some tiles rendered when zoomed in
1697         https://bugs.webkit.org/show_bug.cgi?id=81282
1698         <rdar://problem/11058898>
1699
1700         Reviewed by Andreas Kling.
1701
1702         * platform/graphics/ca/mac/TileCache.mm:
1703         (WebCore::TileCache::rectForTileIndex):
1704         Make sure that the tile cache bounds are scaled accordingly.
1705
1706 2012-03-15  Zeno Albisser  <zeno@webkit.org>
1707
1708         [Qt] RenderThemeQt::fileListNameForWidth should override function in base class RenderTheme. (r110560)
1709         https://bugs.webkit.org/show_bug.cgi?id=81107
1710
1711         Add "bool multipleFilesAllowed" to the parameter list of RenderThemeQt::fileListNameForWidth.
1712         This way the base class function is properly overridden.
1713         The need for this change became obvious after r110560 where the OVERRIDE keyword had been
1714         added to the function signature.
1715
1716         Reviewed by Simon Hausmann.
1717
1718         * platform/qt/RenderThemeQt.cpp:
1719         (WebCore::RenderThemeQt::fileListNameForWidth):
1720         * platform/qt/RenderThemeQt.h:
1721         (RenderThemeQt):
1722
1723 2012-03-07  Jon Lee  <jonlee@apple.com>
1724
1725         Move NotificationContents into Notification
1726         https://bugs.webkit.org/show_bug.cgi?id=80487
1727         <rdar://problem/10965519>
1728
1729         Reviewed by Jian Li.
1730
1731         * notifications/Notification.cpp: Alter signature of constructor to take the fields directly instead of
1732         a NotificationContents instance.
1733         (WebCore::Notification::Notification): Derive KURL from string representation of icon.
1734         (WebCore::Notification::create):
1735         * notifications/Notification.h:
1736         (Notification): Remove contents() accessor and replace with get for title and body. iconURL()
1737         already existed, but use local variable instead of going through NotificationContents.
1738         (WebCore::Notification::iconURL):
1739         (WebCore::Notification::title):
1740         (WebCore::Notification::body):
1741         * notifications/NotificationCenter.h:
1742         (WebCore::NotificationCenter::createNotification): Refactor to use new constructor.
1743         * notifications/NotificationContents.h: Removed.
1744
1745         Remove NotificationContents.h from project files
1746         * GNUmakefile.list.am:
1747         * Target.pri:
1748         * WebCore.gypi:
1749         * WebCore.vcproj/WebCore.vcproj:
1750         * WebCore.xcodeproj/project.pbxproj:
1751
1752 2012-03-13  Jon Lee  <jonlee@apple.com>
1753
1754         Deprecate ondisplay()
1755         https://bugs.webkit.org/show_bug.cgi?id=80483
1756         <rdar://problem/10912432>
1757
1758         Reviewed by Jian Li.
1759
1760         The appropriate event listener for notifications is onshow().
1761
1762         * notifications/Notification.h: Wrap ondisplay in ENABLE(LEGACY_NOTIFICATIONS).
1763         * notifications/Notification.idl: Wrap ondisplay in ENABLE_LEGACY_NOTIFICATIONS.
1764
1765 2012-03-14  W. James MacLean  <wjmaclean@chromium.org>
1766
1767         [chromium] Wire up PlatformGestureCurves for CC, ScrollAnimatorNone.
1768         https://bugs.webkit.org/show_bug.cgi?id=80607
1769
1770         Reviewed by James Robinson.
1771
1772         Unit tests added. Layout tests to follow.
1773
1774         Provides implementation of PlatformGestureCurves in Chrome Compositor, and basic
1775         support in ScrollAnimatorNone, for fling gestures.
1776
1777         * GNUmakefile.list.am:
1778         * platform/ActivePlatformGestureAnimation.cpp:
1779         (WebCore::ActivePlatformGestureAnimation::create):
1780         (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
1781         (WebCore::ActivePlatformGestureAnimation::animate):
1782         * platform/ActivePlatformGestureAnimation.h:
1783         (ActivePlatformGestureAnimation):
1784         * platform/PlatformGestureCurveTarget.h:
1785         (PlatformGestureCurveTarget):
1786         * platform/ScrollAnimatorNone.cpp:
1787         (WebCore::ScrollAnimatorNone::cancelAnimations):
1788         (WebCore::ScrollAnimatorNone::animationTimerFired):
1789         (WebCore::ScrollAnimatorNone::scrollBy):
1790         (WebCore):
1791         * platform/ScrollAnimatorNone.h:
1792         (WebCore):
1793         (ScrollAnimatorNone):
1794         * platform/TouchFlingPlatformGestureCurve.cpp:
1795         (WebCore::TouchFlingPlatformGestureCurve::apply):
1796         * platform/WheelFlingPlatformGestureCurve.cpp:
1797         (WebCore::WheelFlingPlatformGestureCurve::apply):
1798         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
1799         (WebCore::CCActiveGestureAnimation::create):
1800         (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
1801         (WebCore::CCActiveGestureAnimation::animate):
1802         * platform/graphics/chromium/cc/CCActiveGestureAnimation.h:
1803         (CCActiveGestureAnimation):
1804         * platform/graphics/chromium/cc/CCGestureCurve.h:
1805         (CCGestureCurveTarget):
1806         * platform/graphics/chromium/cc/CCInputHandler.h:
1807         (WebCore):
1808         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1809         (WebCore::CCLayerTreeHostImpl::animate):
1810         (WebCore::CCLayerTreeHostImpl::setActiveGestureAnimation):
1811         (WebCore):
1812         (WebCore::CCLayerTreeHostImpl::animateGestures):
1813         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1814         (WebCore):
1815         (WebCore::CCLayerTreeHostImpl::activeGestureAnimation):
1816         (CCLayerTreeHostImpl):
1817
1818 2012-03-15  Patrick Gansterer  <paroga@webkit.org>
1819
1820         [EFL] Make zlib a general build requirement
1821         https://bugs.webkit.org/show_bug.cgi?id=80153
1822
1823         Reviewed by Hajime Morita.
1824
1825         After r109538 WebSocket module needs zlib to support deflate-frame extension.
1826
1827         * PlatformEfl.cmake:
1828
1829 2012-03-15  Robert Kroeger  <rjkroege@chromium.org>
1830
1831         REGRESSION (r110371): broke platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html
1832         https://bugs.webkit.org/show_bug.cgi?id=80825
1833
1834         Reviewed by James Robinson.
1835
1836         * page/EventHandler.cpp:
1837         (WebCore::EventHandler::handleWheelEvent): Corrected a typo.
1838
1839 2012-03-15  Scott Byer  <scottbyer@chromium.org>
1840
1841         Fix crbug 117957 - get settings scrolling with the wheel again.
1842         https://bugs.webkit.org/show_bug.cgi?id=81247
1843
1844         Reviewed by James Robinson.
1845
1846         Tests to follow.
1847
1848         * page/FrameView.cpp:
1849         (WebCore::FrameView::serviceScriptedAnimations):
1850
1851 2012-03-15  David Hyatt  <hyatt@apple.com>
1852
1853         https://bugs.webkit.org/show_bug.cgi?id=81258
1854
1855         Add a preference for enabling the new multi-column layout code that will be based on regions.
1856
1857         Reviewed by Beth Dakin.
1858
1859         * page/Settings.cpp:
1860         (WebCore::Settings::Settings):
1861         * page/Settings.h:
1862         (WebCore::Settings::setRegionBasedColumnsEnabled):
1863         (WebCore::Settings::regionBasedColumnsEnabled):
1864         (Settings):
1865
1866 2012-03-15  Andreas Kling  <kling@webkit.org>
1867
1868         RenderStyle: Return Color objects by value instead of as const references.
1869         <http://webkit.org/b/81180>
1870
1871         Reviewed by Antti Koivisto.
1872
1873         Make RenderStyle getters return "Color" rather than "const Color&". This is preparation
1874         for storing some color values in a more space-efficient fashion.
1875
1876         * css/CSSStyleApplyProperty.cpp:
1877         (WebCore::ApplyPropertyColor::applyInheritValue):
1878         * page/animation/AnimationBase.cpp:
1879         (PropertyWrapperColor):
1880         (WebCore::PropertyWrapperColor::PropertyWrapperColor):
1881         (WebCore::PropertyWrapperColor::blend):
1882         (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
1883         (PropertyWrapperMaybeInvalidColor):
1884         (WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
1885         (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
1886         (PropertyWrapperSVGPaint):
1887         * platform/graphics/Color.h:
1888         (WebCore::Color::Color):
1889         * rendering/style/RenderStyle.h:
1890
1891 2012-03-15  Jessie Berlin  <jberlin@apple.com>
1892
1893         Assertion failures in WebCore::Page::goBackOrForward causing multiple "crashes" on Lion Intel
1894         Debug WebKit2 testers
1895         https://bugs.webkit.org/show_bug.cgi?id=81159
1896
1897         Rubber-stamped by Brady Eidson.
1898
1899         It is plausible that history could change in between the time a navigation request is
1900         scheduled and the timer is fired, so the request index could be out of the b/f list range.
1901         Hence, the assertion is invalid and should be removed.
1902
1903         * page/Page.cpp:
1904         (WebCore::Page::goBackOrForward):
1905
1906 2012-03-15  Alexey Proskuryakov  <ap@apple.com>
1907
1908         Assertion failures in checkEncodedString when running WebKit2 tests
1909         https://bugs.webkit.org/show_bug.cgi?id=67425
1910         <rdar://problem/11043492>
1911
1912         Reviewed by Anders Carlsson.
1913
1914         * platform/network/cf/ResourceErrorCF.cpp: (WebCore::ResourceError::cfError):
1915         * platform/network/mac/ResourceErrorMac.mm: (WebCore::ResourceError::nsError):
1916         The failing URL is certainly not guaranteed to be valid, so it's not correct to put it back
1917         into a URL as if it's been normalized by KURL.
1918
1919 2012-03-15  Brady Eidson  <beidson@apple.com>
1920
1921         <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079
1922         REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard
1923
1924         Reviewed by Sam Weinig.
1925
1926         Test: editing/pasteboard/copy-two-pasteboard-types-both-work.html
1927
1928         Add the non-destructive "addTypes" to supplement the destructive "setTypes"
1929         * platform/PasteboardStrategy.h:
1930         (PasteboardStrategy):
1931         * platform/PlatformPasteboard.h:
1932         (PlatformPasteboard):
1933         * platform/mac/PlatformPasteboardMac.mm:
1934         (WebCore::PlatformPasteboard::addTypes):
1935         * WebCore.exp.in:
1936
1937         * platform/mac/ClipboardMac.mm:
1938         (WebCore::ClipboardMac::setData): Call the non-destructive "addTypes" instead of
1939           the destructive "setTypes"
1940
1941 2012-03-15  Dana Jansens  <danakj@chromium.org>
1942
1943         [Chromium] REGRESSION(r110596) CCQuadCullerTest.verifyCullChildLinesUpTopLeft fails on Windows
1944         https://bugs.webkit.org/show_bug.cgi?id=81083
1945
1946         Reviewed by Adrienne Walker.
1947
1948         The surface pointer on the occlusion tracker stack is uninitialized, and
1949         can be non-null, but the layer's target surface is null, causing asserts
1950         to fail. Fixes the TestCCOcclusionTrackerImpl to initialize the stack's
1951         surface to be null.
1952
1953         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1954         (WebCore::::enterTargetRenderSurface):
1955         (WebCore::::unoccludedContentRect):
1956         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
1957         (WebCore::CCOcclusionTrackerBase::StackObject::StackObject):
1958
1959 2012-03-15  David Levin  <levin@chromium.org>
1960
1961         Various autoresize fixes.
1962         https://bugs.webkit.org/show_bug.cgi?id=81199
1963
1964         Reviewed by Darin Fisher.
1965
1966         Tested by WebViewTest additions.
1967
1968         * page/FrameView.cpp:
1969         (WebCore::FrameView::autoSizeIfEnabled): Fixed a bug that caused a horizontal
1970         scrollbar to appear when the size was width was fixed and height overflowed which
1971         is one of the tests that was added.
1972
1973 2012-03-15  Andrey Kosyakov  <caseq@chromium.org>
1974
1975         Web Inspector: normalize vertical overview bars by longest bar, not by longest frame
1976         https://bugs.webkit.org/show_bug.cgi?id=81231
1977
1978         Reviewed by Vsevolod Vlasov.
1979
1980         * inspector/front-end/TimelineOverviewPane.js:
1981         (WebInspector.TimelineOverviewPane):
1982         (WebInspector.TimelineOverviewPane.prototype.reset):
1983         (WebInspector.TimelineOverviewPane.prototype.accept):
1984         (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
1985         (WebInspector.TimelineVerticalOverview.prototype.reset):
1986         (WebInspector.TimelineVerticalOverview.prototype.update):
1987         (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames):
1988         (WebInspector.TimelineVerticalOverview.prototype._aggregateRecords):
1989         (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
1990
1991 2012-03-15  Andrey Kosyakov  <caseq@chromium.org>
1992
1993         Web Inspector: crash in InspectorTimelineAgent when trying to add children to cancelable records
1994         https://bugs.webkit.org/show_bug.cgi?id=81245
1995
1996         Reviewed by Vsevolod Vlasov.
1997
1998         * inspector/InspectorTimelineAgent.cpp:
1999         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
2000         (WebCore):
2001         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2002         (WebCore::InspectorTimelineAgent::appendRecord):
2003         (WebCore::InspectorTimelineAgent::commitCancelableRecords):
2004         * inspector/InspectorTimelineAgent.h:
2005         (InspectorTimelineAgent):
2006
2007 2012-03-15  Pavel Podivilov  <podivilov@chromium.org>
2008
2009         Web Inspector: live locations could be disposed twice.
2010         https://bugs.webkit.org/show_bug.cgi?id=81249
2011
2012         Reviewed by Vsevolod Vlasov.
2013
2014         * inspector/front-end/ScriptMapping.js:
2015         (WebInspector.MainScriptMapping.prototype._unregisterLiveLocation):
2016
2017 2012-03-15  Carlos Garcia Campos  <cgarcia@igalia.com>
2018
2019         [GTK] Implement unicode submenu items
2020         https://bugs.webkit.org/show_bug.cgi?id=81117
2021
2022         Reviewed by Martin Robinson.
2023
2024         * loader/EmptyClients.h:
2025         (WebCore::EmptyEditorClient::shouldShowUnicodeMenu): Just return
2026         false.
2027         * page/ContextMenuController.cpp:
2028         (WebCore::insertUnicodeCharacter): Helper function to insert a
2029         unicode character.
2030         (WebCore::ContextMenuController::contextMenuItemSelected):
2031         Implement unicode menu items using insertUnicodeCharacter() to
2032         insert the apropriate unicode character.
2033         (WebCore::ContextMenuController::createAndAppendUnicodeSubMenu):
2034         Create the unicode submenu.
2035         (WebCore::ContextMenuController::populate): Add unicode submenu
2036         item for editable content.
2037         (WebCore::ContextMenuController::checkOrEnableIfNeeded): Add
2038         unicode submenu items to the switch.
2039         * page/ContextMenuController.h:
2040         * page/EditorClient.h:
2041         (EditorClient): Add shouldShowUnicodeMenu() for GTK platform.
2042         * platform/ContextMenuItem.h:
2043         * platform/LocalizedStrings.h:
2044         * platform/gtk/LocalizedStringsGtk.cpp:
2045         (WebCore::contextMenuItemTagUnicodeInsertLRMMark): Add localized
2046         string for the unicode menu item.
2047         (WebCore::contextMenuItemTagUnicodeInsertRLMMark): Ditto.
2048         (WebCore::contextMenuItemTagUnicodeInsertLREMark): Ditto.
2049         (WebCore::contextMenuItemTagUnicodeInsertRLEMark): Ditto.
2050         (WebCore::contextMenuItemTagUnicodeInsertLROMark): Ditto.
2051         (WebCore::contextMenuItemTagUnicodeInsertRLOMark): Ditto.
2052         (WebCore::contextMenuItemTagUnicodeInsertPDFMark): Ditto.
2053         (WebCore::contextMenuItemTagUnicodeInsertZWSMark): Ditto.
2054         (WebCore::contextMenuItemTagUnicodeInsertZWJMark): Ditto.
2055         (WebCore::contextMenuItemTagUnicodeInsertZWNJMark): Ditto.
2056
2057 2012-03-15  Vsevolod Vlasov  <vsevik@chromium.org>
2058
2059         Web Inspector: MainScriptMapping should detect snippet scripts by means of sourceURL set before evaluation.
2060         https://bugs.webkit.org/show_bug.cgi?id=81031
2061
2062         Reviewed by Pavel Feldman.
2063
2064         * inspector/front-end/SnippetsModel.js:
2065         (WebInspector.SnippetsModel):
2066         (WebInspector.SnippetsModel.prototype._saveSettings):
2067         (WebInspector.SnippetsModel.prototype.deleteSnippet):
2068         (WebInspector.SnippetsModel.prototype._snippetAdded):
2069         (WebInspector.SnippetsModel.prototype._sourceURLForSnippet):
2070         (WebInspector.SnippetsModel.prototype.snippetIdForSourceURL):
2071         (WebInspector.SnippetsModel.prototype.snippetForSourceURL):
2072         (WebInspector.Snippet.prototype.evaluate):
2073         (WebInspector.SnippetsScriptMapping):
2074         (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation.get if):
2075         (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation):
2076         (WebInspector.SnippetsScriptMapping.prototype._releasedUISourceCodes):
2077         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
2078         (WebInspector.SnippetsScriptMapping.prototype._snippetWillBeEvaluated):
2079         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
2080         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):
2081
2082 2012-03-15  Kevin Ollivier  <kevino@theolliviers.com>
2083
2084         [wx] Unreviewed. Build fixes for Mac and DOM bindings.
2085
2086         * bindings/cpp/WebDOMEventTarget.cpp:
2087         (toWebKit):
2088         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2089         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
2090
2091 2012-03-14  Pavel Podivilov  <podivilov@chromium.org>
2092
2093         Web Inspector: extract CompilerScriptMapping from RawSourceCode.
2094         https://bugs.webkit.org/show_bug.cgi?id=81088
2095
2096         Reviewed by Vsevolod Vlasov.
2097
2098         * WebCore.gypi:
2099         * WebCore.vcproj/WebCore.vcproj:
2100         * inspector/compile-front-end.py:
2101         * inspector/front-end/CompilerScriptMapping.js: Added.
2102         (WebInspector.CompilerScriptMapping):
2103         (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
2104         (WebInspector.CompilerScriptMapping.prototype.get uiSourceCodeList):
2105         (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
2106         (WebInspector.CompilerScriptMapping.prototype.addScript):
2107         (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
2108         (WebInspector.CompilerScriptMapping.prototype.reset):
2109         * inspector/front-end/RawSourceCode.js:
2110         (WebInspector.RawSourceCode):
2111         (WebInspector.RawSourceCode.prototype.setFormatted):
2112         (WebInspector.RawSourceCode.prototype._resourceFinished):
2113         (WebInspector.RawSourceCode.prototype._createUISourceCode):
2114         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
2115         * inspector/front-end/ResourceScriptMapping.js:
2116         (WebInspector.ResourceScriptMapping.prototype.addScript):
2117         * inspector/front-end/ScriptMapping.js:
2118         (WebInspector.MainScriptMapping):
2119         * inspector/front-end/WebKit.qrc:
2120         * inspector/front-end/inspector.html:
2121
2122 2012-03-15  Peter Rybin  <peter.rybin@gmail.com>
2123
2124         Web Inspector: Move all includes behind ENABLE(INSPECTOR) guards
2125         https://bugs.webkit.org/show_bug.cgi?id=81132
2126
2127         Reviewed by Yury Semikhatsky.
2128
2129         Include directives are moved several lines down in .cpp files and in
2130         generator templates.
2131
2132         * inspector/CodeGeneratorInspector.py:
2133         * inspector/ContentSearchUtils.cpp:
2134         * inspector/DOMEditor.cpp:
2135         * inspector/DOMNodeHighlighter.cpp:
2136         * inspector/DOMPatchSupport.cpp:
2137         * inspector/IdentifiersFactory.cpp:
2138         * inspector/InjectedScript.cpp:
2139         * inspector/InjectedScriptHost.cpp:
2140         * inspector/InjectedScriptManager.cpp:
2141         * inspector/InspectorAgent.cpp:
2142         * inspector/InspectorApplicationCacheAgent.cpp:
2143         * inspector/InspectorBaseAgent.cpp:
2144         * inspector/InspectorCSSAgent.cpp:
2145         * inspector/InspectorClient.cpp:
2146         * inspector/InspectorConsoleAgent.cpp:
2147         * inspector/InspectorController.cpp:
2148         * inspector/InspectorCounters.cpp:
2149         * inspector/InspectorDOMAgent.cpp:
2150         * inspector/InspectorDOMDebuggerAgent.cpp:
2151         * inspector/InspectorDOMStorageAgent.cpp:
2152         * inspector/InspectorDatabaseAgent.cpp:
2153         * inspector/InspectorDatabaseResource.cpp:
2154         * inspector/InspectorDebuggerAgent.cpp:
2155         * inspector/InspectorFileSystemAgent.cpp:
2156         * inspector/InspectorFrontendClientLocal.cpp:
2157         * inspector/InspectorFrontendHost.cpp:
2158         * inspector/InspectorHistory.cpp:
2159         * inspector/InspectorIndexedDBAgent.cpp:
2160         * inspector/InspectorInstrumentation.cpp:
2161         * inspector/InspectorMemoryAgent.cpp:
2162         * inspector/InspectorPageAgent.cpp:
2163         * inspector/InspectorProfilerAgent.cpp:
2164         * inspector/InspectorResourceAgent.cpp:
2165         * inspector/InspectorRuntimeAgent.cpp:
2166         * inspector/InspectorState.cpp:
2167         * inspector/InspectorStyleSheet.cpp:
2168         * inspector/InspectorStyleTextEditor.cpp:
2169         * inspector/InspectorTimelineAgent.cpp:
2170         * inspector/InspectorValues.cpp:
2171         * inspector/InstrumentingAgents.cpp:
2172         * inspector/NetworkResourcesData.cpp:
2173         * inspector/PageConsoleAgent.cpp:
2174         * inspector/PageDebuggerAgent.cpp:
2175         * inspector/PageRuntimeAgent.cpp:
2176         * inspector/TimelineRecordFactory.cpp:
2177         * inspector/WorkerConsoleAgent.cpp:
2178         * inspector/WorkerDebuggerAgent.cpp:
2179         * inspector/WorkerRuntimeAgent.cpp:
2180
2181 2012-03-15  Yury Semikhatsky  <yurys@chromium.org>
2182
2183         Web Inspector: improve HeapSnapshot._buildReversIndex performance
2184         https://bugs.webkit.org/show_bug.cgi?id=81224
2185
2186         Caching node indexes and node count in local variables instead of
2187         calling getters each time reduces the method run time by
2188         factor of 1.5
2189
2190         Reviewed by Pavel Feldman.
2191
2192         * inspector/front-end/HeapSnapshot.js:
2193         (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
2194
2195 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
2196
2197         SVG Animations update baseVal instead of animVal
2198         https://bugs.webkit.org/show_bug.cgi?id=12437
2199
2200         Rubber-stamped by Rob Buis.
2201
2202         Rename constructFromCopy to constructFromVariant, and currentBaseValue to currentBaseValueVariant, to clarify what it actually does.
2203
2204         * svg/SVGAnimateElement.cpp:
2205         (WebCore::SVGAnimateElement::resetToBaseValue):
2206         * svg/SVGAnimatedLength.cpp:
2207         (WebCore::SVGAnimatedLengthAnimator::constructFromVariant):
2208         * svg/SVGAnimatedLength.h:
2209         (SVGAnimatedLengthAnimator):
2210         * svg/SVGAnimatedLengthList.cpp:
2211         (WebCore::SVGAnimatedLengthListAnimator::constructFromVariant):
2212         * svg/SVGAnimatedLengthList.h:
2213         (SVGAnimatedLengthListAnimator):
2214         * svg/SVGAnimatedNumber.cpp:
2215         (WebCore::SVGAnimatedNumberAnimator::constructFromVariant):
2216         * svg/SVGAnimatedNumber.h:
2217         (SVGAnimatedNumberAnimator):
2218         * svg/SVGAnimatedNumberList.cpp:
2219         (WebCore::SVGAnimatedNumberListAnimator::constructFromVariant):
2220         * svg/SVGAnimatedNumberList.h:
2221         (SVGAnimatedNumberListAnimator):
2222         * svg/SVGAnimatedTransformList.cpp:
2223         (WebCore::SVGAnimatedTransformListAnimator::constructFromVariant):
2224         * svg/SVGAnimatedTransformList.h:
2225         (SVGAnimatedTransformListAnimator):
2226         * svg/SVGAnimatedTypeAnimator.h:
2227         (WebCore::SVGAnimatedTypeAnimator::constructFromVariant):
2228         * svg/properties/SVGAnimatedListPropertyTearOff.h:
2229         (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValueVariant):
2230         * svg/properties/SVGAnimatedProperty.h:
2231         (SVGAnimatedProperty):
2232         * svg/properties/SVGAnimatedPropertyTearOff.h:
2233         (WebCore::SVGAnimatedPropertyTearOff::currentBaseValueVariant):
2234         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
2235         (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValueVariant):
2236
2237 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
2238
2239         Enable animVal support for SVGNumberList
2240         https://bugs.webkit.org/show_bug.cgi?id=81219
2241
2242         Reviewed by Rob Buis.
2243
2244         Enable animVal support for SVGNumberList. Easy patch, we just need to add the missing
2245         constructFromCopy() method to SVGAnumatedNumberListAnimator and report AnimatedNumberList
2246         as supporting animVal.
2247
2248         Covered by existing tests.
2249
2250         * svg/SVGAnimatedNumberList.cpp:
2251         (WebCore::SVGAnimatedNumberListAnimator::constructFromCopy):
2252         (WebCore):
2253         * svg/SVGAnimatedNumberList.h:
2254         (WebCore):
2255         (SVGAnimatedNumberListAnimator):
2256         * svg/SVGAnimatedType.cpp:
2257         (WebCore::SVGAnimatedType::supportsAnimVal):
2258         (WebCore::SVGAnimatedType::setVariantValue):
2259
2260 2012-03-15  Rob Buis  <rbuis@rim.com>
2261
2262         Fix cast-align GCC warnings
2263         https://bugs.webkit.org/show_bug.cgi?id=80790
2264
2265         Reviewed by Nikolas Zimmermann.
2266
2267         * platform/graphics/WOFFFileFormat.cpp:
2268         (WebCore::writeUInt32):
2269         (WebCore::writeUInt16):
2270         (WebCore::convertWOFFToSfnt):
2271
2272 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
2273
2274         Not reviewed. Forgot to preserve copyrights, per reviewer comment.
2275
2276         * svg/SVGAnimatedTransformList.cpp:
2277
2278 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
2279
2280         Enable animVal support for SVGNumber
2281         https://bugs.webkit.org/show_bug.cgi?id=81212
2282
2283         Reviewed by Rob Buis.
2284
2285         Enable animVal support for SVGNumber. This aligns SVGAnimatedStaticPropertyTearOff,
2286         with the other SVGListPropertyTearOff & SVGPropertyTearOff, as all support animVal now.
2287         Converting the rest of the types can be done in small patches now.
2288
2289         Test: svg/animations/svgnumber-animation-4.html
2290
2291         * svg/SVGAnimatedNumber.cpp:
2292         (WebCore::SVGAnimatedNumberAnimator::constructFromCopy):
2293         (WebCore):
2294         * svg/SVGAnimatedNumber.h:
2295         (WebCore):
2296         (SVGAnimatedNumberAnimator):
2297         * svg/SVGAnimatedType.cpp:
2298         (WebCore::SVGAnimatedType::supportsAnimVal):
2299         (WebCore::SVGAnimatedType::setVariantValue):
2300         * svg/properties/SVGAnimatedProperty.h:
2301         (SVGAnimatedProperty):
2302         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
2303         (WebCore::SVGAnimatedStaticPropertyTearOff::animVal):
2304         (WebCore::SVGAnimatedStaticPropertyTearOff::currentAnimatedValue):
2305         (SVGAnimatedStaticPropertyTearOff):
2306         (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValue):
2307         (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
2308         (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
2309         (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueWillChange):
2310         (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueDidChange):
2311         (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
2312
2313 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
2314
2315         Enable animVal support for SVGTransformList
2316         https://bugs.webkit.org/show_bug.cgi?id=80758
2317
2318         Reviewed by Antti Koivisto.
2319
2320         Enable animVal support for SVGTransformList. SVGTransformLists are only animatable
2321         via <animateTransform>, not via <animate> directly. Still we can handle it in the
2322         same framework as all other types used for <animate>, as we also need proper animVal
2323         support for <animateTransform>.
2324
2325         This patch removes the special <animateTransform> implementation, and lets
2326         SVGAnimateTransformElement inherit from SVGAnimateElement, just like its done
2327         for SVGAnimateColorElement & SVGSetElement.
2328
2329         All existing code (calculateFromAndToValues/FromAndByValues/etc..) are moved from
2330         SVGAnimateTransform right into the SVGAnimatedTransformListAnimator.
2331
2332         This doesn't change <animateTransform> behavior, it just simplies the code
2333         and enables animVal support for SVGTransformLists - all covered by existing tests.
2334
2335         * CMakeLists.txt:
2336         * GNUmakefile.list.am:
2337         * Target.pri:
2338         * WebCore.gypi:
2339         * WebCore.xcodeproj/project.pbxproj:
2340         * svg/SVGAllInOne.cpp:
2341         * svg/SVGAnimateElement.cpp:
2342         (WebCore::SVGAnimateElement::SVGAnimateElement):
2343         (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
2344         (WebCore::SVGAnimateElement::calculateAnimatedValue):
2345         (WebCore::SVGAnimateElement::applyResultsToTarget):
2346         * svg/SVGAnimateTransformElement.cpp:
2347         (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
2348         (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
2349         (WebCore::SVGAnimateTransformElement::parseAttribute):
2350         * svg/SVGAnimateTransformElement.h:
2351         (WebCore::SVGAnimateTransformElement::transformType):
2352         (SVGAnimateTransformElement):
2353         * svg/SVGAnimatedTransformList.cpp: Added.
2354         (WebCore):
2355         (WebCore::SVGAnimatedTransformListAnimator::SVGAnimatedTransformListAnimator):
2356         (WebCore::SVGAnimatedTransformListAnimator::constructFromString):
2357         (WebCore::SVGAnimatedTransformListAnimator::constructFromCopy):
2358         (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndToValues):
2359         (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndByValues):
2360         (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
2361         (WebCore::SVGAnimatedTransformListAnimator::calculateDistance):
2362         * svg/SVGAnimatedTransformList.h:
2363         (WebCore):
2364         (SVGAnimatedTransformListAnimator):
2365         (WebCore::SVGAnimatedTransformListAnimator::~SVGAnimatedTransformListAnimator):
2366         * svg/SVGAnimatedType.cpp:
2367         (WebCore::SVGAnimatedType::~SVGAnimatedType):
2368         (WebCore::SVGAnimatedType::createTransformList):
2369         (WebCore):
2370         (WebCore::SVGAnimatedType::transformList):
2371         (WebCore::SVGAnimatedType::valueAsString):
2372         (WebCore::SVGAnimatedType::setValueAsString):
2373         (WebCore::SVGAnimatedType::supportsAnimVal):
2374         (WebCore::SVGAnimatedType::setVariantValue):
2375         * svg/SVGAnimatedType.h:
2376         (WebCore):
2377         (SVGAnimatedType):
2378         * svg/SVGAnimatorFactory.h:
2379         (WebCore::SVGAnimatorFactory::create):
2380         * svg/SVGGradientElement.cpp:
2381         (WebCore::SVGGradientElement::parseAttribute):
2382         * svg/SVGPatternElement.cpp:
2383         (WebCore::SVGPatternElement::parseAttribute):
2384         * svg/SVGStyledTransformableElement.cpp:
2385         (WebCore::SVGStyledTransformableElement::parseAttribute):
2386         * svg/SVGTextElement.cpp:
2387         (WebCore::SVGTextElement::parseAttribute):
2388         * svg/SVGTransform.cpp:
2389         (WebCore::SVGTransform::transformTypePrefixForParsing):
2390         (WebCore):
2391         (WebCore::SVGTransform::valueAsString):
2392         * svg/SVGTransform.h:
2393         (SVGTransform):
2394         * svg/SVGTransformList.cpp:
2395         (WebCore::SVGTransformList::parse):
2396         (WebCore):
2397         * svg/SVGTransformList.h:
2398         (SVGTransformList):
2399         * svg/SVGTransformable.cpp:
2400         (WebCore::SVGTransformable::parseTransformType):
2401         * svg/SVGTransformable.h:
2402         (WebCore):
2403         * svg/SVGViewSpec.cpp:
2404         (WebCore::SVGViewSpec::setTransform):
2405
2406 2012-03-13  Nikolas Zimmermann  <nzimmermann@rim.com>
2407
2408         Enable animVal support for SVGLengthList
2409         https://bugs.webkit.org/show_bug.cgi?id=80750
2410
2411         Reviewed by Zoltan Herczeg.
2412
2413         Introduce animVal support for generic SVGList types. This aligns SVGListProperty with SVGProperty
2414         in terms of animVal/baseVal support. Use this to turn on animVal support for SVGLengthList.
2415
2416         Extend all existing SVGLengthList tests to correctly differentiate between baseVal/animVal.
2417
2418         * svg/SVGAnimateElement.cpp:
2419         (WebCore::SVGAnimateElement::calculateAnimatedValue):
2420         * svg/SVGAnimateTransformElement.cpp:
2421         (WebCore::SVGAnimateTransformElement::resetToBaseValue):
2422         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
2423         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
2424         * svg/SVGAnimatedLengthList.cpp:
2425         (WebCore::SVGAnimatedLengthListAnimator::constructFromCopy):
2426         (WebCore):
2427         * svg/SVGAnimatedLengthList.h:
2428         (WebCore):
2429         (SVGAnimatedLengthListAnimator):
2430         * svg/SVGAnimatedType.cpp:
2431         (WebCore::SVGAnimatedType::supportsAnimVal):
2432         (WebCore::SVGAnimatedType::setVariantValue):
2433         * svg/SVGAnimatedType.h:
2434         * svg/SVGAnimationElement.cpp:
2435         (WebCore::SVGAnimationElement::applyAnimatedValue):
2436         * svg/properties/SVGAnimatedListPropertyTearOff.h:
2437         (SVGAnimatedListPropertyTearOff):
2438         (WebCore::SVGAnimatedListPropertyTearOff::baseVal):
2439         (WebCore::SVGAnimatedListPropertyTearOff::animVal):
2440         (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
2441         (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
2442         (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
2443         (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue):
2444         (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
2445         (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
2446         (WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded):
2447         (WebCore::SVGAnimatedListPropertyTearOff::animationValueWillChange):
2448         (WebCore::SVGAnimatedListPropertyTearOff::animationValueDidChange):
2449         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
2450         (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
2451         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
2452         * svg/properties/SVGAnimatedProperty.h:
2453         (WebCore::SVGAnimatedProperty::isAnimating):
2454         (SVGAnimatedProperty):
2455         (WebCore::SVGAnimatedProperty::animationValueWillChange):
2456         (WebCore::SVGAnimatedProperty::animationValueDidChange):
2457         (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
2458         (WebCore::SVGAnimatedProperty::SVGAnimatedProperty):
2459         * svg/properties/SVGAnimatedPropertyTearOff.h:
2460         (SVGAnimatedPropertyTearOff):
2461         (WebCore::SVGAnimatedPropertyTearOff::baseVal):
2462         (WebCore::SVGAnimatedPropertyTearOff::animVal):
2463         (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue):
2464         (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
2465         (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
2466         (WebCore::SVGAnimatedPropertyTearOff::animationValueWillChange):
2467         (WebCore::SVGAnimatedPropertyTearOff::animationValueDidChange):
2468         (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff):
2469         * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
2470         (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
2471         (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
2472         * svg/properties/SVGListProperty.h:
2473         (WebCore::SVGListProperty::detachListWrappers):
2474         (SVGListProperty):
2475         (WebCore::SVGListProperty::setValuesAndWrappers):
2476         (WebCore::SVGListProperty::clearValues):
2477         (WebCore::SVGListProperty::clearValuesAndWrappers):
2478         (WebCore::SVGListProperty::numberOfItems):
2479         (WebCore::SVGListProperty::initializeValues):
2480         (WebCore::SVGListProperty::initializeValuesAndWrappers):
2481         (WebCore::SVGListProperty::canGetItem):
2482         (WebCore::SVGListProperty::getItemValues):
2483         (WebCore::SVGListProperty::getItemValuesAndWrappers):
2484         (WebCore::SVGListProperty::insertItemBeforeValues):
2485         (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
2486         (WebCore::SVGListProperty::canReplaceItem):
2487         (WebCore::SVGListProperty::replaceItemValues):
2488         (WebCore::SVGListProperty::replaceItemValuesAndWrappers):
2489         (WebCore::SVGListProperty::canRemoveItem):
2490         (WebCore::SVGListProperty::removeItemValues):
2491         (WebCore::SVGListProperty::removeItemValuesAndWrappers):
2492         (WebCore::SVGListProperty::appendItemValues):
2493         (WebCore::SVGListProperty::appendItemValuesAndWrappers):
2494         (WebCore::SVGListProperty::values):
2495         (WebCore::SVGListProperty::wrappers):
2496         (WebCore::SVGListProperty::SVGListProperty):
2497         * svg/properties/SVGListPropertyTearOff.h:
2498         (SVGListPropertyTearOff):
2499         (WebCore::SVGListPropertyTearOff::create):
2500         (WebCore::SVGListPropertyTearOff::removeItemFromList):
2501         (WebCore::SVGListPropertyTearOff::clear):
2502         (WebCore::SVGListPropertyTearOff::initialize):
2503         (WebCore::SVGListPropertyTearOff::insertItemBefore):
2504         (WebCore::SVGListPropertyTearOff::replaceItem):
2505         (WebCore::SVGListPropertyTearOff::appendItem):
2506         (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
2507         (WebCore::SVGListPropertyTearOff::commitChange):
2508         * svg/properties/SVGPathSegListPropertyTearOff.cpp:
2509         (WebCore::SVGPathSegListPropertyTearOff::clear):
2510         (WebCore::SVGPathSegListPropertyTearOff::getItem):
2511         (WebCore::SVGPathSegListPropertyTearOff::removeItem):
2512         * svg/properties/SVGPathSegListPropertyTearOff.h:
2513         (WebCore::SVGPathSegListPropertyTearOff::create):
2514         (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
2515         (SVGPathSegListPropertyTearOff):
2516         (WebCore::SVGPathSegListPropertyTearOff::initialize):
2517         (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
2518         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
2519         (WebCore::SVGPathSegListPropertyTearOff::appendItem):
2520         (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
2521         (WebCore::SVGPathSegListPropertyTearOff::commitChange):
2522         * svg/properties/SVGPropertyInfo.h:
2523         * svg/properties/SVGStaticListPropertyTearOff.h:
2524         (SVGStaticListPropertyTearOff):
2525         (WebCore::SVGStaticListPropertyTearOff::clear):
2526         (WebCore::SVGStaticListPropertyTearOff::initialize):
2527         (WebCore::SVGStaticListPropertyTearOff::getItem):
2528         (WebCore::SVGStaticListPropertyTearOff::insertItemBefore):
2529         (WebCore::SVGStaticListPropertyTearOff::replaceItem):
2530         (WebCore::SVGStaticListPropertyTearOff::removeItem):
2531         (WebCore::SVGStaticListPropertyTearOff::appendItem):
2532         (WebCore::SVGStaticListPropertyTearOff::SVGStaticListPropertyTearOff):
2533         (WebCore::SVGStaticListPropertyTearOff::commitChange):
2534         * svg/properties/SVGTransformListPropertyTearOff.h:
2535         (WebCore::SVGTransformListPropertyTearOff::create):
2536         (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
2537         (WebCore::SVGTransformListPropertyTearOff::consolidate):
2538         (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff):
2539
2540 2012-03-14  Chris Fleizach  <cfleizach@apple.com>
2541
2542         AXDescription for HTML5 footer
2543         https://bugs.webkit.org/show_bug.cgi?id=78967
2544
2545         Return a unique role description for the footer element.
2546
2547         Reviewed by Beth Dakin.
2548
2549         Test: platform/mac/accessibility/footer-roledescription.html
2550
2551         * English.lproj/Localizable.strings:+
2552         * accessibility/AccessibilityObject.h:
2553         * accessibility/AccessibilityRenderObject.cpp:
2554         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2555         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2556         (createAccessibilityRoleMap):
2557         (-[WebAccessibilityObjectWrapper subrole]):
2558         (-[WebAccessibilityObjectWrapper roleDescription]):
2559         * platform/LocalizedStrings.cpp:
2560         (WebCore::AXFooterRoleDescriptionText):
2561         (WebCore):
2562         * platform/LocalizedStrings.h:
2563         (WebCore):
2564         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
2565         (WebCore::AXFooterRoleDescriptionText):
2566         (WebCore):
2567         * platform/efl/LocalizedStringsEfl.cpp:
2568         (WebCore::AXFooterRoleDescriptionText):
2569         (WebCore):
2570         * platform/gtk/LocalizedStringsGtk.cpp:
2571         (WebCore::AXFooterRoleDescriptionText):
2572         (WebCore):
2573
2574 2012-03-14  Mark Rowe  <mrowe@apple.com>
2575
2576         <http://webkit.org/b/81193> Ensure libWebCoreTestSupport.dylib's library identifier is set appropriately for all configurations.
2577
2578         Reviewed by Dan Bernstein.
2579
2580         * Configurations/WebCoreTestSupport.xcconfig: Switch to setting DYLIB_INSTALL_NAME_BASE
2581         rather than LD_DYLIB_INSTALL_NAME. The latter is derived from the former. Ensure that
2582         DYLIB_INSTALL_NAME_BASE is also set for the Production configuration.
2583
2584 2012-03-14  Chris Fleizach  <cfleizach@apple.com>
2585
2586         AXDescription for ARIA role contentinfo incorrect
2587         https://bugs.webkit.org/show_bug.cgi?id=78967
2588
2589         Reviewed by Beth Dakin.
2590
2591         Test: platform/mac/accessibility/aria-grouping-roles.html
2592
2593         * English.lproj/Localizable.strings:
2594         * platform/LocalizedStrings.cpp:
2595         (WebCore::AXARIAContentGroupText):
2596
2597 2012-03-14  Chris Fleizach  <cfleizach@apple.com>
2598
2599         AX: ARIA tables need to support selected rows attribute/select rows changed notification
2600         https://bugs.webkit.org/show_bug.cgi?id=79821
2601
2602         Reviewed by Beth Dakin.
2603
2604         Test: platform/mac/accessibility/selected-rows-table.html
2605
2606         * accessibility/AccessibilityARIAGrid.h:
2607         (WebCore::AccessibilityARIAGrid::isMultiSelectable):
2608         (AccessibilityARIAGrid):
2609         * accessibility/AccessibilityRenderObject.cpp:
2610         (WebCore::AccessibilityRenderObject::ariaSelectedRows):
2611         * accessibility/AccessibilityTableRow.cpp:
2612         (WebCore::AccessibilityTableRow::observableObject):
2613         (WebCore):
2614         * accessibility/AccessibilityTableRow.h:
2615         (AccessibilityTableRow):
2616         * accessibility/mac/AXObjectCacheMac.mm:
2617         (WebCore::AXObjectCache::postPlatformNotification):
2618
2619 2012-03-14  James Robinson  <jamesr@chromium.org>
2620
2621         Platforms without USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) don't need to query the page's displayID
2622         https://bugs.webkit.org/show_bug.cgi?id=81187
2623
2624         Reviewed by Simon Fraser.
2625
2626         * dom/Document.cpp:
2627         (WebCore::Document::webkitRequestAnimationFrame):
2628
2629 2012-03-14  Chris Fleizach  <cfleizach@apple.com>
2630
2631         AX: embedded attachments do not report their parents correctly
2632         https://bugs.webkit.org/show_bug.cgi?id=80132
2633
2634         When a WebHTMLView has embedded attachments in it, the AXParent of those attachments is wrong.
2635         It usually points to the AXScrollView of the web area. That's because there has been no way for WebCore to
2636         communicate that this attachment view should actually make believe that it's parent is within the WebCore AX tree.
2637
2638         We can fix that by overriding the AXParent in overriden attributes for items that are attachments.
2639
2640         Reviewed by Beth Dakin.
2641
2642         Not able to construct a layout test because the problem only manifests itself when an AX client connects to WebKit
2643         through the IPC mechanism.
2644
2645         * accessibility/AccessibilityObject.cpp:
2646         (WebCore::AccessibilityObject::detachFromParent):
2647         * accessibility/AccessibilityObject.h:
2648         (AccessibilityObject):
2649         (WebCore::AccessibilityObject::overrideAttachmentParent):
2650         * accessibility/AccessibilityRenderObject.cpp:
2651         (WebCore::AccessibilityRenderObject::updateAttachmentViewParents):
2652         (WebCore::AccessibilityRenderObject::addChildren):
2653         * accessibility/AccessibilityRenderObject.h:
2654         (AccessibilityRenderObject):
2655         * accessibility/mac/AccessibilityObjectMac.mm:
2656         (WebCore::AccessibilityObject::overrideAttachmentParent):
2657
2658 2012-03-14  Ryosuke Niwa  <rniwa@webkit.org>
2659
2660         Improve ContainerNode's collectNodes() performance
2661         https://bugs.webkit.org/show_bug.cgi?id=80706
2662
2663         Reviewed by Antti Koivisto.
2664
2665         Bump up the size of stack allocated buffer from 1 to 11. According to the rough study I conducted,
2666         this would cover 99.5% of all node collection.
2667
2668         Note: the actual code change was made in r110797 but I somehow mangled my patches.
2669
2670         * dom/ContainerNode.cpp:
2671         (WebCore):
2672
2673 2012-03-14  Seo Sanghyeon  <sh4.seo@samsung.com>
2674
2675         Cleanup semicolons in IDLs
2676         https://bugs.webkit.org/show_bug.cgi?id=81129
2677
2678         Reviewed by Kentaro Hara.
2679
2680         No tests. No change in behavior.
2681
2682         * svg/SVGAnimateColorElement.idl:
2683         * svg/SVGAnimateElement.idl:
2684         * svg/SVGAnimateTransformElement.idl:
2685         * svg/SVGAnimatedRect.idl:
2686
2687 2012-03-14  Hayato Ito  <hayato@chromium.org>
2688
2689         Make ShadowRoot.activeElement return null if it does not contain a focused element.
2690         https://bugs.webkit.org/show_bug.cgi?id=81097
2691
2692         Reviewed by Dimitri Glazkov.
2693
2694         * dom/TreeScope.cpp:
2695         (WebCore::TreeScope::activeElement):
2696
2697 2012-03-14  Matt Falkenhagen  <falken@chromium.org>
2698
2699         Allow per-script font settings to be specified in layout tests
2700         https://bugs.webkit.org/show_bug.cgi?id=78184
2701
2702         Reviewed by Hajime Morita.
2703
2704         This adds per-script font settings to InternalSettings, so it can be used in layout tests instead of
2705         the per-script font settings support in DumpRenderTree overridePreference, which has only been implemented
2706         for Chromium so far.
2707
2708         Test: changed fast/text/international/locale-sensitive-fonts.html to use InternalSettings
2709         instead of overridePreference.
2710
2711         * WebCore.exp.in: Added symbols.
2712         * platform/text/LocaleToScriptMapping.h: Added scriptNameToCode used by InternalSettings.
2713         (WebCore):
2714         * platform/text/LocaleToScriptMappingDefault.cpp:
2715         (WebCore::scriptNameToCode):
2716         (WebCore::localeToScriptCodeForFontSelection):
2717         * platform/text/LocaleToScriptMappingICU.cpp:
2718         (WebCore::scriptNameToCode):
2719         (WebCore):
2720         * testing/InternalSettings.cpp: Added per-script font settings.
2721         (WebCore):
2722         (WebCore::setFontFamily):
2723         (WebCore::InternalSettings::setStandardFontFamily):
2724         (WebCore::InternalSettings::setSerifFontFamily):
2725         (WebCore::InternalSettings::setSansSerifFontFamily):
2726         (WebCore::InternalSettings::setFixedFontFamily):
2727         (WebCore::InternalSettings::setCursiveFontFamily):
2728         (WebCore::InternalSettings::setFantasyFontFamily):
2729         (WebCore::InternalSettings::setPictographFontFamily):
2730         * testing/InternalSettings.h:
2731         (InternalSettings):
2732         * testing/InternalSettings.idl:
2733
2734 2012-03-14  Kwonjin Jeong  <gram@company100.net>
2735
2736         Remove obsolete constructors of CSSPrimitiveValue class.
2737         https://bugs.webkit.org/show_bug.cgi?id=80971
2738
2739         Remove constructors of CSSPrimitiveValue that can't be
2740         reached.
2741
2742         Reviewed by Andreas Kling.
2743
2744         * css/CSSPrimitiveValueMappings.h:
2745
2746 2012-03-14  Igor Oliveira  <igor.o@sisa.samsung.com>
2747
2748         Split the extra logic out of RenderBlock::updateFirstLetter
2749         https://bugs.webkit.org/show_bug.cgi?id=80772
2750
2751         Reviewed by Julien Chaffraix.
2752
2753         No change in behavior expected.
2754
2755         * rendering/RenderBlock.cpp:
2756         (WebCore::RenderBlock::updateFirstLetterStyle):
2757         (WebCore::RenderBlock::createFirstLetterRenderer):
2758         (WebCore::RenderBlock::updateFirstLetter):
2759         (WebCore):
2760         * rendering/RenderBlock.h:
2761         (RenderBlock):
2762
2763 2012-03-14  Anders Carlsson  <andersca@apple.com>
2764
2765         Fix build.
2766
2767         * html/track/TextTrackList.cpp:
2768
2769 2012-03-14  Ryosuke Niwa  <rniwa@webkit.org>
2770
2771         Build fix.
2772
2773         * dom/DynamicNodeList.h:
2774         (DynamicSubtreeNodeList):
2775
2776 2012-03-14  Ryosuke Niwa  <rniwa@webkit.org>
2777
2778         (register|unregister)DynamicSubtreeNodeList should be called only for labels and regions node lists
2779         https://bugs.webkit.org/show_bug.cgi?id=80900
2780
2781         Reviewed by Andreas Kling.
2782
2783         Cleaned up invalidation code for dynamic node lists. It seems like the existing code was utterly confused
2784         about the lifetime of node lists and caches within them. First, register/unregsiterDynamicSubtreeNodeList
2785         are called for all dynamic node lists even though it's only useful for labels and region node lists since
2786         it's a mechanism to allow node lists to be invalidated at a node to which the node list doesn't belong.
2787
2788         Second, some node lists had dedicated member functions on Node to explicitly invalidate caches in
2789         parsedAttribute. However, this is redundant because invalidateNodeListsCacheAfterAttributeChanged should be
2790         able to invalidate caches when the attribute value changes. This patch gets rid of the last instance of such
2791         function in HTMLLabelElement.
2792
2793         And finally, this patch restricts the callers of DynamicSubtreeNodeList::invalidateCache to be member
2794         functions of NodeListsNodeData (now friends of DynamicSubtreeNodeList) to allow futher refactoring.
2795
2796         * dom/DynamicNodeList.cpp:
2797         (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList): Don't register the node list since it's only
2798         useful for labels and region node lists.
2799         (WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList): Ditto.
2800         * dom/DynamicNodeList.h:
2801         (DynamicSubtreeNodeList):
2802         * dom/Node.cpp:
2803         (WebCore):
2804         (WebCore::Node::registerDynamicSubtreeNodeList): The comment about now we have to invalidate caches
2805         when there had no caches is incorrect because registerDynamicSubtreeNodeList is called when a node list
2806         is initially created. Also, if the tree scope didn't have any caches, then this is the first node list
2807         to be added to the list, so there's no point in calling InvalidateCaches (no-op).
2808         (WebCore::Node::unregisterDynamicSubtreeNodeList):
2809         (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Take care of "for" content attribute.
2810         Also remove the redundant call to removeNodeListCacheIfPossible since we only invalidates node lists
2811         and never remove entries from NodeListsNodeData in this function.
2812         (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): The call to removeNodeListCacheIfPossible
2813         is also redundant here. Also removed the invalidation of m_listsWithCaches since it's already done in
2814         invalidateCaches via invalidateCachesThatDependOnAttributes.
2815         (WebCore::NodeListsNodeData::invalidateCaches): Removed the invalidation of m_labelsNodeListCache. It's
2816         done in invalidateCachesThatDependOnAttributes.
2817         (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Invalidate
2818         m_listsInvalidatedAtDocument, which is renamed from m_listsWithCaches.
2819         (WebCore::NodeListsNodeData::isEmpty):
2820         * dom/Node.h:
2821         (Node):
2822         * dom/NodeRareData.h:
2823         (NodeListsNodeData):
2824         * html/HTMLLabelElement.cpp:
2825         (WebCore): Removed parseAttribute since the invalidation labels node list is now done by
2826         invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged.
2827         * html/HTMLLabelElement.h:
2828         (HTMLLabelElement):
2829         * html/LabelsNodeList.cpp:
2830         (WebCore::LabelsNodeList::LabelsNodeList):
2831         (WebCore::LabelsNodeList::~LabelsNodeList):
2832
2833 2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2834
2835         Unreviewed, rolling out r110565.
2836         http://trac.webkit.org/changeset/110565
2837         https://bugs.webkit.org/show_bug.cgi?id=81173
2838
2839         chromium deps are now far enough along that the original cl
2840         should work (Requested by thakis on #webkit).
2841
2842         * WebCore.gyp/mac/adjust_visibility.sh:
2843
2844 2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2845
2846         Unreviewed, rolling out r110641.
2847         http://trac.webkit.org/changeset/110641
2848         https://bugs.webkit.org/show_bug.cgi?id=81170
2849
2850         Causes an ASAN failure (Requested by abarth on #webkit).
2851
2852         * Target.pri:
2853         * UseV8.cmake:
2854         * WebCore.gypi:
2855         * bindings/scripts/CodeGeneratorJS.pm:
2856         (GenerateHeader):
2857         (GenerateImplementation):
2858         * bindings/scripts/CodeGeneratorV8.pm:
2859         (GenerateHeader):
2860         (GenerateNamedConstructorCallback):
2861         (GenerateImplementation):
2862         * bindings/scripts/IDLAttributes.txt:
2863         * bindings/scripts/test/V8/V8Float64Array.cpp:
2864         (WebCore):
2865         * bindings/scripts/test/V8/V8Float64Array.h:
2866         (V8Float64Array):
2867         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2868         (WebCore):
2869         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2870         (V8TestActiveDOMObject):
2871         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2872         (WebCore):
2873         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2874         (V8TestCustomNamedGetter):
2875         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2876         (WebCore):
2877         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2878         (V8TestEventConstructor):
2879         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2880         (WebCore):
2881         * bindings/scripts/test/V8/V8TestEventTarget.h:
2882         (V8TestEventTarget):
2883         * bindings/scripts/test/V8/V8TestInterface.cpp:
2884         (WebCore):
2885         * bindings/scripts/test/V8/V8TestInterface.h:
2886         (V8TestInterface):
2887         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2888         (WebCore):
2889         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2890         (V8TestMediaQueryListListener):
2891         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2892         (WebCore):
2893         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2894         (V8TestNamedConstructor):
2895         * bindings/scripts/test/V8/V8TestObj.cpp:
2896         (WebCore):
2897         * bindings/scripts/test/V8/V8TestObj.h:
2898         (V8TestObj):
2899         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2900         (WebCore):
2901         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2902         (V8TestSerializedScriptValueInterface):
2903         * bindings/v8/NPV8Object.cpp:
2904         (WebCore::npObjectTypeInfo):
2905         * bindings/v8/V8GCController.cpp:
2906         (WebCore::GrouperVisitor::visitDOMWrapper):
2907         * bindings/v8/WrapperTypeInfo.h:
2908         (WebCore):
2909         (WrapperTypeInfo):
2910         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
2911         (WebCore):
2912         (WebCore::toV8):
2913         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2914         (WebCore::toV8):
2915         (WebCore):
2916         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
2917         (WebCore):
2918         (WebCore::toV8):
2919         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2920         (WebCore):
2921         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2922         (WebCore::toV8):
2923         (WebCore):
2924         * bindings/v8/custom/V8StyleSheetCustom.cpp:
2925         (WebCore::toV8):
2926         * css/CSSStyleSheet.idl:
2927         * css/StyleSheet.idl:
2928         * dom/DOMStringMap.idl:
2929         * dom/NamedNodeMap.idl:
2930         * html/DOMTokenList.idl:
2931         * html/track/TextTrackList.cpp:
2932         * html/track/TextTrackList.idl:
2933
2934 2012-03-13  Jon Lee  <jonlee@apple.com>
2935
2936         Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
2937         https://bugs.webkit.org/show_bug.cgi?id=80922
2938         <rdar://problem/11035082>
2939
2940         Reviewed by Jian Li.
2941
2942         You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
2943         LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
2944         new API. Therefore, APIs that are common between the two will have:
2945         #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
2946
2947         This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
2948         the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.
2949
2950         * bindings/scripts/InFilesCompiler.pm: Update the script to handle the "|" flag in a conditional.
2951         (preferredConditional):
2952         (conditionalStringFromAttributeValue):
2953         (generateInterfacesHeader):
2954         (generateHeadersHeader):
2955
2956         Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
2957         * WebCore.exp.in:
2958         * bindings/cpp/WebDOMEventTarget.cpp:
2959         (toWebKit):
2960         * bindings/js/JSDesktopNotificationsCustom.cpp:
2961         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2962         * dom/EventTargetFactory.in:
2963         * notifications/Notification.cpp:
2964         * notifications/Notification.h:
2965         * notifications/Notification.idl:
2966         * notifications/NotificationCenter.cpp:
2967         * notifications/NotificationCenter.h:
2968         * notifications/NotificationCenter.idl:
2969         * notifications/NotificationContents.h:
2970         * notifications/NotificationController.cpp:
2971         * notifications/NotificationController.h:
2972         * page/DOMWindow.cpp:
2973         (WebCore::DOMWindow::~DOMWindow):
2974         (WebCore::DOMWindow::willDetachPage):
2975         (WebCore::DOMWindow::disconnectDOMWindowProperties):
2976         (WebCore::DOMWindow::clearDOMWindowProperties):
2977         (WebCore):
2978         * page/DOMWindow.h:
2979         (DOMWindow):
2980         * page/DOMWindow.idl:
2981         * page/Frame.cpp:
2982         (WebCore::Frame::willDetachPage):
2983         (WebCore::Frame::transferChildFrameToNewDocument):
2984         * workers/WorkerContext.cpp:
2985         (WebCore::WorkerContext::~WorkerContext):
2986         (WebCore):
2987         * workers/WorkerContext.h:
2988         (WorkerContext):
2989         * workers/WorkerContext.idl:
2990         * workers/WorkerThread.cpp:
2991         (WebCore::WorkerThread::WorkerThread):
2992         * workers/WorkerThread.h:
2993         (WorkerThread):
2994
2995 2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2996
2997         Unreviewed, rolling out r110744.
2998         http://trac.webkit.org/changeset/110744
2999         https://bugs.webkit.org/show_bug.cgi?id=81168
3000
3001         Causes many WebAudio tests to crash in debug (Requested by
3002         abarth on #webkit).
3003
3004         * platform/audio/Biquad.cpp:
3005         (WebCore::Biquad::process):
3006
3007 2012-03-14  Brady Eidson  <beidson@apple.com>
3008
3009         <rdar://problem/11045584> and https://bugs.webkit.org/show_bug.cgi?id=81166
3010         Repro crash in compositing/iframes/page-cache-layer-tree.html
3011
3012         Reviewed by Sam Weinig.
3013
3014         No new tests. (Discovered from and covered by existing test)
3015
3016         ScriptCachedFrameData doesn't need to keep a DOMWindow:
3017         * bindings/js/ScriptCachedFrameData.cpp:
3018         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
3019         * bindings/js/ScriptCachedFrameData.h:
3020         (ScriptCachedFrameData):
3021
3022         CachedFrame should grab it off the Frame directly and store it locally:
3023         * history/CachedFrame.cpp:
3024         (WebCore::CachedFrame::CachedFrame):
3025         * history/CachedFrame.h:
3026         (WebCore::CachedFrameBase::domWindow):
3027         (CachedFrameBase):
3028
3029 2012-03-14  Tony Chang  <tony@chromium.org>
3030
3031         fix negative flexing in auto sized columns
3032         https://bugs.webkit.org/show_bug.cgi?id=80069
3033
3034         Reviewed by Ojan Vafai.
3035
3036         New test cases in css3/flexbox/columns-auto-size.html.
3037
3038         * rendering/RenderFlexibleBox.cpp:
3039         (WebCore):
3040         (WebCore::RenderFlexibleBox::computeAvailableFreeSpace): Properly compute this for auto sizing columns. Previously, we would always return 0.
3041         (WebCore::RenderFlexibleBox::layoutFlexItems):
3042         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Drop an unnecessary check against undefined. isSpecified covers this for us.
3043         * rendering/RenderFlexibleBox.h:
3044         (RenderFlexibleBox):
3045
3046 2012-03-14  Grace Ku  <gracek@codeaurora.org>
3047
3048         Incorrect handling of sizes in "em" when first-line changes font size
3049         https://bugs.webkit.org/show_bug.cgi?id=79526
3050
3051         Reviewed by Eric Seidel.
3052
3053         When a first-line pseudo class changes the font size, the "em" unit is handled incorrectly.
3054         It uses the paragraph's original font size (the size of the rest of the paragraph) rather than
3055         the font-size of the first-line of the paragraph.
3056
3057         This was corrected by checking if the InlineFlowBox was the first line using the existing
3058         InlineFlowBox::isFirstLineStyle() function. The corrected behaviour matches Gecko and Presto.
3059         Trident seems to get it half-wrong in the use case we are testing, painting the correct width for
3060         the border but leaving the wrong amount of space.
3061
3062         The CSS specification doc at the time of this patch specifies that ':first-line' should only support
3063         certain properties, though UAs may choose to apply more properties. Furthermore, the spec does not
3064         define the exact rendering of all cases of ':first-line'. It notes that a more precise definition
3065         may appear in future revisions.
3066
3067         Test: fast/css/pseudo-first-line-border-width.html
3068
3069         * rendering/InlineFlowBox.cpp:
3070         (WebCore::InlineFlowBox::paintBoxDecorations):
3071         * rendering/InlineFlowBox.h:
3072         (WebCore::InlineFlowBox::borderLogicalLeft):
3073         (WebCore::InlineFlowBox::borderLogicalRight):
3074         * rendering/RenderBoxModelObject.cpp:
3075         (WebCore::RenderBoxModelObject::paintBorder):
3076         (WebCore::RenderBoxModelObject::getBorderEdgeInfo):
3077         (WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
3078         (WebCore::RenderBoxModelObject::borderObscuresBackground):
3079         * rendering/RenderBoxModelObject.h:
3080         (RenderBoxModelObject):
3081
3082 2012-03-14  Martin Robinson  <mrobinson@igalia.com>
3083
3084         Fix the TextureMapper build for GTK+.
3085
3086         No new tests. This is just a build fix.
3087
3088         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
3089         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
3090         * platform/graphics/texmap/TextureMapper.h:
3091
3092 2012-03-12  Martin Robinson  <mrobinson@igalia.com>
3093
3094         [GTK] Menulist buttons have separators even when the theme turns them off
3095         https://bugs.webkit.org/show_bug.cgi?id=80668
3096
3097         Reviewed by Daniel Bates.
3098
3099         No new tests. GTK+ theme differences are notoriously difficult
3100         to test, because consistent results depend on having certain themes
3101         and certain versions of themes installed.
3102
3103         Instead of using the GTK_TYPE_BUTTON and GTK_TYPE_SEPARATOR tags to get the
3104         style context, use GTK_TYPE_COMBO_BOX which should provide more accurate theme settings.
3105
3106         * platform/gtk/RenderThemeGtk3.cpp:
3107         (WebCore::getComboBoxMetrics): Get metrics from a GTK_TYPE_COMBO_BOX style context.
3108         (WebCore::RenderThemeGtk::paintMenuList): Get separator settings from the GTK_TYPE_COMBO_BOX style context.
3109
3110 2012-03-14  Levi Weintraub  <leviw@chromium.org>
3111
3112         Implement proper sub-pixel support in RenderFileUploadControl
3113         https://bugs.webkit.org/show_bug.cgi?id=80881
3114
3115         Reviewed by Dimitri Glazkov.
3116
3117         Correcting improper usage of LayoutUnits when interacting with the graphics context
3118         and platform code. Specifically:
3119         - pixel snapping the clip rect and paint offsets before sending values to the
3120           graphics context in paintObject.
3121         - using on-screen (pixel snapped) values to pass off to platform code to determine
3122           the max length of the filename to be drawn.
3123
3124         No new tests. No change in behavior.
3125
3126         * rendering/RenderFileUploadControl.cpp:
3127         (WebCore::nodeWidth):
3128         (WebCore::RenderFileUploadControl::maxFilenameWidth):
3129         (WebCore::RenderFileUploadControl::paintObject):
3130
3131 2012-03-14  Joseph Pecoraro  <pecoraro@apple.com>
3132
3133         [JSC] Web Inspector: CRASH running $0, $1, etc before they are set
3134         https://bugs.webkit.org/show_bug.cgi?id=81082
3135
3136         Don't return an invalid JSValue. Check if the ScriptValue
3137         has no value and return undefined in that case.
3138
3139         Reviewed by Pavel Feldman.
3140
3141         Updated test: inspector/console/command-line-api.html
3142
3143         * bindings/js/JSInjectedScriptHostCustom.cpp:
3144         (WebCore::JSInjectedScriptHost::inspectedObject):
3145
3146 2012-03-14  James Robinson  <jamesr@chromium.org>
3147
3148         [chromium] Remove canRecoverFromContextLoss attribute, it's unused
3149         https://bugs.webkit.org/show_bug.cgi?id=81158
3150
3151         Reviewed by Stephen White.
3152
3153         Canvas accelerated no longer depends on the canRecoverFromContextLoss attribute after r110716.
3154
3155         * platform/graphics/GraphicsContext3D.h:
3156         (WebCore::GraphicsContext3D::Attributes::Attributes):
3157         (Attributes):
3158         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
3159         (WebCore::SharedGraphicsContext3DImpl::get):
3160
3161 2012-03-14  Jer Noble  <jer.noble@apple.com>
3162
3163         Opening a URL in a MediaDocument does not propagate MIME type info to media element
3164         https://bugs.webkit.org/show_bug.cgi?id=81148
3165
3166         Reviewed by Eric Carlson.
3167
3168         Test: http/tests/media/media-document.html
3169
3170         Pass through the mime type from the DocumentLoader into the <source type=""> attribute of the
3171         generated video element. 
3172
3173         * html/MediaDocument.cpp:
3174         (WebCore::MediaDocumentParser::createDocumentStructure):
3175
3176 2012-03-14  Stephen White  <senorblanco@chromium.org>
3177
3178         [chromium] Fix accelerated Canvas2D with threaded compositing.
3179         https://bugs.webkit.org/show_bug.cgi?id=80998
3180
3181         Reviewed by James Robinson.
3182
3183         Covered by unit tests Canvas2DLayerChromiumTest and
3184         TreeSynchronizerTest.
3185
3186         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
3187         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
3188         (WebCore):
3189         Delay creation of the front texture for double-buffering until the
3190         first call to paintContentsIfDirty().
3191         * platform/graphics/chromium/Canvas2DLayerChromium.h:
3192         (Canvas2DLayerChromium):
3193         Remove setTextureManager() and setLayerTreeHost(), since their job
3194         has been subsumed by paintContentsIfDirty().
3195         * platform/graphics/chromium/TreeSynchronizer.cpp:
3196         (WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):
3197         Perform an early-out if the passed-in layer is NULL.
3198
3199 2012-03-14  Mark Pilgrim  <pilgrim@chromium.org>
3200
3201         Move EntriesCallback to Modules/filesystem/
3202         https://bugs.webkit.org/show_bug.cgi?id=81032
3203
3204         Reviewed by Adam Barth.
3205
3206         No new tests, all existing tests pass.
3207
3208         * CMakeLists.txt:
3209         * DerivedSources.make:
3210         * DerivedSources.pri:
3211         * GNUmakefile.list.am:
3212         * Modules/filesystem/EntriesCallback.h: Copied from Source/WebCore/fileapi/EntriesCallback.h.
3213         * Modules/filesystem/EntriesCallback.idl: Copied from Source/WebCore/fileapi/EntriesCallback.idl.
3214         * Target.pri:
3215         * WebCore.gypi:
3216         * WebCore.vcproj/WebCore.vcproj:
3217         * WebCore.xcodeproj/project.pbxproj:
3218         * fileapi/EntriesCallback.h: Removed.
3219         * fileapi/EntriesCallback.idl: Removed.
3220
3221 2012-03-14  Tony Chang  <tony@chromium.org>
3222
3223         multiline column flexbox with auto height wrap too much
3224         https://bugs.webkit.org/show_bug.cgi?id=80929
3225
3226         Reviewed by David Hyatt.
3227
3228         Test: css3/flexbox/multiline-column-auto.html
3229
3230         * rendering/RenderBox.cpp:
3231         (WebCore::RenderBox::computeLogicalHeightUsing):
3232         (WebCore):
3233         (WebCore::RenderBox::computeContentLogicalHeightUsing): Pull out into a separate method.
3234         * rendering/RenderBox.h:
3235         (RenderBox):
3236         * rendering/RenderFlexibleBox.cpp:
3237         (WebCore::RenderFlexibleBox::lineBreakLength): Compute the value based on height & max-height for column layout.
3238         (WebCore):
3239         (WebCore::RenderFlexibleBox::computeNextFlexLine):
3240         * rendering/RenderFlexibleBox.h:
3241         (RenderFlexibleBox):
3242
3243 2012-03-14  Xingnan Wang  <xingnan.wang@intel.com>
3244
3245         Optimize the multiply-add in Biquad.cpp::process
3246         https://bugs.webkit.org/show_bug.cgi?id=75528
3247
3248         Reviewed by Chris Rogers.
3249
3250         Pipeline the multiply-add with SSE2 instructions and get about 20% improvement for the function.
3251
3252         * platform/audio/Biquad.cpp:
3253         (WebCore::Biquad::process):
3254
3255 2012-03-14  James Robinson  <jamesr@chromium.org>
3256
3257         [Chromium] Layout Test compositing/repaint/opacity-between-absolute.html is flaky
3258         https://bugs.webkit.org/show_bug.cgi?id=79823
3259
3260         Reviewed by Adrienne Walker.
3261
3262         LayerRendererChromium was storing a weak pointer to the current render surface in m_currentRenderSurface and
3263         using this in useRenderSurface() to avoid rebinding if we called useRenderSurface() multiple times in a row on
3264         the same surface. This pointer was never cleared, so if any subsequent surface landed at the same address this
3265         caching would misbehave and we'd fail to correctly initialize the new render surface. The caching wasn't
3266         actually buying us anything anyway since we only call useRenderSurface() once per surface per frame and we
3267         always set the viewport for the default render surface.
3268
3269         * platform/graphics/chromium/LayerRendererChromium.cpp:
3270         (WebCore::LayerRendererChromium::beginDrawingFrame):
3271         (WebCore::LayerRendererChromium::useRenderSurface):
3272
3273 2012-03-14  Zalan Bujtas  <zbujtas@gmail.com>
3274
3275         Frame flattening ASSERT(!needsLayout()) in FrameView::paintContents()
3276         https://bugs.webkit.org/show_bug.cgi?id=80155
3277
3278         Reviewed by Antti Koivisto.
3279
3280         This patch ensures that an iframe only schedules and calls parent's layout,
3281         when it is going to be flattened. Non-flattened iframe does not affect
3282         parent's layout, so normal layout flow applies. isInSubframeLayoutWithFrameFlattening()
3283         function has been added to test whether a particular child frame is changing
3284         parent's layout. This function also ensures that scheduleRelayout() and layout()
3285         are in sync of checking againts frame flattening.
3286
3287         Test: fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html
3288
3289         * page/FrameView.cpp:
3290         (WebCore::FrameView::avoidScrollbarCreation):
3291         (WebCore::FrameView::layout):
3292         (WebCore::FrameView::scheduleRelayout):
3293         (WebCore::FrameView::isInChildFrameWithFrameFlattening):
3294         (WebCore):
3295         (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
3296         * page/FrameView.h:
3297         (FrameView):
3298         * rendering/RenderIFrame.h:
3299         (RenderIFrame):
3300         (WebCore::RenderIFrame::renderName):
3301
3302 2012-03-14  Anders Carlsson  <andersca@apple.com>
3303
3304         Don't cap the scroll position if layout happens when a FrameView's overhangAmount is non-zero
3305         https://bugs.webkit.org/show_bug.cgi?id=81146
3306         <rdar://problem/10850075>
3307
3308         Reviewed by Beth Dakin.
3309
3310         If layout happens when a page has a non-zero overhang amount, we shouldn't cap the scroll position
3311         to be inside of the valid maximum/minimum scroll offsets because that will cause the page to jump back, which
3312         can look really bad if layout happens in response to the page being scrolled.
3313
3314         * platform/ScrollView.cpp:
3315         (WebCore::ScrollView::updateScrollbars):
3316
3317 2012-03-14  Tommy Widenflycht  <tommyw@google.com>
3318
3319         MediaStream API (JSEP): Introducing IceCandidate
3320         https://bugs.webkit.org/show_bug.cgi?id=80699
3321
3322         Reviewed by Adam Barth.
3323
3324         Patch #2 in a series of patches to change the PeerConnection from ROAP to JSEP,
3325         see bug 80589 for more information.
3326         Adding the JS object IceCandidate and its WebCore/platform sibling IceCandidateDescriptor.
3327         This object will be created both from JS and the embedder.
3328
3329         Not possible to test until the entire JSEP feature is commited.
3330
3331         * GNUmakefile.list.am:
3332         * Modules/mediastream/IceCandidate.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
3333         (WebCore):
3334         (WebCore::IceCandidate::create):
3335         (WebCore::IceCandidate::IceCandidate):
3336         (WebCore::IceCandidate::~IceCandidate):
3337         (WebCore::IceCandidate::label):
3338         (WebCore::IceCandidate::candidateLine):
3339         (WebCore::IceCandidate::toSdp):
3340         (WebCore::IceCandidate::descriptor):
3341         * Modules/mediastream/IceCandidate.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
3342         (WebCore):
3343         (IceCandidate):
3344         * Modules/mediastream/IceCandidate.idl: Added.
3345         * WebCore.gypi:
3346         * platform/mediastream/IceCandidateDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
3347         (WebCore):
3348         (WebCore::IceCandidateDescriptor::create):
3349         (WebCore::IceCandidateDescriptor::IceCandidateDescriptor):
3350         (WebCore::IceCandidateDescriptor::~IceCandidateDescriptor):
3351         (WebCore::IceCandidateDescriptor::toSdp):
3352         * platform/mediastream/IceCandidateDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
3353         (WebCore):
3354         (IceCandidateDescriptor):
3355         (WebCore::IceCandidateDescriptor::label):
3356         (WebCore::IceCandidateDescriptor::candidateLine):
3357         * platform/mediastream/MediaStreamCenter.cpp:
3358         (WebCore::MediaStreamCenter::constructSdp):
3359         (WebCore):
3360         * platform/mediastream/MediaStreamCenter.h:
3361         (WebCore):
3362         (MediaStreamCenter):
3363
3364 2012-03-14  Simon Fraser  <simon.fraser@apple.com>
3365
3366         background-visibility:hidden should create a RenderLayer
3367         https://bugs.webkit.org/show_bug.cgi?id=81134
3368
3369         Reviewed by Dean Jackson.
3370         
3371         Background-visibility:hidden has to create RenderLayers, because it's implemented
3372         via compositing and/or paint short-circuiting in RenderLayer code.
3373
3374         Test: transforms/3d/general/background-visibility-layers.html
3375
3376         * rendering/RenderBox.h:
3377         * rendering/RenderBoxModelObject.h:
3378         (WebCore::RenderBoxModelObject::requiresLayer):
3379         * rendering/RenderObject.h:
3380         (WebCore::RenderObject::hasHiddenBackface):
3381         * rendering/RenderTableRow.h:
3382
3383 2012-03-14  Raul Hudea  <rhudea@adobe.com>
3384
3385         [CSSRegions][CSSOM] Implement regionLayoutEvent
3386         https://bugs.webkit.org/show_bug.cgi?id=78882
3387
3388         Reviewed by David Hyatt.
3389
3390         Adding the regionLayoutEvent that is dispatch for all regions after each flow-thread layout.
3391
3392         Tests: fast/regions/region-event-add-to-flow.html
3393                fast/regions/region-event-remove-from-dom.html
3394                fast/regions/region-event-remove-from-flow.html
3395                fast/regions/region-event.html
3396
3397         * dom/Document.cpp:
3398         (WebCore::Document::addListenerTypeIfNeeded): Added check for regionLayoutUpdate listeners
3399         * dom/Document.h:
3400         * dom/EventNames.h:
3401         (WebCore):
3402         * dom/Node.cpp:
3403         (WebCore::Node::dispatchRegionLayoutUpdateEvent):
3404         (WebCore):
3405         * dom/Node.h:
3406         (Node):
3407         * rendering/RenderFlowThread.cpp:
3408         (WebCore::RenderFlowThread::RenderFlowThread):
3409         (WebCore::RenderFlowThread::layout): Start the event dispatch timer but only if there are regionLayoutUpdate listeners and there is at least one region that had its layout updated.
3410         (WebCore::RenderFlowThread::computeOverflowStateForRegions): Mark regions that might had a layout update
3411         (WebCore::RenderFlowThread::regionLayoutUpdateEventTimerFired):
3412         (WebCore):
3413         * rendering/RenderFlowThread.h:
3414         * rendering/RenderRegion.cpp:
3415         (WebCore::RenderRegion::RenderRegion):
3416         * rendering/RenderRegion.h:
3417         (WebCore::RenderRegion::setDispatchRegionLayoutUpdateEvent):
3418         (WebCore::RenderRegion::shouldDispatchRegionLayoutUpdateEvent):
3419         (RenderRegion):
3420
3421 2012-03-14  Pierre Rossi  <pierre.rossi@gmail.com>
3422
3423         [Qt] Add support for vertical sliders in mobile theme
3424         https://bugs.webkit.org/show_bug.cgi?id=80179
3425
3426         This makes sliders using the "slider-vertical" appearance more sensible.
3427
3428         Reviewed by Simon Hausmann.
3429
3430         No new tests, since the mobile theme still isn't used in layout tests.
3431
3432         * platform/qt/RenderThemeQtMobile.cpp:
3433         (WebCore):
3434         (WebCore::StylePainterMobile::drawProgress):
3435         (WebCore::RenderThemeQtMobile::paintSliderTrack):
3436         * platform/qt/RenderThemeQtMobile.h:
3437         (StylePainterMobile):
3438
3439 2012-03-14  Jer Noble  <jer.noble@apple.com>
3440
3441         WebProcess spins beneath [QTMovie movieFileTypes:]
3442         https://bugs.webkit.org/show_bug.cgi?id=81133
3443
3444         Reviewed by Eric Carlson.
3445
3446         No new tests; speculative fix for top WebProcess spin.
3447
3448         When checking to see if a given mime type is supported by QuickTime,
3449         immediately exclude all types that do not begin with 'audio/' or 'video/'.
3450         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3451         (WebCore::MediaPlayerPrivateQTKit::supportsType):
3452
3453 2012-03-14  Zalan Bujtas  <zbujtas@gmail.com>
3454
3455         Make RenderIFrame::flattenFrame() return earlier, when frame flattening is disabled.
3456         https://bugs.webkit.org/show_bug.cgi?id=80301
3457
3458         Reviewed by Antti Koivisto.
3459
3460         Reorganize RenderIFrame flattenFrame() code, so that it returns
3461         earlier for the normal use case, when frame flattening is disabled.
3462         It also removes leftover null check.
3463
3464         No new tests, since there's no new functionality.
3465
3466         * rendering/RenderIFrame.cpp:
3467         (WebCore::RenderIFrame::flattenFrame):
3468
3469 2012-03-14  James Robinson  <jamesr@chromium.org>
3470
3471         [chromium] Provide explicit polling API to check if the platform is capable of accelerated 2d canvas
3472         https://bugs.webkit.org/show_bug.cgi?id=80667
3473
3474         Reviewed by Darin Fisher.
3475
3476         Query