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