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