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