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