Unreviewed, rolling out r103405.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-12-22  Ilya Tikhonovsky  <loislo@chromium.org>
2
3         Unreviewed, rolling out r103405.
4         http://trac.webkit.org/changeset/103405
5         https://bugs.webkit.org/show_bug.cgi?id=74088
6
7         it broke WorkerDevToolsSanityTest.InspectSharedWorker
8
9         * inspector/Inspector.json:
10         * inspector/InspectorDebuggerAgent.cpp:
11         (WebCore::InspectorDebuggerAgent::didParseSource):
12         * inspector/InspectorDebuggerAgent.h:
13         * inspector/front-end/DebuggerModel.js:
14         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
15         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
16         * inspector/front-end/RawSourceCode.js:
17         (WebInspector.RawSourceCode):
18         * inspector/front-end/Script.js:
19         (WebInspector.Script):
20         (WebInspector.Script.prototype.searchInContent):
21
22 2011-12-21  Darin Adler  <darin@apple.com>
23
24         Make ~CSSParserSelector use Vector<OwnPtr>
25         https://bugs.webkit.org/show_bug.cgi?id=73782
26
27         Reviewed by Alexey Proskuryakov.
28
29         * css/CSSParserValues.cpp:
30         (WebCore::CSSParserSelector::~CSSParserSelector): Use Vector<OwnPtr>
31         so we don't have to call leakPtr or deleteAllValues.
32
33 2011-12-21  Yosifumi Inoue  <yosin@chromium.org>
34
35         [Forms] Selection change by type-ahead doesn't fire 'change' event
36         https://bugs.webkit.org/show_bug.cgi?id=74590
37
38         Reviewed by Kent Tamura.
39
40         This patch changes when onchange event fired in select element for:
41         1 Fire onchange event for type ahead selection.
42         2 Don't fire onchange event for Enter key. We've already fired onchange event for cursor key
43           and type ahead selection. So, onchange for Enter key is redundant. This behavior is 
44           compatible to IE(9.0.8112.16421) and Opera(9.80) on Windows. FF(8.01) doesn't fire onchange
45           by cursor key selection change and type ahead. FF requires Enter key press to fire onchange
46           event.
47
48         Test: fast/forms/select/menulist-type-ahead-find.html
49
50         * html/HTMLSelectElement.cpp:
51         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Don't fire onchange event for Entry key.
52         (WebCore::HTMLSelectElement::typeAheadFind): Add DispatchChangeEvent when
53         calling selectOption method.
54
55 2011-12-21  Darin Adler  <darin@apple.com>
56
57         Tweak and comment some transform-related code
58         https://bugs.webkit.org/show_bug.cgi?id=68670
59
60         Reviewed by Daniel Bates.
61
62         * platform/mac/ScrollbarThemeMac.mm:
63         (WebCore::ScrollbarThemeMac::paint): Added a FIXME about additional overhead paid here
64         when the scale factor is 2x.
65         * rendering/RenderBoxModelObject.cpp:
66         (WebCore::RenderBoxModelObject::paintBoxShadow): Added a FIXME about this check possibly
67         being wrong, and also changed the local vairable name so the check need not stretch over
68         multiple lines.
69
70 2011-12-21  Kent Tamura  <tkent@chromium.org>
71
72         Change the item type of Document::m_formElementsWithState from Element*
73         to HTMLFormControlElementWithState*.
74         https://bugs.webkit.org/show_bug.cgi?id=74998
75
76         Reviewed by Andreas Kling.
77
78         No new tests. Just refactoring.
79
80         * dom/Document.cpp:
81         (WebCore::Document::formElementsState): Use HTMLFormControlElementWithState*.
82         * dom/Document.h:
83         (WebCore::Document::registerFormElementWithState): Change the argument type.
84         (WebCore::Document::unregisterFormElementWithState): ditto.
85         (WebCore::Document::formElements): Renamed from getFormElements().
86         * dom/Element.h:
87         Removed shouldSaveAndRestoreFormControlState(), saveFormControlState(),
88         and restoreFormControlState() because they are not called for Element
89         anymore.
90         * html/HTMLFormControlElement.h:
91         - Make formControlName() and formControlType() public.
92          They are called from Document class.
93         - Make shouldSaveAndRestoreFormControlState() public, and non-virtual.
94          This is called from Document class, and no other classes override this.
95         (WebCore::HTMLFormControlElementWithState::saveFormControlState):
96         Moved from Element.
97         (WebCore::HTMLFormControlElementWithState::restoreFormControlState): ditto.
98         * html/HTMLInputElement.cpp:
99         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
100         Use HTMLFormControlElementWithState* instead of Element*.
101
102 2011-12-21  Alexandre Elias  <aelias@google.com>
103
104         [chromium] Always use border texels on platforms using pageScaleDelta
105         https://bugs.webkit.org/show_bug.cgi?id=74226
106
107         Reviewed by James Robinson.
108
109         On platforms where the root layer can be zoomed in at draw time
110         (pageScaleDelta), we want to turn on border texels in order for
111         scaling to use GL_LINEAR instead of GL_NEAREST.
112
113         No new tests. (Flag flip.)
114
115         * platform/graphics/chromium/TiledLayerChromium.cpp:
116         (WebCore::TiledLayerChromium::prepareToUpdate):
117
118 2011-12-21  Dale Curtis  <dalecurtis@chromium.org>
119
120         [chromium] Scale audio, video tags in MediaDocument to fit in window.
121         https://bugs.webkit.org/show_bug.cgi?id=73948
122
123         Add CSS max-height: 100%, max-width: 100% settings to the audio and
124         video tags when in MediaDocuments.
125
126         Reviewed by Eric Seidel.
127
128         Test: media/video-scales-in-media-document.html
129
130         * css/mediaControlsChromium.css:
131         (audio:-webkit-full-page-media, video:-webkit-full-page-media):
132
133 2011-12-21  Konrad Piascik  <kpiascik@rim.com>
134
135         Implement the JavaScriptCore bindings for eventListenerHandlerLocation
136         https://bugs.webkit.org/show_bug.cgi?id=74313
137
138         Reviewed by Eric Seidel.
139
140         Implemented the JavaScriptCore binding to allow Web Inspector to
141         show the function name and line number for an event listener in
142         the Elements panel.
143
144         Tested by opening up a page which has a registered event listener in Safari
145         and checking if the Elements panel script name and line number are present
146         and clickable.
147
148         * ForwardingHeaders/runtime/Executable.h: Added.
149         * ForwardingHeaders/wtf/SegmentedVector.h: Added.
150         * bindings/js/ScriptEventListener.cpp:
151         (WebCore::eventListenerHandlerLocation):
152
153 2011-12-21  Chris Guan  <chris.guan@torchmobile.com.cn>
154
155         Upstream the Multipart feature in Blackberry port
156         https://bugs.webkit.org/show_bug.cgi?id=73533
157
158         Reviewed by Rob Buis.
159
160         I refactored Multipart code of Blackberry port. Moved Multipart into
161         Blackerry network layer and removed the dependence of std::string.
162
163         Initial upstream, no new test cases.
164
165         * platform/network/blackberry/DeferredData.cpp:
166         (WebCore::DeferredData::deferMultipartHeaderReceived):
167         (WebCore::DeferredData::processHeaders):
168         (WebCore::DeferredData::processDeferredData):
169         * platform/network/blackberry/DeferredData.h:
170         (WebCore::DeferredData::hasDeferredData):
171         * platform/network/blackberry/NetworkJob.cpp:
172         (WebCore::NetworkJob::notifyMultipartHeaderReceived):
173         (WebCore::NetworkJob::handleNotifyMultipartHeaderReceived):
174         (WebCore::NetworkJob::handleNotifyDataReceived):
175         (WebCore::NetworkJob::handleNotifyClose):
176         (WebCore::NetworkJob::startNewJobWithRequest):
177         (WebCore::NetworkJob::sendResponseIfNeeded):
178         (WebCore::NetworkJob::sendMultipartResponseIfNeeded):
179         * platform/network/blackberry/NetworkJob.h:
180
181 2011-12-21  Eric Carlson  <eric.carlson@apple.com>
182
183         Fix text track cue font size and colors
184         https://bugs.webkit.org/show_bug.cgi?id=75051
185
186         Reviewed by Darin Adler.
187
188         No new tests, updated media/track/track-cue-rendering.html for the changes.
189
190         * css/mediaControls.css:
191         (video::-webkit-media-text-track-container): Match WebVTT spec.
192         (video::-webkit-media-text-track-display): Ditto.
193
194         * html/shadow/MediaControlElements.cpp:
195         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Change font size from  4% of the
196             video height to 5% as per the spec. Don't enforce a minimum size.
197
198 2011-12-21  Andreas Kling  <kling@webkit.org>
199
200         Unreviewed, rolling out r103473.
201         http://trac.webkit.org/changeset/103473
202         https://bugs.webkit.org/show_bug.cgi?id=74991
203
204         Overestimated my superpowers a bit here.
205
206         * dom/Element.cpp:
207         (WebCore::Element::attributeChanged):
208         (WebCore::Element::insertedIntoDocument):
209         (WebCore::Element::removedFromDocument):
210         * dom/Element.h:
211         (WebCore::Element::updateId):
212         (WebCore::Element::willModifyAttribute):
213         * dom/NamedNodeMap.cpp:
214         (WebCore::NamedNodeMap::setAttributes):
215         * dom/Node.h:
216         * html/HTMLAppletElement.cpp:
217         (WebCore::HTMLAppletElement::parseMappedAttribute):
218         (WebCore::HTMLAppletElement::insertedIntoDocument):
219         (WebCore::HTMLAppletElement::removedFromDocument):
220         * html/HTMLAppletElement.h:
221         * html/HTMLEmbedElement.cpp:
222         (WebCore::HTMLEmbedElement::parseMappedAttribute):
223         (WebCore::HTMLEmbedElement::insertedIntoDocument):
224         (WebCore::HTMLEmbedElement::removedFromDocument):
225         * html/HTMLEmbedElement.h:
226         * html/HTMLFormElement.cpp:
227         (WebCore::HTMLFormElement::insertedIntoDocument):
228         (WebCore::HTMLFormElement::removedFromDocument):
229         (WebCore::HTMLFormElement::parseMappedAttribute):
230         * html/HTMLFormElement.h:
231         * html/HTMLImageElement.cpp:
232         (WebCore::HTMLImageElement::parseMappedAttribute):
233         (WebCore::HTMLImageElement::insertedIntoDocument):
234         (WebCore::HTMLImageElement::removedFromDocument):
235         * html/HTMLImageElement.h:
236         * html/HTMLObjectElement.cpp:
237         (WebCore::HTMLObjectElement::parseMappedAttribute):
238         (WebCore::HTMLObjectElement::insertedIntoDocument):
239         (WebCore::HTMLObjectElement::removedFromDocument):
240         (WebCore::HTMLObjectElement::updateDocNamedItem):
241         (WebCore::HTMLObjectElement::formControlName):
242         * html/HTMLObjectElement.h:
243         * html/HTMLPlugInElement.h:
244
245 2011-12-21  Simon Fraser  <simon.fraser@apple.com>
246
247         Clean up RenderLayer code that applies filters and transforms
248         https://bugs.webkit.org/show_bug.cgi?id=75032
249         
250         This also fixes:
251             Nested filters not working as expected
252             https://bugs.webkit.org/show_bug.cgi?id=75029
253             
254             Filter region is computed incorrectly
255             https://bugs.webkit.org/show_bug.cgi?id=74889
256
257         Reviewed by James Robinson.
258
259         RenderLayer::paintLayer() had this confusing behavior where,
260         for transforms, it would change the CTM and then re-enter
261         the method with a bit set. This was partially, but incorrectly
262         copied for filters, so things like nested filters didn't work,
263         and the case of a filter + transform was confused.
264         
265         Clean up by making RenderLayer::paintLayer() be a fairly simple
266         method that handles the re-entering with bit set, for both
267         transforms and filters. The bulk of the code in RenderLayer::paintLayer()
268         is now in RenderLayer::paintLayerContents(). There is no
269         behavior change for transforms.
270         
271         There are two fixes for filters. First, instead of just using
272         the layer size to compute the bounds of the filtered region,
273         use transparencyClipBox() which already takes descendents, box
274         decorations etc into account (it's what we use for opacity).
275         Some cleanup of the coordinate math, and separation from transforms
276         code was also achieved.
277         
278         Second, make sure we toggle off the PaintLayerAppliedFilters bit
279         (which was renamed for clarity) for sublayers, so that sublayers
280         paint their filters correctly.
281
282         Tests: css3/filters/filter-region.html
283                css3/filters/nested-filters.html
284
285         * rendering/RenderLayer.cpp:
286         (WebCore::RenderLayer::paintLayer):
287         (WebCore::RenderLayer::paintLayerContents):
288         (WebCore::RenderLayer::updateFilterBackingStore):
289         * rendering/RenderLayer.h:
290
291 2011-12-21  Per-Erik Brodin  <per-erik.brodin@ericsson.com>
292
293         Discard event data not followed by an empty line before eof when parsing an event-stream
294         https://bugs.webkit.org/show_bug.cgi?id=68833
295
296         Reviewed by Alexey Proskuryakov.
297
298         Test: http/tests/eventsource/eventsource-eof.html
299
300         * page/EventSource.cpp:
301         (WebCore::EventSource::didFinishLoading):
302         (WebCore::EventSource::parseEventStreamLine):
303         * page/EventSource.h:
304
305 2011-12-21  Andreas Kling  <kling@webkit.org>
306
307         Automate elements' registration as document namedItem/extraNamedItem.
308         <http://webkit.org/b/74991>
309
310         Reviewed by Antti Koivisto.
311
312         Remove caching of the "id" and "name" attributes on applet, embed, form,
313         image and object elements. We were caching them to keep the document's
314         map of named and "extra named" (named by id) item counts in sync.
315
316         Instead, add a hook to Element::willModifyAttribute() that detects when
317         the attributes are being changed and handle the registration/unregistration
318         automatically if the element returns true for shouldRegisterAsNamedItem()
319         or shouldRegisterAsExtraNamedItem() respectively.
320
321         This shrinks the elements by two AtomicStrings (8 or 16 bytes) each.
322
323         IFrame elements retain the old mechanism for now, as there are some subtle
324         differences to how that's handled.
325
326         * dom/Node.h:
327         (WebCore::Node::hasName):
328         (WebCore::Node::setHasName):
329
330             Cache whether we have a "name" attribute or not (1 bit on Node.)
331             This is done in order to minimize the overhead added to Element's
332             insertedIntoDocument() and removeFromDocument().
333
334         * dom/Element.cpp:
335         (WebCore::Element::updateNamedItemRegistration):
336         (WebCore::Element::updateExtraNamedItemRegistration):
337
338             Added. Called when the "name" and "id" attributes are changed.
339             Updates the document's named item maps accordingly.
340
341         (WebCore::Element::insertedIntoDocument):
342         (WebCore::Element::removedFromDocument):
343
344             Make sure updateName() is called in addition to updateId() when applicable.
345
346         (WebCore::Element::attributeChanged):
347
348             Update the Node's has-name flag as appropriate.
349
350         * dom/Element.h:
351         (WebCore::Element::shouldRegisterAsNamedItem):
352         (WebCore::Element::shouldRegisterAsExtraNamedItem):
353
354             Added. If an element returns true for these, it will be automatically
355             registered with the document when the name/id attribute changes.
356
357         (WebCore::Element::updateId):
358         (WebCore::Element::updateName):
359
360             Register/unregister from the document's named item maps as appropriate.
361
362         (WebCore::Element::willModifyAttribute):
363
364             Add updateName() hook in addition to the existing updateId() hook.
365
366         * dom/NamedNodeMap.cpp:
367         (WebCore::NamedNodeMap::setAttributes):
368
369             Make sure updateName() is called when we're cloning the attributes
370             from another element.
371
372         * html/HTMLAppletElement.cpp:
373         (WebCore::HTMLAppletElement::parseMappedAttribute):
374         * html/HTMLAppletElement.h:
375         * html/HTMLEmbedElement.cpp:
376         (WebCore::HTMLEmbedElement::parseMappedAttribute):
377         (WebCore::HTMLEmbedElement::insertedIntoDocument):
378         * html/HTMLEmbedElement.h:
379         * html/HTMLFormElement.cpp:
380         (WebCore::HTMLFormElement::insertedIntoDocument):
381         (WebCore::HTMLFormElement::removedFromDocument):
382         (WebCore::HTMLFormElement::parseMappedAttribute):
383         * html/HTMLFormElement.h:
384         * html/HTMLImageElement.cpp:
385         (WebCore::HTMLImageElement::parseMappedAttribute):
386         (WebCore::HTMLImageElement::insertedIntoDocument):
387         * html/HTMLImageElement.h:
388         * html/HTMLObjectElement.cpp:
389         (WebCore::HTMLObjectElement::parseMappedAttribute):
390         (WebCore::HTMLObjectElement::insertedIntoDocument):
391         (WebCore::HTMLObjectElement::removedFromDocument):
392         * html/HTMLObjectElement.h:
393         * html/HTMLPlugInElement.h:
394
395             Remove duplicated code that is now handled by Element.
396
397         * html/HTMLObjectElement.cpp:
398         (WebCore::HTMLObjectElement::updateDocNamedItem):
399         (WebCore::HTMLObjectElement::formControlName):
400
401             Use fastGetAttribute() since we no longer cache the name.
402
403 2011-12-21  Wyatt Carss  <wcarss@chromium.org>
404
405         Reviewed by Ryosuke Niwa.
406
407         strong and b should be font-weight: bold, not bolder
408         https://bugs.webkit.org/show_bug.cgi?id=56400
409
410         Test: fast/html/font-weight-bold-for-b-and-strong.html
411
412         * css/html.css:
413         (strong, b):
414
415 2011-12-21  Florin Malita  <fmalita@google.com>
416
417         Improper handling of foreignobjects nested in svg groups
418         https://bugs.webkit.org/show_bug.cgi?id=69762
419
420         Reviewed by Nikolas Zimmermann.
421
422         Tests: svg/foreignObject/repaint-rect-coordinates-expected.html
423                svg/foreignObject/repaint-rect-coordinates.html
424
425         * rendering/svg/RenderSVGForeignObject.h:
426         (WebCore::RenderSVGForeignObject::objectBoundingBox):
427         (WebCore::RenderSVGForeignObject::strokeBoundingBox):
428         (WebCore::RenderSVGForeignObject::repaintRectInLocalCoordinates):
429         Return local coordinates.
430
431 2011-12-21  Anders Carlsson  <andersca@apple.com>
432
433         Make it possible to use contents layers in scrollbars
434         https://bugs.webkit.org/show_bug.cgi?id=75044
435
436         Reviewed by Simon Fraser.
437
438         * page/ScrollingCoordinator.h:
439         * page/mac/ScrollingCoordinatorMac.mm:
440         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
441         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
442         Don't pass const GraphicsLayers to these member functions; we need to be able to mutate them.
443
444         * platform/ScrollView.cpp:
445         (positionScrollbarLayer):
446         If the scrollbar layer has a contents layer, just update its contents rect. Otherwise,
447         invalidate the scrollbar layer.
448
449 2011-12-21  Anders Carlsson  <andersca@apple.com>
450
451         Always reposition the scrollbar layers when the frame view size changes
452         https://bugs.webkit.org/show_bug.cgi?id=75035
453
454         Reviewed by Darin Adler.
455
456         * rendering/RenderLayerCompositor.cpp:
457         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
458         Remove the layersChanged check and unconditionally call positionScrollbarLayers(). This only
459         worked by accident before because we were recreating horizontal and vertical scrollbars on every call.
460
461 2011-12-21  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
462
463         [EFL] Add 'Select All' option to context menus in WebKit-EFL.
464         https://bugs.webkit.org/show_bug.cgi?id=74920
465
466         Reviewed by Eric Seidel.
467
468         Enable 'Select All' option to context menus called on input fields in WebKit-EFL
469         as it is enabled in GTK and QT ports.
470
471         * page/ContextMenuController.cpp:
472         (WebCore::ContextMenuController::contextMenuItemSelected): Add 'Select All' option.
473         (WebCore::ContextMenuController::populate): Append 'Select All' item.
474         (WebCore::ContextMenuController::checkOrEnableIfNeeded): Enable 'Select All' option.
475         * platform/ContextMenuItem.h: Add 'Select All' option.
476         * platform/LocalizationStrategy.h: Add constructor for 'Select All' option.
477         * platform/LocalizedStrings.h: Add constructor for 'Select All' option.
478
479 2011-12-20  Adam Klein  <adamk@chromium.org>
480
481         Make calls to willModifyAttribute and attributeChanged symmetrical
482         https://bugs.webkit.org/show_bug.cgi?id=74987
483
484         Reviewed by Ryosuke Niwa.
485
486         Previously, calls to Element::willModifyAttribute sometimes happened
487         in one method while calls to Element::attributeChanged happened in
488         another. This change makes them symmetrical for all the cases I know
489         about: setAttribute, removeAttribute, setNamedItem, removeNamedItem.
490
491         To accomplish this, NamedNodeMap::addAttribute, removeAttribute, and
492         replaceAttribute have been reduced to their pure functionality of
493         manipulating m_attributes, and their callers are left responsible for
494         properly notifying the Element of the underlying changes.
495
496         One other bit of refactoring was done: to simplify
497         Element::setAttribute, it now dispatches to
498         Element::removeAttributeInternal if the incoming value is null.
499
500         No new tests, no change in behavior.
501
502         * dom/Attribute.h:
503         * dom/Element.cpp:
504         (WebCore::Element::removeAttribute):
505         (WebCore::Element::removeAttributeInternal): Added, sharing code
506         between the two removeAttribute overloads.
507         (WebCore::Element::setAttributeInternal):
508         * dom/Element.h:
509         * dom/NamedNodeMap.cpp:
510         (WebCore::NamedNodeMap::setNamedItem):
511         (WebCore::NamedNodeMap::removeNamedItem):
512         (WebCore::NamedNodeMap::addAttribute):
513         (WebCore::NamedNodeMap::removeAttribute):
514         (WebCore::NamedNodeMap::replaceAttribute):
515         * svg/properties/SVGAnimatedPropertySynchronizer.h:
516         Call Element::setAttribute unless the attribute is already present,
517         and add a comment explaining why the code looks the way it does.
518
519 2011-12-21  Adrienne Walker  <enne@google.com>
520
521         Unreviewed, rolling out r103408.
522         http://trac.webkit.org/changeset/103408
523         https://bugs.webkit.org/show_bug.cgi?id=75017
524
525         WorkerDevToolsSanityTest.InspectSharedWorker is failing
526         (Requested by loislo_ on #webkit).
527
528         * inspector/front-end/CompilerSourceMapping.js:
529         (WebInspector.ClosureCompilerSourceMapping):
530         (WebInspector.ClosureCompilerSourceMapping.prototype.sources):
531         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
532         * inspector/front-end/DebuggerPresentationModel.js:
533         (WebInspector.DebuggerPresentationModel.prototype.setCompilerSourceMapping):
534         * inspector/front-end/utilities.js:
535         (String.prototype.asParsedURL):
536
537 2011-12-21  Stephen White  <senorblanco@chromium.org>
538
539         Fix CSS filters crash on zero-sized elements.
540         https://bugs.webkit.org/show_bug.cgi?id=75020
541
542         Reviewed by Dean Jackson.
543
544         Test: css3/filters/filter-empty-element-crash.html
545
546         * rendering/FilterEffectRenderer.cpp:
547         (WebCore::FilterEffectRenderer::inputContext):
548         Protect against null ImageBuffer.
549         * rendering/RenderLayer.cpp:
550         (WebCore::RenderLayer::paintLayer):
551         Protect against null GraphicsContext.
552
553 2011-12-21  Anders Carlsson  <andersca@apple.com>
554
555         Inform the scrolling coordinator when scrollbar layers come and go
556         https://bugs.webkit.org/show_bug.cgi?id=75028
557
558         Reviewed by Andreas Kling and Simon Fraser.
559
560         * page/ScrollingCoordinator.h:
561         * page/mac/ScrollingCoordinatorMac.mm:
562         (WebCore::ScrollingCoordinator::setFrameViewHorizontalScrollbarLayer):
563         (WebCore::ScrollingCoordinator::setFrameViewVerticalScrollbarLayer):
564         * rendering/RenderLayerCompositor.cpp:
565         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
566
567 2011-12-20  Dmitry Lomov  <dslomov@google.com>
568
569         [Chromium] DatabaseTrackerChromium: iterating DatabaseSet races with Database disposal on worker thread 
570         https://bugs.webkit.org/show_bug.cgi?id=74554
571
572         Reviewed by David Levin.
573
574         Covered by existing tests in fast/workers/storage.
575
576         * storage/chromium/DatabaseTrackerChromium.cpp:
577         (WebCore::NotifyDatabaseObserverOnCloseTask::create):
578         (WebCore::NotifyDatabaseObserverOnCloseTask::performTask):
579         (WebCore::NotifyDatabaseObserverOnCloseTask::isCleanupTask):
580         (WebCore::NotifyDatabaseObserverOnCloseTask::NotifyDatabaseObserverOnCloseTask):
581         (WebCore::DatabaseTracker::removeOpenDatabase):
582
583 2011-12-21  Eric Carlson  <eric.carlson@apple.com>
584
585         HTMLMediaElement::configureTextTrackDisplay is unnecessary
586         https://bugs.webkit.org/show_bug.cgi?id=74945
587
588         Reviewed by Darin Adler.
589
590         Nothing to test, just removing redundant code. Correct behavior tested by 
591         media/track/track-cue-rendering.html and media/track/track-cue-nothing-to-render.html.
592
593         * html/HTMLMediaElement.cpp:
594         (WebCore::HTMLMediaElement::configureTextTrackDisplay): Don't show and hide track, just call
595             updateTextTrackDisplay and it will do the right thing.
596
597 2011-12-21  Anders Carlsson  <andersca@apple.com>
598
599         ScrollingCoordinator functions should take FrameView objects
600         https://bugs.webkit.org/show_bug.cgi?id=75023
601
602         Reviewed by Sam Weinig.
603
604         * page/ScrollingCoordinator.cpp:
605         (WebCore::ScrollingCoordinator::syncFrameViewGeometry):
606         * page/ScrollingCoordinator.h:
607         * page/mac/ScrollingCoordinatorMac.mm:
608         (WebCore::ScrollingCoordinator::setFrameViewScrollLayer):
609         * rendering/RenderLayerCompositor.cpp:
610         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
611         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
612         (WebCore::RenderLayerCompositor::ensureRootLayer):
613
614 2011-12-21  Anders Carlsson  <andersca@apple.com>
615
616         Get rid of ScrollableAreaClient
617         https://bugs.webkit.org/show_bug.cgi?id=75021
618
619         Reviewed by Sam Weinig.
620
621         The ScrollableAreaClient interface will just add an extra level of indirection between ScrollableArea and
622         ScrollAnimator, which is unnecessary. Eventually I'd like to rename ScrollAnimator to something that better reflects
623         all the different responsibilities it currently has.
624
625         * WebCore.exp.in:
626         * page/FrameView.cpp:
627         (WebCore::FrameView::FrameView):
628         * page/ScrollingCoordinator.cpp:
629         * page/ScrollingCoordinator.h:
630         * platform/ScrollView.cpp:
631         (WebCore::ScrollView::ScrollView):
632         * platform/ScrollView.h:
633         * platform/ScrollableArea.cpp:
634         (WebCore::ScrollableArea::ScrollableArea):
635         * platform/ScrollableArea.h:
636         * platform/ScrollableAreaClient.h: Removed.
637
638 2011-12-21  Anders Carlsson  <andersca@apple.com>
639
640         Don't recreate scrollbar layers whenever the frame view size changes
641         https://bugs.webkit.org/show_bug.cgi?id=75018
642
643         Reviewed by Darin Adler and Simon Fraser.
644
645         * rendering/RenderLayerCompositor.cpp:
646         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
647
648 2011-12-20  Andrey Kosyakov  <caseq@chromium.org>
649
650         Web Inspector: [Extension API] refactor extension API build code, expose experimental APIs conditionally in chromium
651         https://bugs.webkit.org/show_bug.cgi?id=74941
652
653         Reviewed by Pavel Feldman.
654
655         * WebCore.gypi:
656         * inspector/front-end/ExtensionAPI.js:
657         (buildPlatformExtensionAPI.platformExtensionAPI):
658         (buildPlatformExtensionAPI):
659         (buildExtensionAPIInjectedScript):
660         * inspector/front-end/ExtensionServer.js:
661         (WebInspector.ExtensionServer.prototype._addExtensions):
662         (WebInspector.ExtensionServer.prototype._addExtension):
663         (window.addExtension):
664
665 2011-12-12  Pavel Podivilov  <podivilov@chromium.org>
666
667         Web Inspector: fix source map url resolving.
668         https://bugs.webkit.org/show_bug.cgi?id=74305
669
670         Reviewed by Pavel Feldman.
671
672         Also fix the bug with repeated source urls in mapping sections.
673
674         * inspector/front-end/CompilerSourceMapping.js:
675         (WebInspector.ClosureCompilerSourceMapping):
676         (WebInspector.ClosureCompilerSourceMapping.prototype.sources):
677         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
678         (WebInspector.ClosureCompilerSourceMapping.prototype._resolveSourceMapURL):
679         * inspector/front-end/DebuggerPresentationModel.js:
680         (WebInspector.DebuggerPresentationModel.prototype.installCompilerSourceMapping):
681         * inspector/front-end/utilities.js:
682         (String.prototype.asParsedURL):
683
684 2011-12-21  Renata Hodovan  <reni@webkit.org>
685
686         New renderer for SVGRectElement
687         https://bugs.webkit.org/show_bug.cgi?id=65769
688
689         Rubber-stamped by Zoltan Herczeg.
690
691         Change the return value of RenderSVGRect::renderName() from RenderSVGPath to RenderSVGRect.
692         This is a follow-up patch of r101517 to correct the DRT output.
693
694         * rendering/svg/RenderSVGRect.h:
695         (WebCore::RenderSVGRect::renderName):
696
697 2011-12-21  Vsevolod Vlasov  <vsevik@chromium.org>
698
699         Web Inspector: TabbedPane should use tabElement width measuring to layout tab elements when width is too small to fit them.
700         https://bugs.webkit.org/show_bug.cgi?id=75005
701
702         Reviewed by Pavel Feldman.
703
704         Test: inspector/tabbed-pane-max-tab-width-calculation.html
705
706         * inspector/front-end/NetworkItemView.js:
707         (WebInspector.NetworkItemView.prototype.wasShown):
708         * inspector/front-end/TabbedPane.js:
709         (WebInspector.TabbedPane):
710         (WebInspector.TabbedPane.prototype.appendTab):
711         (WebInspector.TabbedPane.prototype._createTabElement):
712         (WebInspector.TabbedPane.prototype.onResize):
713         (WebInspector.TabbedPane.prototype._maybeMeasureAndUpdate):
714         (WebInspector.TabbedPane.prototype._measureTab):
715         (WebInspector.TabbedPane.prototype._updateWidths):
716         (WebInspector.TabbedPane.prototype._calculateMaxWidth):
717         (WebInspector.TabbedPaneTab):
718         * inspector/front-end/inspector.css:
719         (.tabbed-pane-header):
720         (.tabbed-pane-header-tabs):
721         (.tabbed-pane-header-tab):
722         (.tabbed-pane-header-tab.measuring):
723         (.tabbed-pane-header-tab.selected):
724         * inspector/front-end/scriptsPanel.css:
725         (#scripts-navigator-tabbed-pane .tabbed-pane-header-tabs):
726
727 2011-12-09  Pavel Podivilov  <podivilov@chromium.org>
728
729         Web Inspector: auto detect source map url.
730         https://bugs.webkit.org/show_bug.cgi?id=74088
731
732         Reviewed by Pavel Feldman.
733
734         Check to see if "X-SourceMap" HTTP response header was sent with script resource.
735         Header value will be used as auto suggestion for source map url in UI.
736
737         * inspector/Inspector.json:
738         * inspector/InspectorDebuggerAgent.cpp:
739         (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
740         (WebCore::InspectorDebuggerAgent::didParseSource):
741         * inspector/InspectorDebuggerAgent.h:
742         * inspector/front-end/DebuggerModel.js:
743         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
744         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
745         * inspector/front-end/RawSourceCode.js:
746         (WebInspector.RawSourceCode):
747         * inspector/front-end/Script.js:
748         (WebInspector.Script):
749
750 2011-12-21  Pierre Rossi  <pierre.rossi@gmail.com>
751
752         [Qt] Mobile theme refinements
753         https://bugs.webkit.org/show_bug.cgi?id=74727
754
755         Mostly to replace most of the rounded-rect-shaped
756         controls with squircle-shaped ones.
757
758         Reviewed by Kenneth Rohde Christiansen.
759
760         No new tests needed.
761
762         * platform/qt/RenderThemeQtMobile.cpp:
763         (WebCore::drawControlBackground):
764         (WebCore::painterScale):
765         (WebCore::borderPen):
766         (WebCore::StylePainterMobile::drawCheckableBackground): Toned down the gradient a bit.
767         (WebCore::StylePainterMobile::findCheckBox):
768         (WebCore::StylePainterMobile::drawRadio):
769         (WebCore::StylePainterMobile::findRadio):
770         (WebCore::StylePainterMobile::drawMultipleComboButton): increase spacing between the dots.
771         (WebCore::StylePainterMobile::drawSimpleComboButton): attempt to improve readability.
772         (WebCore::StylePainterMobile::getButtonImageSize):
773         (WebCore::StylePainterMobile::findComboButton):
774         (WebCore::StylePainterMobile::drawLineEdit):
775         (WebCore::StylePainterMobile::findLineEdit):
776         (WebCore::StylePainterMobile::drawPushButton):
777         (WebCore::StylePainterMobile::findPushButton):
778         (WebCore::StylePainterMobile::drawComboBox):
779         (WebCore::StylePainterMobile::drawProgress):
780         (WebCore::StylePainterMobile::drawSliderThumb):
781         (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
782         (WebCore::RenderThemeQtMobile::paintTextField):
783         * platform/qt/RenderThemeQtMobile.h:
784
785 2011-12-21  Alexander Pavlov  <apavlov@chromium.org>
786
787         Web Inspector: CSSStyleSheet::cssRules can return 0 and InspectorStyleSheet dosen't check
788         https://bugs.webkit.org/show_bug.cgi?id=74938
789
790         Prevent security checks when retrieving a just-added CSS rule from the "inspector stylesheet".
791
792         Reviewed by Pavel Feldman.
793
794         * inspector/InspectorStyleSheet.cpp:
795         (WebCore::InspectorStyleSheet::addRule):
796
797 2011-12-21  Renata Hodovan  <reni@webkit.org>
798
799         Fulfill FIXME in  HTMLLinkElement.h.
800         https://bugs.webkit.org/show_bug.cgi?id=74278
801
802         Rename isStyleSheetLoading() method to styleSheetIsLoading().
803         This new one has the correct grammar.
804
805         Reviewed by Darin Adler.
806
807         No new tests because the functionality remains the same.
808
809         * dom/Document.cpp:
810         (WebCore::Document::recalcStyleSelector):
811         * html/HTMLLinkElement.cpp:
812         (WebCore::HTMLLinkElement::setDisabledState):
813         (WebCore::HTMLLinkElement::styleSheetIsLoading):
814         (WebCore::HTMLLinkElement::sheetLoaded):
815         * html/HTMLLinkElement.h:
816
817 2011-12-21  Yosifumi Inoue  <yosin@chromium.org>
818
819         [Forms] Add OVERRIDE to WebCore/html/*InputType.h
820         https://bugs.webkit.org/show_bug.cgi?id=74996
821
822         Reviewed by Kent Tamura.
823
824         No new tests. Changes are just for compilation.
825
826         * html/BaseButtonInputType.h: Add OVERRIDE.
827         * html/BaseCheckableInputType.h: Add OVERRIDE.
828         * html/BaseDateAndTimeInputType.h: Add OVERRIDE.
829         * html/BaseTextInputType.h: Add OVERRIDE.
830         * html/ButtonInputType.h: Add OVERRIDE.
831         * html/CheckboxInputType.h: Add OVERRIDE.
832         * html/ColorInputType.h: Add OVERRIDE.
833         * html/DateInputType.h: Add OVERRIDE.
834         * html/DateTimeInputType.h: Add OVERRIDE.
835         * html/DateTimeLocalInputType.h: Add OVERRIDE.
836         * html/EmailInputType.h: Add OVERRIDE.
837         * html/FileInputType.h: Add OVERRIDE.
838         * html/HiddenInputType.h: Add OVERRIDE.
839         * html/ImageInputType.h: Add OVERRIDE.
840         * html/IsIndexInputType.h: Add OVERRIDE.
841         * html/MonthInputType.h: Add OVERRIDE.
842         * html/NumberInputType.h: Add OVERRIDE.
843         * html/PasswordInputType.h: Add OVERRIDE.
844         * html/RadioInputType.h: Add OVERRIDE.
845         * html/RangeInputType.h: Add OVERRIDE.
846         * html/ResetInputType.h: Add OVERRIDE.
847         * html/SearchInputType.h: Add OVERRIDE.
848         * html/SubmitInputType.h: Add OVERRIDE.
849         * html/TelephoneInputType.h: Add OVERRIDE.
850         * html/TextFieldInputType.h: Add OVERRIDE.
851         * html/TextInputType.h: Add OVERRIDE.
852         * html/TimeInputType.h: Add OVERRIDE.
853         * html/URLInputType.h: Add OVERRIDE.
854         * html/WeekInputType.h: Add OVERRIDE.
855
856 2011-12-21  Matt Falkenhagen  <falken@chromium.org>
857
858         Add all ICU languages to LocaleToScriptMappingDefault.cpp
859         https://bugs.webkit.org/show_bug.cgi?id=67274
860
861         Reviewed by Kent Tamura.
862
863         This better mimics the behavior of LocaleToScriptMappingICU.cpp. ICU
864         languages from ICU 3.6 are added. Also, script suffix in locale is
865         handled, so for example "fa_Latn" is mapped to Latin while "fa" is mapped to
866         Arabic.
867
868         No new tests, there is no visible effect until default per-script fonts
869         are added to non-ICU ports (alternatively, we could extend DumpRenderTree 
870         to support overridePreference for per-script fonts as in bug 71110).
871
872         * platform/text/LocaleToScriptMappingDefault.cpp:
873         (WebCore::getScriptCode): add script name to script code mapping
874         (WebCore::localeToScriptCodeForFontSelection): add ICU languages to map 
875
876 2011-12-20  Mary Wu  <mary.wu@torchmobile.com.cn>
877
878         Upstream PageClientBlackBerry.h into WebCore/platform/blackberry
879         https://bugs.webkit.org/show_bug.cgi?id=74169
880
881         Reviewed by Daniel Bates.
882
883         Initial upstream, no new tests.
884
885         * platform/blackberry/PageClientBlackBerry.h: Added.
886
887 2011-12-20  Mary Wu  <mary.wu@torchmobile.com.cn>
888
889         Upstream PlatformMouseEvent and LocalizedStrings into WebCore/platform/blackberry
890         https://bugs.webkit.org/show_bug.cgi?id=74383
891
892         Reviewed by Daniel Bates.
893
894         Other Main Contributors:
895         Rob Buis <rbuis@rim.com>
896         Mike Fenton <mifenton@rim.com> 
897
898         Initial upstream, no new tests.
899
900         * PlatformBlackBerry.cmake: Modified to rename Localizations.cpp to LocalizedStringsBlackBerry.cpp
901         * platform/blackberry/LocalizedStringsBlackBerry.cpp: Added.
902         * platform/blackberry/PlatformMouseEventBlackBerry.cpp: Added.
903
904 2011-12-20  Peter Rybin  <peter.rybin@gmail.com>
905
906         Web Inspector: CodeGenerator should not use pointers for out params of RefPtr type.
907         https://bugs.webkit.org/show_bug.cgi?id=69366
908
909         Reviewed by Pavel Feldman.
910
911         Generator fixed and all usages are changed manually.
912
913         * inspector/CodeGeneratorInspector.py:
914         (RawTypes.BaseType):
915         (RawTypes.BaseType.get_output_argument_prefix):
916         (RawTypes.Object.get_output_argument_prefix):
917         (RawTypes.Array.get_output_argument_prefix):
918         (RawTypes):
919         (Generator.process_command):
920         * inspector/InspectorApplicationCacheAgent.cpp:
921         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
922         (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
923         * inspector/InspectorApplicationCacheAgent.h:
924         * inspector/InspectorCSSAgent.cpp:
925         (WebCore::InspectorCSSAgent::clearFrontend):
926         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
927         (WebCore::InspectorCSSAgent::getInlineStylesForNode):
928         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
929         (WebCore::InspectorCSSAgent::getAllStyleSheets):
930         (WebCore::InspectorCSSAgent::getStyleSheet):
931         (WebCore::InspectorCSSAgent::setPropertyText):
932         (WebCore::InspectorCSSAgent::toggleProperty):
933         (WebCore::InspectorCSSAgent::setRuleSelector):
934         (WebCore::InspectorCSSAgent::addRule):
935         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
936         (WebCore::InspectorCSSAgent::stopSelectorProfiler):
937         (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
938         * inspector/InspectorCSSAgent.h:
939         * inspector/InspectorDOMAgent.cpp:
940         (WebCore::InspectorDOMAgent::getDocument):
941         (WebCore::InspectorDOMAgent::querySelectorAll):
942         (WebCore::InspectorDOMAgent::getEventListenersForNode):
943         (WebCore::InspectorDOMAgent::getSearchResults):
944         (WebCore::InspectorDOMAgent::resolveNode):
945         (WebCore::InspectorDOMAgent::getAttributes):
946         * inspector/InspectorDOMAgent.h:
947         * inspector/InspectorDOMStorageAgent.cpp:
948         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
949         * inspector/InspectorDOMStorageAgent.h:
950         * inspector/InspectorDatabaseAgent.cpp:
951         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
952         * inspector/InspectorDatabaseAgent.h:
953         * inspector/InspectorDebuggerAgent.cpp:
954         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
955         (WebCore::InspectorDebuggerAgent::setBreakpoint):
956         (WebCore::InspectorDebuggerAgent::searchInContent):
957         (WebCore::InspectorDebuggerAgent::setScriptSource):
958         (WebCore::InspectorDebuggerAgent::getFunctionLocation):
959         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
960         * inspector/InspectorDebuggerAgent.h:
961         * inspector/InspectorMemoryAgent.cpp:
962         (WebCore::InspectorMemoryAgent::getDOMNodeCount):
963         * inspector/InspectorMemoryAgent.h:
964         * inspector/InspectorPageAgent.cpp:
965         (WebCore::InspectorPageAgent::getCookies):
966         (WebCore::InspectorPageAgent::getResourceTree):
967         (WebCore::InspectorPageAgent::searchInResource):
968         (WebCore::InspectorPageAgent::searchInResources):
969         * inspector/InspectorPageAgent.h:
970         * inspector/InspectorProfilerAgent.cpp:
971         (WebCore::InspectorProfilerAgent::getProfileHeaders):
972         (WebCore::InspectorProfilerAgent::getProfile):
973         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
974         * inspector/InspectorProfilerAgent.h:
975         * inspector/InspectorRuntimeAgent.cpp:
976         (WebCore::InspectorRuntimeAgent::evaluate):
977         (WebCore::InspectorRuntimeAgent::callFunctionOn):
978         (WebCore::InspectorRuntimeAgent::getProperties):
979         * inspector/InspectorRuntimeAgent.h:
980
981 2011-12-20  Eric Penner  <epenner@google.com>
982
983         [chromium] m_triggerIdlePaints not reset after a compositeAndReadback
984         https://bugs.webkit.org/show_bug.cgi?id=74974
985
986         Reviewed by James Robinson.
987
988         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
989         (WebCore::CCLayerTreeHost::compositeAndReadback):
990
991 2011-12-20  David Levin  <levin@chromium.org>
992
993         Move misplaced assert in SQLiteStatement.cpp
994         https://bugs.webkit.org/show_bug.cgi?id=74975
995
996         Reviewed by Dmitry Titov.
997
998         The test is coming with bug 74666.
999
1000         * platform/sql/SQLiteStatement.cpp:
1001         (WebCore::SQLiteStatement::step): If a database was interrupted
1002         before the prepare method was called, then m_isPrepared will be
1003         false, so I moved the assert to be after the check for interrupted.
1004
1005 2011-12-20  Eric Carlson  <eric.carlson@apple.com>
1006
1007         WebVTT cues sometimes render when they should not
1008         https://bugs.webkit.org/show_bug.cgi?id=74873
1009
1010         Not reviewed: update Chromium to pass new test added in r103371.
1011
1012         * html/shadow/MediaControlRootElementChromium.cpp:
1013         (WebCore::MediaControlRootElementChromium::updateTextTrackDisplay):
1014
1015 2011-12-20  Andreas Kling  <kling@webkit.org>
1016
1017         HTMLOptionsCollection: Remove incorrect FIXME about having a base class.
1018         <http://webkit.org/b/74973>
1019
1020         Reviewed by Alexey Proskuryakov.
1021
1022         HTMLOptionsCollection should indeed inherit from HTMLCollection according to
1023         current HTML5, so remove the comment saying we should change that.
1024
1025         Spec: http://www.whatwg.org/specs/web-apps/current-work/#htmloptionscollection
1026
1027         * html/HTMLOptionsCollection.idl:
1028
1029 2011-12-20  Florin Malita  <fmalita@google.com>
1030
1031         td element ignores zero width/height input element
1032         https://bugs.webkit.org/show_bug.cgi?id=74636
1033
1034         Reviewed by Kent Tamura.
1035
1036         Test: fast/forms/input-zero-width.html
1037
1038         * rendering/RenderTextControl.cpp:
1039         (WebCore::RenderTextControl::computePreferredLogicalWidths):
1040         Relax the attribute test to allow setting widths == 0.
1041
1042 2011-12-20  Adam Klein  <adamk@chromium.org>
1043
1044         Avoid unnecessary work when removing attributes from an element
1045         https://bugs.webkit.org/show_bug.cgi?id=74953
1046
1047         Reviewed by Ryosuke Niwa.
1048
1049         Various codepaths in Element and NamedNodeMap repeatedly search
1050         through the list of attributes during a single operation. To avoid
1051         this, I've added new getters to NamedNodeMap that return indices
1052         rather than Attribute*s (they return WTF::notFound if no match is
1053         found). These new methods are now used during removeAttribute
1054         operations, as well as setAttribute and NamedNodeMap::setNamedItem
1055         (along with a new replaceAttribute helper method).
1056
1057         The other optimization here involves the creation/destruction
1058         of never-references Attr nodes. This is now avoided by calling
1059         NamedNodeMap::removeAttribute directly instead of going through
1060         NamedNodeMap::removeNamedItem.
1061
1062         As a cleanup after the above changes, the ExceptionCode argument is
1063         gone from Element::removeAttribute and friends (it was never set
1064         previously). The bulk of the files mentioned below are simply updating
1065         callers to these methods.
1066
1067         No new tests, no change in behavior expected.
1068
1069         * dom/DatasetDOMStringMap.cpp:
1070         (WebCore::DatasetDOMStringMap::deleteItem):
1071         * dom/Element.cpp:
1072         (WebCore::Element::removeAttribute):
1073         (WebCore::Element::setBooleanAttribute):
1074         (WebCore::Element::removeAttributeNS):
1075         (WebCore::Element::setAttribute):
1076         (WebCore::Element::setAttributeInternal):
1077         * dom/Element.h:
1078         * dom/Element.idl:
1079         * dom/NamedNodeMap.cpp:
1080         (WebCore::NamedNodeMap::setNamedItem):
1081         (WebCore::NamedNodeMap::removeNamedItem):
1082         (WebCore::NamedNodeMap::getAttributeItemIndexSlowCase):
1083         (WebCore::NamedNodeMap::replaceAttribute):
1084         (WebCore::NamedNodeMap::removeAttribute):
1085         * dom/NamedNodeMap.h:
1086         (WebCore::NamedNodeMap::getAttributeItem):
1087         (WebCore::NamedNodeMap::getAttributeItemIndex):
1088         (WebCore::NamedNodeMap::removeAttribute):
1089         * editing/ApplyStyleCommand.cpp:
1090         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
1091         * editing/InsertParagraphSeparatorCommand.cpp:
1092         (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
1093         * editing/SplitElementCommand.cpp:
1094         (WebCore::SplitElementCommand::executeApply):
1095         * html/HTMLElement.cpp:
1096         (WebCore::HTMLElement::setContentEditable):
1097         * html/HTMLInputElement.cpp:
1098         (WebCore::HTMLInputElement::setType):
1099         * inspector/InspectorDOMAgent.cpp:
1100         (WebCore::InspectorDOMAgent::setAttributesAsText):
1101         (WebCore::InspectorDOMAgent::removeAttribute):
1102         * svg/SVGUseElement.cpp:
1103         (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):
1104
1105 2011-12-20  Eric Carlson  <eric.carlson@apple.com>
1106
1107         WebVTT cues sometimes render when they should not
1108         https://bugs.webkit.org/show_bug.cgi?id=74873
1109
1110         Reviewed by Darin Adler.
1111
1112         Test: media/track/track-cue-nothing-to-render.html
1113
1114         * html/shadow/MediaControlRootElement.cpp:
1115         (WebCore::MediaControlRootElement::updateTextTrackDisplay): Don't return early if the current
1116             cue is empty so the previous cue is removed.
1117
1118 2011-12-20  Ami Fischman  <fischman@chromium.org>
1119
1120         Don't crash on the second time VideoLayerChromium::createCCVideoLayer() is called
1121         https://bugs.webkit.org/show_bug.cgi?id=74963
1122
1123         Reviewed by James Robinson.
1124
1125         Manually tested by force-dropping the layer tree in CCLayerTreeHost::didBecomeInvisibleOnImplThread().
1126         Crashed before the fix, doesn't crash after.
1127
1128         * platform/graphics/chromium/VideoLayerChromium.cpp:
1129         (WebCore::VideoLayerChromium::VideoLayerChromium):
1130         (WebCore::VideoLayerChromium::~VideoLayerChromium):
1131         (WebCore::VideoLayerChromium::createCCLayerImpl):
1132         * platform/graphics/chromium/VideoLayerChromium.h:
1133
1134 2011-12-20  Scott Graham  <scottmg@chromium.org>
1135
1136         wouldTaintOrigin m_cleanURLs cache grows very large when data urls used
1137         https://bugs.webkit.org/show_bug.cgi?id=74957
1138
1139         Reviewed by Kenneth Russell.
1140
1141         No new tests, but memory usage of CanvasRenderingContext::m_cleanURLs
1142         is reduced.
1143
1144         * html/canvas/CanvasRenderingContext.cpp:
1145         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
1146
1147 2011-12-20  Greg Billock  <gbillock@google.com>
1148
1149         Change adoptPtr(new ...) to ...::create in Page.cpp
1150         https://bugs.webkit.org/show_bug.cgi?id=74457
1151
1152         Reviewed by Darin Adler.
1153
1154         * dom/DeviceMotionController.cpp:
1155         (WebCore::DeviceMotionController::create):
1156         * dom/DeviceMotionController.h:
1157         * dom/DeviceOrientationController.cpp:
1158         (WebCore::DeviceOrientationController::create):
1159         * dom/DeviceOrientationController.h:
1160         * editing/FrameSelection.cpp:
1161         (WebCore::DragCaretController::create):
1162         * editing/FrameSelection.h:
1163         * history/BackForwardController.cpp:
1164         (WebCore::BackForwardController::create):
1165         * history/BackForwardController.h:
1166         * inspector/InspectorController.cpp:
1167         (WebCore::InspectorController::create):
1168         * inspector/InspectorController.h:
1169         * loader/ProgressTracker.cpp:
1170         (WebCore::ProgressTracker::create):
1171         * loader/ProgressTracker.h:
1172         * notifications/NotificationController.cpp:
1173         (WebCore::NotificationController::create):
1174         * notifications/NotificationController.h:
1175         * page/Chrome.cpp:
1176         (WebCore::Chrome::create):
1177         * page/Chrome.h:
1178         * page/ContextMenuController.cpp:
1179         (WebCore::ContextMenuController::create):
1180         * page/ContextMenuController.h:
1181         * page/DragController.cpp:
1182         (WebCore::DragController::create):
1183         * page/DragController.h:
1184         * page/FocusController.cpp:
1185         (WebCore::FocusController::create):
1186         * page/FocusController.h:
1187         * page/GeolocationController.cpp:
1188         (WebCore::GeolocationController::create):
1189         * page/GeolocationController.h:
1190         * page/Page.cpp:
1191         (WebCore::Page::Page):
1192         (WebCore::Page::initGroup):
1193         (WebCore::Page::speechInput):
1194         * page/PageGroup.cpp:
1195         (WebCore::PageGroup::create):
1196         * page/PageGroup.h:
1197         * page/Settings.cpp:
1198         (WebCore::Settings::create):
1199         * page/Settings.h:
1200         * page/SpeechInput.cpp:
1201         (WebCore::SpeechInput::create):
1202         * page/SpeechInput.h:
1203
1204 2011-12-20  Ryosuke Niwa  <rniwa@webkit.org>
1205
1206         Mac build fix after r103354.
1207
1208         * platform/mac/ScrollAnimatorMac.mm:
1209         (systemUptime):
1210
1211 2011-12-20  Anders Carlsson  <andersca@apple.com>
1212
1213         Add ScrollableArea::contentsResized and have it call the scroll animator
1214         https://bugs.webkit.org/show_bug.cgi?id=74966
1215
1216         Reviewed by Sam Weinig.
1217
1218         * WebCore.exp.in:
1219         * page/FrameView.cpp:
1220         (WebCore::FrameView::setContentsSize):
1221         (WebCore::FrameView::contentsResized):
1222         * page/FrameView.h:
1223         * platform/ScrollView.h:
1224         * platform/ScrollableArea.cpp:
1225         (WebCore::ScrollableArea::contentsResized):
1226         * platform/ScrollableArea.h:
1227
1228 2011-12-20  Simon Fraser  <simon.fraser@apple.com>
1229
1230         requestAnimationFrame on Mac fires at 60fps even when drawing is much slower
1231         https://bugs.webkit.org/show_bug.cgi?id=74964
1232
1233         Reviewed by Chris Marrin.
1234         
1235         On Mac requestAnimationFrame uses a CVDisplayLink, sending notifications
1236         from the display link thread to the main thread that the display link fired.
1237         However, there was no throttling on these notifications; if processing an event
1238         took a long time, notifications would pile up, and then get handled after
1239         the slow event completed.
1240         
1241         This would cause JS animations which animate by changing style to report
1242         60fps when their display framerate was much lower.
1243         
1244         Fix by throttling notifications from the display link thread to the web
1245         thread; if the previous event hasn't completed yet, don't send any new ones.
1246
1247         No new tests, since testing this runtime behavior is hard.
1248
1249         * platform/graphics/DisplayRefreshMonitor.cpp:
1250         (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
1251         (WebCore::DisplayRefreshMonitor::refreshDisplayOnMainThread):
1252         (WebCore::DisplayRefreshMonitor::notifyClients): Factored out of the
1253         static refreshDisplayOnMainThread method so we can use 'this'.
1254         * platform/graphics/DisplayRefreshMonitor.h:
1255         * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
1256         (WebCore::DisplayRefreshMonitor::displayLinkFired):
1257
1258 2011-12-20  Greg Billock  <gbillock@google.com>
1259
1260         [Coverity] Fix leak in V8HTMLDocument
1261         https://bugs.webkit.org/show_bug.cgi?id=74943
1262
1263         Reviewed by Adam Barth.
1264
1265         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1266         (WebCore::V8HTMLDocument::openCallback):
1267
1268 2011-12-20  Sailesh Agrawal <sail@chromium.org>
1269
1270         Merge ScrollAnimatorChromiumMac.mm back to ScrollAnimatorMac
1271         https://bugs.webkit.org/show_bug.cgi?id=61144
1272
1273         Reviewed by Beth Dakin.
1274
1275         At a high level the main changes are:
1276             - replace #ifdefs in ScrollAnimatorMac and ScrollbarThemeMac with run time checks
1277             - delete duplicate code in ScrollbarThemeChromiumMac. Keep the paint code since it does tickmarks and SKIA stuff.
1278             - delete ScrollAnimatorChromiumMac since ScrollAnimatorMac does the exact same thing
1279             - delete ScrollbarOverlayUtilitiesChromiumMac since NSScrollerImpDetails does the same thing
1280
1281         No new tests. Just refactoring.
1282
1283         * WebCore.gyp/WebCore.gyp:
1284         * WebCore.gypi:
1285         * WebCore.xcodeproj/project.pbxproj:
1286         * platform/chromium/ScrollAnimatorChromiumMac.h: Removed.
1287         * platform/chromium/ScrollAnimatorChromiumMac.mm: Removed.
1288         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: Removed.
1289         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: Removed.
1290         * platform/chromium/ScrollbarThemeChromiumMac.h:
1291         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1292         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
1293         (WebCore::scrollbarPainterPaintTrack):
1294         (WebCore::ScrollbarThemeChromiumMac::paint):
1295         * platform/mac/EmptyProtocolDefinitions.h:
1296         * platform/mac/NSScrollerImpDetails.h:
1297         (WebCore::isScrollbarOverlayAPIAvailable):
1298         * platform/mac/NSScrollerImpDetails.mm: Added.
1299         (WebCore::isScrollbarOverlayAPIAvailable):
1300         (WebCore::recommendedScrollerStyle):
1301         * platform/mac/ScrollAnimatorMac.h:
1302         * platform/mac/ScrollAnimatorMac.mm:
1303         (scrollbarPainterForScrollbar):
1304         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
1305         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1306         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
1307         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
1308         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
1309         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
1310         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
1311         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
1312         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
1313         (WebCore::ScrollAnimatorMac::willStartLiveResize):
1314         (WebCore::ScrollAnimatorMac::contentsResized):
1315         (WebCore::ScrollAnimatorMac::willEndLiveResize):
1316         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
1317         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
1318         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
1319         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
1320         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
1321         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
1322         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
1323         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
1324         (WebCore::ScrollAnimatorMac::cancelAnimations):
1325         (WebCore::ScrollAnimatorMac::setIsActive):
1326         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
1327         (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
1328         * platform/mac/ScrollElasticityController.h:
1329         * platform/mac/ScrollbarThemeMac.h:
1330         * platform/mac/ScrollbarThemeMac.mm:
1331         (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
1332         (+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
1333         (WebCore::updateArrowPlacement):
1334         (WebCore::ScrollbarThemeMac::registerScrollbar):
1335         (WebCore::ScrollbarThemeMac::setIsCurrentlyDrawingIntoLayer):
1336         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
1337         (WebCore::ScrollbarThemeMac::scrollbarThickness):
1338         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
1339         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
1340         (WebCore::ScrollbarThemeMac::hasButtons):
1341         (WebCore::ScrollbarThemeMac::hasThumb):
1342         (WebCore::ScrollbarThemeMac::minimumThumbLength):
1343         (WebCore::ScrollbarThemeMac::scrollbarPartToHIPressedState):
1344         (WebCore::ScrollbarThemeMac::updateEnabledState):
1345         (WebCore::scrollbarPainterPaint):
1346         (WebCore::ScrollbarThemeMac::paint):
1347
1348 2011-12-20  Tony Chang  <tony@chromium.org>
1349
1350         sizeof(RenderStyle) is 64 instead of 56 on Windows (x86)
1351         https://bugs.webkit.org/show_bug.cgi?id=74876
1352
1353         Reviewed by Ryosuke Niwa.
1354
1355         Move bit fields into a new class and use unsigned for all types so we
1356         align at 4 byte bounds. Also move the initializers into the header
1357         file (has the side benefit of not needing to duplicate the initializers
1358         in 3 places).
1359
1360         Enable the compile assert on Windows.
1361
1362         * rendering/style/RenderStyle.cpp:
1363         (WebCore::RenderStyle::RenderStyle):
1364         * rendering/style/RenderStyle.h:
1365         (WebCore::RenderStyleBitfields::affectedByUncommonAttributeSelectors):
1366         (WebCore::RenderStyleBitfields::setAffectedByUncommonAttributeSelectors):
1367         (WebCore::RenderStyleBitfields::unique):
1368         (WebCore::RenderStyleBitfields::setUnique):
1369         (WebCore::RenderStyleBitfields::affectedByEmpty):
1370         (WebCore::RenderStyleBitfields::emptyState):
1371         (WebCore::RenderStyleBitfields::setEmptyState):
1372         (WebCore::RenderStyleBitfields::childrenAffectedByFirstChildRules):
1373         (WebCore::RenderStyleBitfields::setChildrenAffectedByFirstChildRules):
1374         (WebCore::RenderStyleBitfields::childrenAffectedByLastChildRules):
1375         (WebCore::RenderStyleBitfields::setChildrenAffectedByLastChildRules):
1376         (WebCore::RenderStyleBitfields::childrenAffectedByDirectAdjacentRules):
1377         (WebCore::RenderStyleBitfields::setChildrenAffectedByDirectAdjacentRules):
1378         (WebCore::RenderStyleBitfields::childrenAffectedByForwardPositionalRules):
1379         (WebCore::RenderStyleBitfields::setChildrenAffectedByForwardPositionalRules):
1380         (WebCore::RenderStyleBitfields::childrenAffectedByBackwardPositionalRules):
1381         (WebCore::RenderStyleBitfields::setChildrenAffectedByBackwardPositionalRules):
1382         (WebCore::RenderStyleBitfields::firstChildState):
1383         (WebCore::RenderStyleBitfields::setFirstChildState):
1384         (WebCore::RenderStyleBitfields::lastChildState):
1385         (WebCore::RenderStyleBitfields::setLastChildState):
1386         (WebCore::RenderStyleBitfields::childIndex):
1387         (WebCore::RenderStyleBitfields::setChildIndex):
1388         (WebCore::RenderStyleBitfields::setHasExplicitlyInheritedProperties):
1389         (WebCore::RenderStyleBitfields::hasExplicitlyInheritedProperties):
1390
1391 2011-12-20  Tony Chang  <tony@chromium.org>
1392
1393         [chromium] enable WPO for WebCore libs in official builds
1394         https://bugs.webkit.org/show_bug.cgi?id=74947
1395
1396         Reviewed by James Robinson.
1397
1398         Also move enable_wexit_time_destructors to the top level variables
1399         so we don't have to add it to all targets.
1400
1401         * WebCore.gyp/WebCore.gyp:
1402
1403 2011-12-20  Anders Carlsson  <andersca@apple.com>
1404
1405         Add ScrollableArea wrappers for a bunch of ScrollAnimator member functions
1406         https://bugs.webkit.org/show_bug.cgi?id=74951
1407
1408         Reviewed by Sam Weinig.
1409
1410         * WebCore.exp.in:
1411         * page/EventHandler.cpp:
1412         (WebCore::EventHandler::mouseMoved):
1413         (WebCore::EventHandler::updateMouseEventTargetNode):
1414         * page/FocusController.cpp:
1415         (WebCore::FocusController::setActive):
1416         * page/FrameView.cpp:
1417         (WebCore::FrameView::didMoveOnscreen):
1418         (WebCore::FrameView::willMoveOffscreen):
1419         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
1420         * platform/ScrollableArea.cpp:
1421         (WebCore::ScrollableArea::contentAreaWillPaint):
1422         (WebCore::ScrollableArea::mouseEnteredContentArea):
1423         (WebCore::ScrollableArea::mouseExitedContentArea):
1424         (WebCore::ScrollableArea::mouseMovedInContentArea):
1425         (WebCore::ScrollableArea::mouseEnteredScrollbar):
1426         (WebCore::ScrollableArea::mouseExitedScrollbar):
1427         (WebCore::ScrollableArea::contentAreaDidShow):
1428         (WebCore::ScrollableArea::contentAreaDidHide):
1429         * platform/ScrollableArea.h:
1430         * platform/ScrollableAreaClient.h:
1431         * platform/Scrollbar.cpp:
1432         (WebCore::Scrollbar::mouseEntered):
1433         (WebCore::Scrollbar::mouseExited):
1434         (WebCore::Scrollbar::mouseUp):
1435
1436 2011-12-20  Jarred Nicholls  <jarred@sencha.com>
1437
1438         Perform case insensitive matching on MIME types in XHR
1439         https://bugs.webkit.org/show_bug.cgi?id=74800
1440
1441         Perform case insensitive matching on responseMIMEType() in didReceiveData().
1442         Workaround case sensitive matching by DOMImplementation::isXMLMIMEType() in responseIsXML().
1443
1444         Reviewed by Darin Adler.
1445
1446         Tests: http/tests/xmlhttprequest/xmlhttprequest-mimetype-mixed-case.html
1447                http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-mixed-case.html
1448
1449         * xml/XMLHttpRequest.cpp:
1450         (WebCore::XMLHttpRequest::didReceiveData):
1451         (WebCore::XMLHttpRequest::responseIsXML):
1452
1453 2011-12-20  Adam Klein  <adamk@chromium.org>
1454
1455         Remove no-op DOMAttr* event dispatch methods from Element
1456         https://bugs.webkit.org/show_bug.cgi?id=74946
1457
1458         Reviewed by Darin Adler.
1459
1460         The removed methods had their bodies #if 0'd out, so this should have
1461         no effect on anything.
1462
1463         * dom/Element.cpp:
1464         * dom/Element.h:
1465         * dom/NamedNodeMap.cpp:
1466         (WebCore::NamedNodeMap::addAttribute):
1467         (WebCore::NamedNodeMap::removeAttribute):
1468
1469 2011-12-20  Anders Carlsson  <andersca@apple.com>
1470
1471         ScrollableArea should have an optional ScrollableAreaClient
1472         https://bugs.webkit.org/show_bug.cgi?id=74949
1473
1474         Reviewed by Sam Weinig.
1475
1476         * WebCore.exp.in:
1477         * WebCore.xcodeproj/project.pbxproj:
1478         * page/FrameView.cpp:
1479         (WebCore::scrollableAreaClient):
1480         (WebCore::FrameView::FrameView):
1481         * page/ScrollingCoordinator.cpp:
1482         (WebCore::ScrollingCoordinator::scrollableAreaClientForFrame):
1483         * page/ScrollingCoordinator.h:
1484         * platform/ScrollView.cpp:
1485         (WebCore::ScrollView::ScrollView):
1486         * platform/ScrollView.h:
1487         * platform/ScrollableArea.cpp:
1488         (WebCore::ScrollableArea::ScrollableArea):
1489         * platform/ScrollableArea.h:
1490         * platform/ScrollableAreaClient.h: Added.
1491         (WebCore::ScrollableAreaClient::~ScrollableAreaClient):
1492         (WebCore::ScrollableAreaClient::ScrollableAreaClient):
1493
1494 2011-12-19  Adam Klein  <adamk@chromium.org>
1495
1496         Rename Element::setAttributeMap to parserSetAttributeMap and limit its use to the parser
1497         https://bugs.webkit.org/show_bug.cgi?id=74885
1498
1499         Reviewed by Ryosuke Niwa.
1500
1501         Element::setAttributeMap is currently used by the parser in cases
1502         where a NamedNodeMap of attributes has already been allocated and
1503         transfers ownership to the Element. Other uses in WebCore don't have
1504         this ownership-transfer requirement, and so are more clearly expressed
1505         with normal setAttribute calls.
1506
1507         Eliminating non-parser callers allows the code to make safe
1508         assumptions about the state of the Element it's called on: no need to
1509         worry about, e.g., updating the id in the document's cache or
1510         enqueueing mutation records.
1511
1512         No new tests, no change in behavior expected.
1513
1514         * dom/Element.cpp:
1515         (WebCore::Element::parserSetAttributeMap): Renamed, added assertions
1516         to make sure it's not called unexpectedly, update comments.
1517         * dom/Element.h:
1518         * html/HTMLViewSourceDocument.cpp: Use setAttribute instead of setAttributeMap.
1519         (WebCore::HTMLViewSourceDocument::createContainingTable):
1520         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
1521         (WebCore::HTMLViewSourceDocument::addLine):
1522         (WebCore::HTMLViewSourceDocument::addBase):
1523         (WebCore::HTMLViewSourceDocument::addLink):
1524         * html/parser/HTMLConstructionSite.cpp: Reference new name.
1525         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
1526         (WebCore::HTMLConstructionSite::insertScriptElement):
1527         (WebCore::HTMLConstructionSite::createElement):
1528         (WebCore::HTMLConstructionSite::createHTMLElement):
1529         * html/track/WebVTTParser.cpp:
1530         (WebCore::WebVTTParser::constructTreeFromToken): Use setAttribute instead of setAttributeMap.
1531         Also get rid of an unnecessary String -> AtomicString conversion.
1532
1533 2011-12-20  Iain Merrick  <husky@google.com>
1534
1535         Remove unused parameter from RenderLayerCompositor::rebuildCompositingLayerTree
1536         https://bugs.webkit.org/show_bug.cgi?id=74936
1537
1538         Reviewed by Simon Fraser.
1539
1540         Pure refactoring, no change in functionality.
1541
1542         * rendering/RenderLayerCompositor.cpp:
1543         (WebCore::RenderLayerCompositor::updateCompositingLayers):
1544         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
1545         * rendering/RenderLayerCompositor.h:
1546
1547 2011-12-20  Tony Chang  <tony@chromium.org>
1548
1549         RenderStyle::InheritedFlags and RenderStyle::NonInheritedFlags members should be 4 byte aligned
1550         https://bugs.webkit.org/show_bug.cgi?id=74880
1551
1552         Reviewed by Ryosuke Niwa.
1553
1554         Use unsigned for all types so we get 4 byte boundaries (unsigned char
1555         means we try to align to 1 byte boundaries) and add setters and
1556         getters for bool members.
1557
1558         Move some members around to make sure we're aligned to 4 byte boundaries.
1559
1560         * rendering/style/RenderStyle.cpp:
1561         (WebCore::RenderStyle::copyNonInheritedFrom):
1562         * rendering/style/RenderStyle.h:
1563         (WebCore::InheritedFlags::NonInheritedFlags::affectedByHover):
1564         (WebCore::InheritedFlags::NonInheritedFlags::setAffectedByHover):
1565         (WebCore::InheritedFlags::NonInheritedFlags::affectedByActive):
1566         (WebCore::InheritedFlags::NonInheritedFlags::setAffectedByActive):
1567         (WebCore::InheritedFlags::NonInheritedFlags::affectedByDrag):
1568         (WebCore::InheritedFlags::NonInheritedFlags::setAffectedByDrag):
1569         (WebCore::InheritedFlags::NonInheritedFlags::isLink):
1570         (WebCore::InheritedFlags::NonInheritedFlags::setIsLink):
1571         (WebCore::InheritedFlags::setBitDefaults):
1572         (WebCore::InheritedFlags::affectedByHoverRules):
1573         (WebCore::InheritedFlags::affectedByActiveRules):
1574         (WebCore::InheritedFlags::affectedByDragRules):
1575         (WebCore::InheritedFlags::setAffectedByHoverRules):
1576         (WebCore::InheritedFlags::setAffectedByActiveRules):
1577         (WebCore::InheritedFlags::setAffectedByDragRules):
1578         (WebCore::InheritedFlags::isLink):
1579         (WebCore::InheritedFlags::setIsLink):
1580
1581 2011-12-20  Julien Chaffraix  <jchaffraix@webkit.org>
1582
1583         Regression(99212): table rows get incorrect height after changing some cells' height
1584         https://bugs.webkit.org/show_bug.cgi?id=74303
1585
1586         Reviewed by Darin Adler.
1587
1588         Tests: fast/table/resize-table-binding-cell.html
1589                fast/table/resize-table-cell.html
1590                fast/table/resize-table-row.html
1591
1592         r99212 wrongly implemented the row's logicalHeight recalculation.
1593         The original code would use recalcCells which would properly recalculate a
1594         row logicalHeight by iterating over the table's cells but throwing out the
1595         existing result.
1596
1597         Our approach is just to recompute our row's logicalHeight and leave the
1598         rest of the section untouched.
1599
1600         * rendering/RenderTableSection.cpp:
1601         (WebCore::updateLogicalHeightForCell):
1602         Added this new helper function to update the RowStruct logicalHeight during
1603         |addCell| and |rowLogicalHeightChanged|.
1604
1605         (WebCore::RenderTableSection::addCell):
1606         Replaced the old code with a call to updateLogicalHeightForCell.
1607         (WebCore::RenderTableSection::rowLogicalHeightChanged):
1608         Added a call to updateLogicalHeightForCell for each cells.
1609
1610 2011-12-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1611
1612         Unreviewed, rolling out r103322.
1613         http://trac.webkit.org/changeset/103322
1614         https://bugs.webkit.org/show_bug.cgi?id=74927
1615
1616         seven inspector's tests are crashing on qt (Requested by
1617         loislo on #webkit).
1618
1619         * inspector/CodeGeneratorInspector.py:
1620         (RawTypes.BaseType.is_event_param_check_optional):
1621         (RawTypes.Object.is_event_param_check_optional):
1622         (RawTypes.Array.is_event_param_check_optional):
1623         (RawTypes):
1624         (Generator.process_command):
1625         * inspector/InspectorApplicationCacheAgent.cpp:
1626         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
1627         (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
1628         * inspector/InspectorApplicationCacheAgent.h:
1629         * inspector/InspectorCSSAgent.cpp:
1630         (WebCore::InspectorCSSAgent::clearFrontend):
1631         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
1632         (WebCore::InspectorCSSAgent::getInlineStylesForNode):
1633         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1634         (WebCore::InspectorCSSAgent::getAllStyleSheets):
1635         (WebCore::InspectorCSSAgent::getStyleSheet):
1636         (WebCore::InspectorCSSAgent::setPropertyText):
1637         (WebCore::InspectorCSSAgent::toggleProperty):
1638         (WebCore::InspectorCSSAgent::setRuleSelector):
1639         (WebCore::InspectorCSSAgent::addRule):
1640         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
1641         (WebCore::InspectorCSSAgent::stopSelectorProfiler):
1642         * inspector/InspectorCSSAgent.h:
1643         * inspector/InspectorDOMAgent.cpp:
1644         (WebCore::InspectorDOMAgent::getDocument):
1645         (WebCore::InspectorDOMAgent::querySelectorAll):
1646         (WebCore::InspectorDOMAgent::getEventListenersForNode):
1647         (WebCore::InspectorDOMAgent::getSearchResults):
1648         (WebCore::InspectorDOMAgent::resolveNode):
1649         (WebCore::InspectorDOMAgent::getAttributes):
1650         * inspector/InspectorDOMAgent.h:
1651         * inspector/InspectorDOMStorageAgent.cpp:
1652         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
1653         * inspector/InspectorDOMStorageAgent.h:
1654         * inspector/InspectorDatabaseAgent.cpp:
1655         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
1656         * inspector/InspectorDatabaseAgent.h:
1657         * inspector/InspectorDebuggerAgent.cpp:
1658         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1659         (WebCore::InspectorDebuggerAgent::setBreakpoint):
1660         (WebCore::InspectorDebuggerAgent::searchInContent):
1661         (WebCore::InspectorDebuggerAgent::setScriptSource):
1662         (WebCore::InspectorDebuggerAgent::getFunctionLocation):
1663         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1664         * inspector/InspectorDebuggerAgent.h:
1665         * inspector/InspectorMemoryAgent.cpp:
1666         (WebCore::InspectorMemoryAgent::getDOMNodeCount):
1667         * inspector/InspectorMemoryAgent.h:
1668         * inspector/InspectorPageAgent.cpp:
1669         (WebCore::InspectorPageAgent::getCookies):
1670         (WebCore::InspectorPageAgent::getResourceTree):
1671         (WebCore::InspectorPageAgent::searchInResource):
1672         (WebCore::InspectorPageAgent::searchInResources):
1673         * inspector/InspectorPageAgent.h:
1674         * inspector/InspectorProfilerAgent.cpp:
1675         (WebCore::InspectorProfilerAgent::getProfileHeaders):
1676         (WebCore::InspectorProfilerAgent::getProfile):
1677         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
1678         * inspector/InspectorProfilerAgent.h:
1679         * inspector/InspectorRuntimeAgent.cpp:
1680         (WebCore::InspectorRuntimeAgent::evaluate):
1681         (WebCore::InspectorRuntimeAgent::callFunctionOn):
1682         (WebCore::InspectorRuntimeAgent::getProperties):
1683         * inspector/InspectorRuntimeAgent.h:
1684
1685 2011-12-19  Andrey Kosyakov  <caseq@chromium.org>
1686
1687         Web Inspector: [Extensions API] allow setting extension API per extension security origin
1688         https://bugs.webkit.org/show_bug.cgi?id=74868
1689
1690         Reviewed by Pavel Feldman.
1691
1692         This replaces InspectorExtensionAPI string within InspectorFrontendHost with a map by extension
1693         security origin, so that we can have APIs customized by extension (in particular, this is needed
1694         to expose experimental APIs only to certain extensions).
1695
1696         * inspector/InspectorAgent.cpp:
1697         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
1698         (WebCore::InspectorAgent::setInjectedScriptForOrigin):
1699         * inspector/InspectorAgent.h:
1700         * inspector/InspectorController.cpp:
1701         (WebCore::InspectorController::setInjectedScriptForOrigin):
1702         * inspector/InspectorController.h:
1703         * inspector/InspectorFrontendHost.cpp:
1704         (WebCore::InspectorFrontendHost::setInjectedScriptForOrigin):
1705         * inspector/InspectorFrontendHost.h:
1706         * inspector/InspectorFrontendHost.idl:
1707         * inspector/front-end/ExtensionServer.js:
1708         (WebInspector.ExtensionServer.prototype._addExtensions):
1709         (WebInspector.ExtensionServer.prototype._addExtension):
1710
1711 2011-12-20  Peter Rybin  <peter.rybin@gmail.com>
1712
1713         Web Inspector: CodeGenerator should not use pointers for out params of RefPtr type.
1714         https://bugs.webkit.org/show_bug.cgi?id=69366
1715
1716         Reviewed by Pavel Feldman.
1717
1718         Generator fixed and all usages are changed manually.
1719
1720         * inspector/CodeGeneratorInspector.py:
1721         (RawTypes.BaseType.is_event_param_check_optional):
1722         (RawTypes.BaseType):
1723         (RawTypes.BaseType.get_output_argument_prefix):
1724         (RawTypes.Object.get_output_argument_prefix):
1725         (RawTypes.Array.get_output_argument_prefix):
1726         (RawTypes):
1727         (Generator.process_command):
1728         * inspector/InspectorApplicationCacheAgent.cpp:
1729         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
1730         (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
1731         * inspector/InspectorApplicationCacheAgent.h:
1732         * inspector/InspectorCSSAgent.cpp:
1733         (WebCore::InspectorCSSAgent::clearFrontend):
1734         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
1735         (WebCore::InspectorCSSAgent::getInlineStylesForNode):
1736         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1737         (WebCore::InspectorCSSAgent::getAllStyleSheets):
1738         (WebCore::InspectorCSSAgent::getStyleSheet):
1739         (WebCore::InspectorCSSAgent::setPropertyText):
1740         (WebCore::InspectorCSSAgent::toggleProperty):
1741         (WebCore::InspectorCSSAgent::setRuleSelector):
1742         (WebCore::InspectorCSSAgent::addRule):
1743         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
1744         (WebCore::InspectorCSSAgent::stopSelectorProfiler):
1745         (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
1746         * inspector/InspectorCSSAgent.h:
1747         * inspector/InspectorDOMAgent.cpp:
1748         (WebCore::InspectorDOMAgent::getDocument):
1749         (WebCore::InspectorDOMAgent::querySelectorAll):
1750         (WebCore::InspectorDOMAgent::getEventListenersForNode):
1751         (WebCore::InspectorDOMAgent::getSearchResults):
1752         (WebCore::InspectorDOMAgent::resolveNode):
1753         (WebCore::InspectorDOMAgent::getAttributes):
1754         * inspector/InspectorDOMAgent.h:
1755         * inspector/InspectorDOMStorageAgent.cpp:
1756         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
1757         * inspector/InspectorDOMStorageAgent.h:
1758         * inspector/InspectorDatabaseAgent.cpp:
1759         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
1760         * inspector/InspectorDatabaseAgent.h:
1761         * inspector/InspectorDebuggerAgent.cpp:
1762         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1763         (WebCore::InspectorDebuggerAgent::setBreakpoint):
1764         (WebCore::InspectorDebuggerAgent::searchInContent):
1765         (WebCore::InspectorDebuggerAgent::setScriptSource):
1766         (WebCore::InspectorDebuggerAgent::getFunctionLocation):
1767         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1768         * inspector/InspectorDebuggerAgent.h:
1769         * inspector/InspectorMemoryAgent.cpp:
1770         (WebCore::InspectorMemoryAgent::getDOMNodeCount):
1771         * inspector/InspectorMemoryAgent.h:
1772         * inspector/InspectorPageAgent.cpp:
1773         (WebCore::InspectorPageAgent::getCookies):
1774         (WebCore::InspectorPageAgent::getResourceTree):
1775         (WebCore::InspectorPageAgent::searchInResource):
1776         (WebCore::InspectorPageAgent::searchInResources):
1777         * inspector/InspectorPageAgent.h:
1778         * inspector/InspectorProfilerAgent.cpp:
1779         (WebCore::InspectorProfilerAgent::getProfileHeaders):
1780         (WebCore::InspectorProfilerAgent::getProfile):
1781         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
1782         * inspector/InspectorProfilerAgent.h:
1783         * inspector/InspectorRuntimeAgent.cpp:
1784         (WebCore::InspectorRuntimeAgent::evaluate):
1785         (WebCore::InspectorRuntimeAgent::callFunctionOn):
1786         (WebCore::InspectorRuntimeAgent::getProperties):
1787         * inspector/InspectorRuntimeAgent.h:
1788
1789 2011-12-20  Julien Chaffraix  <jchaffraix@webkit.org>
1790
1791         Crash in RenderTable::outerBorderAfter
1792         http://webkit.org/b/74026
1793         <rdar://problem/10552313>
1794
1795         Reviewed by Eric Seidel.
1796
1797         Test: fast/table/computeLogicalWidth-table-needsSectionRecalc.html
1798
1799         RenderBlock can call computeLogicalWidth() before calling layout(). The code in
1800         RenderTable::computeLogicalWidth would make the assumption that layout() was called
1801         as layout() is responsible for recomputing our sections.
1802
1803         To prevent the issue, let's just recompute the section if it's needed as this situation
1804         shouldn't be an error. Also adding more knowledge of table in RenderBlock seems bad.
1805
1806         * rendering/RenderTable.cpp:
1807         (WebCore::RenderTable::computeLogicalWidth):
1808         Make sure we recalculate our section if it's needed.
1809
1810 2011-12-20  Kentaro Hara  <haraken@chromium.org>
1811
1812         [Refactoring] Replace imp with impl in CodeGeneratorJS.pm
1813         https://bugs.webkit.org/show_bug.cgi?id=74901
1814
1815         Reviewed by Adam Barth.
1816
1817         As pointed out in bug 74837, the generated code by CodeGeneratorJS.pm includes
1818         both 'imp' and 'impl'. This patch unifies them into 'impl'.
1819         I confirmed that "perl -lne 'print if /imp[^a-z]/' CodeGeneratorJS.pm" outputs nothing.
1820
1821         No new tests. No change in behavior.
1822
1823         * bindings/scripts/CodeGeneratorJS.pm:
1824         (GenerateAttributeEventListenerCall):
1825         (GenerateEventListenerCall):
1826         (GenerateImplementation):
1827         (GenerateParametersCheck):
1828         (GenerateImplementationFunctionCall):
1829         (NativeToJSValue):
1830
1831         * bindings/scripts/test/JS/JSFloat64Array.cpp: Updated run-bindings-tests results.
1832         (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
1833         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1834         (WebCore::jsTestEventConstructorAttr1):
1835         (WebCore::jsTestEventConstructorAttr2):
1836         * bindings/scripts/test/JS/JSTestInterface.cpp:
1837         (WebCore::jsTestInterfaceStr1):
1838         (WebCore::jsTestInterfaceStr2):
1839         (WebCore::jsTestInterfaceStr3):
1840         (WebCore::setJSTestInterfaceStr2):
1841         (WebCore::setJSTestInterfaceStr3):
1842         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1843         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
1844         * bindings/scripts/test/JS/JSTestObj.cpp:
1845         (WebCore::jsTestObjReadOnlyIntAttr):
1846         (WebCore::jsTestObjReadOnlyStringAttr):
1847         (WebCore::jsTestObjReadOnlyTestObjAttr):
1848         (WebCore::jsTestObjShortAttr):
1849         (WebCore::jsTestObjUnsignedShortAttr):
1850         (WebCore::jsTestObjIntAttr):
1851         (WebCore::jsTestObjLongLongAttr):
1852         (WebCore::jsTestObjUnsignedLongLongAttr):
1853         (WebCore::jsTestObjStringAttr):
1854         (WebCore::jsTestObjTestObjAttr):
1855         (WebCore::jsTestObjXMLObjAttr):
1856         (WebCore::jsTestObjCreate):
1857         (WebCore::jsTestObjReflectedStringAttr):
1858         (WebCore::jsTestObjReflectedIntegralAttr):
1859         (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
1860         (WebCore::jsTestObjReflectedBooleanAttr):
1861         (WebCore::jsTestObjReflectedURLAttr):
1862         (WebCore::jsTestObjReflectedNonEmptyURLAttr):
1863         (WebCore::jsTestObjReflectedCustomIntegralAttr):
1864         (WebCore::jsTestObjReflectedCustomBooleanAttr):
1865         (WebCore::jsTestObjReflectedCustomURLAttr):
1866         (WebCore::jsTestObjReflectedCustomNonEmptyURLAttr):
1867         (WebCore::jsTestObjAttrWithGetterException):
1868         (WebCore::jsTestObjAttrWithSetterException):
1869         (WebCore::jsTestObjStringAttrWithGetterException):
1870         (WebCore::jsTestObjStringAttrWithSetterException):
1871         (WebCore::jsTestObjScriptStringAttr):
1872         (WebCore::jsTestObjConditionalAttr1):
1873         (WebCore::jsTestObjConditionalAttr2):
1874         (WebCore::jsTestObjConditionalAttr3):
1875         (WebCore::jsTestObjCachedAttribute1):
1876         (WebCore::jsTestObjCachedAttribute2):
1877         (WebCore::jsTestObjDescription):
1878         (WebCore::jsTestObjId):
1879         (WebCore::jsTestObjHash):
1880         (WebCore::setJSTestObjShortAttr):
1881         (WebCore::setJSTestObjUnsignedShortAttr):
1882         (WebCore::setJSTestObjIntAttr):
1883         (WebCore::setJSTestObjLongLongAttr):
1884         (WebCore::setJSTestObjUnsignedLongLongAttr):
1885         (WebCore::setJSTestObjStringAttr):
1886         (WebCore::setJSTestObjTestObjAttr):
1887         (WebCore::setJSTestObjXMLObjAttr):
1888         (WebCore::setJSTestObjCreate):
1889         (WebCore::setJSTestObjReflectedStringAttr):
1890         (WebCore::setJSTestObjReflectedIntegralAttr):
1891         (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
1892         (WebCore::setJSTestObjReflectedBooleanAttr):
1893         (WebCore::setJSTestObjReflectedURLAttr):
1894         (WebCore::setJSTestObjReflectedNonEmptyURLAttr):
1895         (WebCore::setJSTestObjReflectedCustomIntegralAttr):
1896         (WebCore::setJSTestObjReflectedCustomBooleanAttr):
1897         (WebCore::setJSTestObjReflectedCustomURLAttr):
1898         (WebCore::setJSTestObjReflectedCustomNonEmptyURLAttr):
1899         (WebCore::setJSTestObjAttrWithGetterException):
1900         (WebCore::setJSTestObjAttrWithSetterException):
1901         (WebCore::setJSTestObjStringAttrWithGetterException):
1902         (WebCore::setJSTestObjStringAttrWithSetterException):
1903         (WebCore::setJSTestObjConditionalAttr1):
1904         (WebCore::setJSTestObjConditionalAttr2):
1905         (WebCore::setJSTestObjConditionalAttr3):
1906         (WebCore::setJSTestObjId):
1907         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
1908         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
1909         (WebCore::jsTestObjPrototypeFunctionIntMethod):
1910         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
1911         (WebCore::jsTestObjPrototypeFunctionObjMethod):
1912         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
1913         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
1914         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
1915         (WebCore::jsTestObjPrototypeFunctionIdbKey):
1916         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
1917         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
1918         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
1919         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
1920         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
1921         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
1922         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
1923         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
1924         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
1925         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
1926         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
1927         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
1928         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
1929         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
1930         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
1931         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
1932         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
1933         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
1934         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
1935         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
1936         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
1937         (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
1938         (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
1939         (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
1940         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
1941         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
1942         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
1943         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
1944         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
1945         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
1946         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
1947         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1948         (WebCore::jsTestSerializedScriptValueInterfaceValue):
1949
1950 2011-12-20  Alok Priyadarshi  <alokp@chromium.org>
1951
1952         [chromium] compositing/shadows tests fail with accelerated painting
1953         https://bugs.webkit.org/show_bug.cgi?id=74871
1954
1955         Reviewed by James Robinson.
1956         
1957         Switched over to new API for creating accelerated canvas GrContext::createPlatformTexture.
1958         It correctly binds the stencil buffer to the FBO.
1959
1960         Test: compositing/shadows/shadow-drawing.html (existing)
1961
1962         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
1963         (WebCore::createAcceleratedCanvas):
1964         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
1965         * platform/graphics/chromium/ManagedTexture.cpp:
1966         (WebCore::ManagedTexture::allocate):
1967         (WebCore::ManagedTexture::bindTexture):
1968         (WebCore::ManagedTexture::framebufferTexture2D):
1969         * platform/graphics/chromium/ManagedTexture.h:
1970
1971 2011-12-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1972
1973         Unreviewed, rolling out r103291.
1974         http://trac.webkit.org/changeset/103291
1975         https://bugs.webkit.org/show_bug.cgi?id=74915
1976
1977         Looks like it broke fast/events/touch and
1978         fast/events/touch/gesture/gesture-scroll.html
1979         http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.5/builds/7010
1980         (Requested by loislo on #webkit).
1981
1982         * WebCore.gyp/WebCore.gyp:
1983         * WebCore.gypi:
1984         * WebCore.xcodeproj/project.pbxproj:
1985         * platform/chromium/ScrollAnimatorChromiumMac.h: Copied from Source/WebCore/platform/mac/ScrollAnimatorMac.h.
1986         (WebCore::ScrollAnimatorChromiumMac::setIsDrawingIntoLayer):
1987         (WebCore::ScrollAnimatorChromiumMac::isDrawingIntoLayer):
1988         (WebCore::ScrollAnimatorChromiumMac::haveScrolledSincePageLoad):
1989         (WebCore::ScrollAnimatorChromiumMac::setNeedsScrollerStyleUpdate):
1990         (WebCore::ScrollAnimatorChromiumMac::needsScrollerStyleUpdate):
1991         * platform/chromium/ScrollAnimatorChromiumMac.mm: Added.
1992         (-[NSProcessInfo systemUptime]):
1993         (abs):
1994         (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
1995         (-[ScrollAnimationHelperDelegate scrollAnimatorDestroyed]):
1996         (-[ScrollAnimationHelperDelegate bounds]):
1997         (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
1998         (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
1999         (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
2000         (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
2001         (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
2002         (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
2003         (-[ScrollAnimationHelperDelegate superview]):
2004         (-[ScrollAnimationHelperDelegate documentView]):
2005         (-[ScrollAnimationHelperDelegate window]):
2006         (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
2007         (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
2008         (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
2009         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2010         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2011         (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
2012         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
2013         (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
2014         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
2015         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
2016         (-[ScrollbarPartAnimation setCurrentProgress:]):
2017         (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
2018         (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
2019         (-[ScrollbarPainterDelegate cancelAnimations]):
2020         (-[ScrollbarPainterDelegate convertRectToBacking:]):
2021         (-[ScrollbarPainterDelegate convertRectFromBacking:]):
2022         (-[ScrollbarPainterDelegate layer]):
2023         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
2024         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2025         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
2026         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
2027         (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
2028         (WebCore::ScrollAnimator::create):
2029         (WebCore::chromiumScrollbarTheme):
2030         (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
2031         (WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
2032         (WebCore::ScrollAnimatorChromiumMac::scroll):
2033         (WebCore::ScrollAnimatorChromiumMac::scrollToOffsetWithoutAnimation):
2034         (WebCore::ScrollAnimatorChromiumMac::adjustScrollXPositionIfNecessary):
2035         (WebCore::ScrollAnimatorChromiumMac::adjustScrollYPositionIfNecessary):
2036         (WebCore::ScrollAnimatorChromiumMac::adjustScrollPositionIfNecessary):
2037         (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
2038         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
2039         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
2040         (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPointForScrollAnimation):
2041         (WebCore::ScrollAnimatorChromiumMac::notifyPositionChanged):
2042         (WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
2043         (WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
2044         (WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
2045         (WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
2046         (WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
2047         (WebCore::ScrollAnimatorChromiumMac::contentsResized):
2048         (WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
2049         (WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
2050         (WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
2051         (WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
2052         (WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
2053         (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
2054         (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
2055         (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
2056         (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
2057         (WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
2058         (WebCore::elasticDeltaForTimeDelta):
2059         (WebCore::elasticDeltaForReboundDelta):
2060         (WebCore::reboundDeltaForElasticDelta):
2061         (WebCore::scrollWheelMultiplier):
2062         (WebCore::isScrollingLeftAndShouldNotRubberBand):
2063         (WebCore::isScrollingRightAndShouldNotRubberBand):
2064         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
2065         (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
2066         (WebCore::ScrollAnimatorChromiumMac::pinnedInDirection):
2067         (WebCore::ScrollAnimatorChromiumMac::allowsVerticalStretching):
2068         (WebCore::ScrollAnimatorChromiumMac::allowsHorizontalStretching):
2069         (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
2070         (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
2071         (WebCore::ScrollAnimatorChromiumMac::endScrollGesture):
2072         (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
2073         (WebCore::roundTowardZero):
2074         (WebCore::roundToDevicePixelTowardZero):
2075         (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
2076         (WebCore::ScrollAnimatorChromiumMac::setIsActive):
2077         (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle):
2078         (WebCore::ScrollAnimatorChromiumMac::startScrollbarPaintTimer):
2079         (WebCore::ScrollAnimatorChromiumMac::scrollbarPaintTimerIsActive):
2080         (WebCore::ScrollAnimatorChromiumMac::stopScrollbarPaintTimer):
2081         (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
2082         (WebCore::ScrollAnimatorChromiumMac::setVisibleScrollerThumbRect):
2083         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: Added.
2084         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: Added.
2085         (lookUpNSScrollerImpClass):
2086         (lookUpNSScrollerImpPairClass):
2087         (scrollbarControlSizeToNSControlSize):
2088         (preferredScrollerStyle):
2089         (wkScrollbarPainterUsesOverlayScrollers):
2090         (wkScrollbarPainterIsHorizontal):
2091         (wkScrollbarPainterKnobAlpha):
2092         (wkScrollbarPainterSetOverlayState):
2093         (wkScrollbarPainterPaint):
2094         (wkScrollbarPainterPaintTrack):
2095         (wkScrollbarPainterPaintKnob):
2096         (wkScrollbarMinimumThumbLength):
2097         (wkScrollbarPainterSetDelegate):
2098         (wkScrollbarPainterSetEnabled):
2099         (wkScrollbarPainterTrackAlpha):
2100         (wkMakeScrollbarPainter):
2101         (wkScrollbarThickness):
2102         (wkScrollbarMinimumTotalLengthNeededForThumb):
2103         (wkVerticalScrollbarPainterForController):
2104         (wkHorizontalScrollbarPainterForController):
2105         (wkScrollbarPainterControllerStyle):
2106         (wkMakeScrollbarReplacementPainter):
2107         (wkSetPainterForPainterController):
2108         (wkSetScrollbarPainterControllerStyle):
2109         (wkScrollbarPainterKnobRect):
2110         (wkSetScrollbarPainterKnobAlpha):
2111         (wkSetScrollbarPainterTrackAlpha):
2112         (wkSetScrollbarPainterKnobStyle):
2113         (wkMakeScrollbarPainterController):
2114         (wkContentAreaScrolled):
2115         (wkContentAreaWillPaint):
2116         (wkMouseEnteredContentArea):
2117         (wkMouseExitedContentArea):
2118         (wkMouseMovedInContentArea):
2119         (wkWillStartLiveResize):
2120         (wkContentAreaResized):
2121         (wkWillEndLiveResize):
2122         (wkContentAreaDidShow):
2123         (wkContentAreaDidHide):
2124         (wkDidBeginScrollGesture):
2125         (wkDidEndScrollGesture):
2126         (wkScrollbarPainterForceFlashScrollers):
2127         (isScrollbarOverlayAPIAvailable):
2128         * platform/chromium/ScrollbarThemeChromiumMac.h:
2129         (WebCore::ScrollbarThemeChromiumMac::supportsControlTints):
2130         (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
2131         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2132         (WebCore::scrollbarMap):
2133         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
2134         (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
2135         (+[ScrollbarPrefsObserver registerAsObserver]):
2136         (WebCore::updateArrowPlacement):
2137         (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
2138         (WebCore::ScrollbarThemeChromiumMac::unregisterScrollbar):
2139         (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
2140         (WebCore::ScrollbarThemeChromiumMac::painterForScrollbar):
2141         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
2142         (WebCore::ScrollbarThemeChromiumMac::preferencesChanged):
2143         (WebCore::ScrollbarThemeChromiumMac::scrollbarThickness):
2144         (WebCore::ScrollbarThemeChromiumMac::usesOverlayScrollbars):
2145         (WebCore::toScrollbarPainterKnobStyle):
2146         (WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
2147         (WebCore::ScrollbarThemeChromiumMac::initialAutoscrollTimerDelay):
2148         (WebCore::ScrollbarThemeChromiumMac::autoscrollTimerDelay):
2149         (WebCore::ScrollbarThemeChromiumMac::buttonsPlacement):
2150         (WebCore::ScrollbarThemeChromiumMac::hasButtons):
2151         (WebCore::ScrollbarThemeChromiumMac::hasThumb):
2152         (WebCore::buttonRepaintRect):
2153         (WebCore::ScrollbarThemeChromiumMac::backButtonRect):
2154         (WebCore::ScrollbarThemeChromiumMac::forwardButtonRect):
2155         (WebCore::ScrollbarThemeChromiumMac::trackRect):
2156         (WebCore::ScrollbarThemeChromiumMac::minimumThumbLength):
2157         (WebCore::ScrollbarThemeChromiumMac::shouldCenterOnThumb):
2158         (WebCore::ScrollbarThemeChromiumMac::shouldDragDocumentInsteadOfThumb):
2159         (WebCore::scrollbarPartToHIPressedState):
2160         (WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
2161         (WebCore::ScrollbarThemeChromiumMac::paint):
2162         * platform/mac/EmptyProtocolDefinitions.h:
2163         * platform/mac/NSScrollerImpDetails.h:
2164         * platform/mac/NSScrollerImpDetails.mm: Removed.
2165         * platform/mac/ScrollAnimatorMac.h:
2166         * platform/mac/ScrollAnimatorMac.mm:
2167         (-[WebScrollbarPainterDelegate layer]):
2168         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2169         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
2170         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
2171         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
2172         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
2173         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
2174         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
2175         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
2176         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
2177         (WebCore::ScrollAnimatorMac::willStartLiveResize):
2178         (WebCore::ScrollAnimatorMac::contentsResized):
2179         (WebCore::ScrollAnimatorMac::willEndLiveResize):
2180         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
2181         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
2182         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
2183         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
2184         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
2185         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
2186         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
2187         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
2188         (WebCore::ScrollAnimatorMac::cancelAnimations):
2189         (WebCore::ScrollAnimatorMac::setIsActive):
2190         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
2191         (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
2192         * platform/mac/ScrollElasticityController.h:
2193         * platform/mac/ScrollbarThemeMac.h:
2194         * platform/mac/ScrollbarThemeMac.mm:
2195         (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
2196         (+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
2197         (WebCore::ScrollbarTheme::nativeTheme):
2198         (WebCore::updateArrowPlacement):
2199         (WebCore::ScrollbarThemeMac::registerScrollbar):
2200         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
2201         (WebCore::ScrollbarThemeMac::scrollbarThickness):
2202         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
2203         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
2204         (WebCore::ScrollbarThemeMac::hasButtons):
2205         (WebCore::ScrollbarThemeMac::hasThumb):
2206         (WebCore::ScrollbarThemeMac::minimumThumbLength):
2207         (WebCore::scrollbarPartToHIPressedState):
2208         (WebCore::ScrollbarThemeMac::updateEnabledState):
2209         (WebCore::ScrollbarThemeMac::paint):
2210
2211 2011-12-19  Adam Klein  <adamk@chromium.org>
2212
2213         Make all calls to NamedNodeMap::setAttributes go through Element
2214         https://bugs.webkit.org/show_bug.cgi?id=74895
2215
2216         Reviewed by Ryosuke Niwa.
2217
2218         There are two reasons for this change. One is an optimization: some
2219         callers were previously always creating a NamedNodeMap even if the
2220         source didn't have any attributes.
2221
2222         The other reason is forward-looking: setAttributes' behavior is subtly
2223         wrong in the presence of MutationObservers. This doesn't matter
2224         for most callers since the element on which setAttributesFromElement
2225         is called is newly-created. In the editing case, however, it could
2226         make a difference in behavior, which I hope to fix in a future change
2227         without sacrificing the performance of cloneNode() on an Element
2228         (which is what NamedNodeMap::setAttributes is designed for).
2229
2230         No new tests, no change in behavior.
2231
2232         * dom/Element.cpp:
2233         (WebCore::Element::cloneElementWithoutChildren): Call setAttributesFromElement.
2234         * dom/Element.h:
2235         (WebCore::Element::setAttributesFromElement): Create new inline helper method
2236         which conditionally forwards to NamedNodeMap::setAttribute.
2237         * dom/NamedNodeMap.h: Make setAttributes private (Element is already a friend).
2238         * editing/ReplaceNodeWithSpanCommand.cpp:
2239         (WebCore::swapInNodePreservingAttributesAndChildren): Call setAttributesFromElement.
2240         * inspector/InspectorDOMAgent.cpp:
2241         (WebCore::InspectorDOMAgent::setNodeName): Call setAttributesFromElement.
2242         * svg/SVGUseElement.cpp:
2243         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Call setAttributesFromElement.
2244         (WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Call setAttributesFromElement
2245         and make use of ASSERT_NO_EXCEPTION to make code easier to read.
2246
2247 2011-12-19  Leo Yang  <leo.yang@torchmobile.com.cn>
2248
2249         [BlackBerry] Upstream the BlackBerry change to ResourceRequestBase.cpp
2250         https://bugs.webkit.org/show_bug.cgi?id=74910
2251
2252         Reviewed by Daniel Bates.
2253
2254         No functionality change to the existing code, no new tests.
2255
2256         * platform/network/ResourceRequestBase.cpp: The BlackBerry porting has its own
2257         initializeMaximumHTTPConnectionCountPerHost(). Exclude the default implementation.
2258
2259 2011-12-19  Leo Yang  <leo.yang@torchmobile.com.cn>
2260
2261         [BlackBerry] Upstream the BlackBerry change to NetworkStateNotifier.h
2262         https://bugs.webkit.org/show_bug.cgi?id=74904
2263
2264         Reviewed by Daniel Bates.
2265
2266         No functionality change to existing code, no new tests.
2267
2268         * platform/network/NetworkStateNotifier.h:
2269
2270 2011-12-19  Yael Aharon  <yael.aharon@nokia.com>
2271
2272         Update dropzone implementation per spec update
2273         https://bugs.webkit.org/show_bug.cgi?id=74834
2274
2275         Reviewed by Tony Chang.
2276
2277         Update support for dropzone attribute to use file: and string: instead of f: and s:. 
2278         http://www.whatwg.org/specs/web-apps/current-work/#the-dropzone-attribute
2279
2280         No new tests. Existing tests cover this and were updated.
2281
2282         * dom/Clipboard.cpp:
2283         (WebCore::Clipboard::hasDropZoneType):
2284
2285 2011-12-19  Sam Weinig  <sam@webkit.org>
2286
2287         Add support for scrollLineDown: and scrollLineUp: NSResponder selectors
2288         https://bugs.webkit.org/show_bug.cgi?id=74907
2289
2290         Reviewed by Dan Bernstein.
2291
2292         Added API test: WebKit2.ScrollByLineCommands
2293
2294         * editing/EditorCommand.cpp:
2295         (WebCore::executeScrollLineUp):
2296         (WebCore::executeScrollLineDown):
2297         (WebCore::createCommandMap):
2298         Add implementations for scrollLineUp/Down. Do not expose
2299         these to execCommand
2300
2301 2011-12-19  Huang Dongsung  <luxtella@company100.net>
2302
2303         [QT] WebGL can not make the frame buffer with the stencil buffer.
2304         https://bugs.webkit.org/show_bug.cgi?id=74783
2305
2306         When initializing a framebuffer in OpenGL ES 2, we need to initialize the depth
2307         and stencil buffers separately, as opposed to the combined depth-stencil buffer
2308         we initialize for desktop GL.
2309
2310         This makes fast/canvas/webgl/context-attributes-depth-stencil-combination.html
2311         work in OpenGL ES 2.
2312
2313         Reviewed by Noam Rosenthal.
2314
2315         * platform/graphics/GraphicsContext3D.h:
2316         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2317         (WebCore::GraphicsContext3D::GraphicsContext3D):
2318         (WebCore::GraphicsContext3D::~GraphicsContext3D):
2319         (WebCore::GraphicsContext3D::reshape):
2320
2321 2011-12-19  Ami Fischman  <fischman@chromium.org>
2322
2323         Teach VideoLayerChromium how to render native texture (to support HW video decode).
2324         https://bugs.webkit.org/show_bug.cgi?id=73043
2325
2326         Reviewed by James Robinson.
2327         
2328         Fix the life-cycle of video frames handled by VideoLayerChromium/CCVideoLayerImpl.
2329         VideoFrameProvider::{get,put}CurrentFrame provide lease semantics.  Previously
2330         VideoLayerChromium would acquire the lease for the duration of copying the frame,
2331         even if that was only a texture ID, and immediately return the lease, while
2332         CCVideoLayerImpl::draw() would come along later and use the (no-longer locked)
2333         texture optimistically.  This change makes it so that CCVideoLayerImpl holds
2334         the frame's lease for the duration of draw(), guaranteeing the frame is valid to read.
2335
2336         Existing test coverage (compositing/video/, LayoutTests).  HW render of
2337         HW-decoded textures is not yet tested explicitly.
2338
2339         * platform/graphics/chromium/VideoLayerChromium.cpp:
2340         (WebCore::VideoLayerChromium::VideoLayerChromium):
2341         (WebCore::VideoLayerChromium::~VideoLayerChromium):
2342         (WebCore::VideoLayerChromium::createCCLayerImpl):
2343         (WebCore::VideoLayerChromium::releaseProvider):
2344         * platform/graphics/chromium/VideoLayerChromium.h:
2345         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2346         (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
2347         (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
2348         (WebCore::CCVideoLayerImpl::setProvider):
2349         (WebCore::convertVFCFormatToGC3DFormat):
2350         (WebCore::CCVideoLayerImpl::draw):
2351         (WebCore::CCVideoLayerImpl::copyFrameToTextures):
2352         (WebCore::CCVideoLayerImpl::copyPlaneToTexture):
2353         (WebCore::computeVisibleSize):
2354         (WebCore::CCVideoLayerImpl::reserveTextures):
2355         (WebCore::CCVideoLayerImpl::drawYUV):
2356         (WebCore::CCVideoLayerImpl::drawCommon):
2357         (WebCore::CCVideoLayerImpl::drawRGBA):
2358         (WebCore::CCVideoLayerImpl::drawNativeTexture):
2359         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2360
2361 2011-12-19  Sam Weinig  <sam@webkit.org>
2362
2363         More PlatformEvent cleanup
2364         https://bugs.webkit.org/show_bug.cgi?id=74831
2365
2366         Reviewed by Dan Bernstein.
2367
2368         * platform/PlatformMouseEvent.h:
2369         (WebCore::PlatformMouseEvent::position):
2370         Rename pos -> position(). Remove x() and y() accessors.
2371
2372         (WebCore::PlatformMouseEvent::globalPosition):
2373         Added. Replaces globalX() and globalY() accessors.
2374
2375         (WebCore::PlatformMouseEvent::movementDelta):
2376         Added. Replaces movementX() and movementY() accessors.
2377
2378         * platform/PlatformWheelEvent.h:
2379         (WebCore::PlatformWheelEvent::position):
2380         Renamed pos -> position().
2381
2382         (WebCore::PlatformWheelEvent::globalPosition):
2383         Renamed globalPos -> globalPosition().
2384
2385         * dom/MouseEvent.cpp:
2386         (WebCore::MouseEvent::create):
2387         * dom/WheelEvent.cpp:
2388         (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
2389         * page/DragController.cpp:
2390         (WebCore::DragController::startDrag):
2391         * page/EventHandler.cpp:
2392         (WebCore::EventHandler::handleMousePressEventSingleClick):
2393         (WebCore::EventHandler::handleMousePressEvent):
2394         (WebCore::EventHandler::eventMayStartDrag):
2395         (WebCore::EventHandler::handleMouseReleaseEvent):
2396         (WebCore::EventHandler::selectCursor):
2397         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2398         (WebCore::EventHandler::handleMouseMoveEvent):
2399         (WebCore::EventHandler::dispatchDragEvent):
2400         (WebCore::EventHandler::prepareMouseEvent):
2401         (WebCore::EventHandler::dispatchMouseEvent):
2402         (WebCore::EventHandler::handleWheelEvent):
2403         (WebCore::EventHandler::sendContextMenuEvent):
2404         (WebCore::EventHandler::handleDrag):
2405         (WebCore::EventHandler::handleTouchEvent):
2406         * page/chromium/EventHandlerChromium.cpp:
2407         (WebCore::EventHandler::passMousePressEventToSubframe):
2408         * platform/Scrollbar.cpp:
2409         (WebCore::Scrollbar::mouseMoved):
2410         (WebCore::Scrollbar::mouseDown):
2411         * platform/ScrollbarThemeComposite.cpp:
2412         (WebCore::ScrollbarThemeComposite::hitTest):
2413         * platform/chromium/PopupContainer.cpp:
2414         (WebCore::constructRelativeMouseEvent):
2415         (WebCore::constructRelativeWheelEvent):
2416         * platform/chromium/PopupListBox.cpp:
2417         (WebCore::PopupListBox::handleMouseDownEvent):
2418         (WebCore::PopupListBox::handleMouseMoveEvent):
2419         (WebCore::PopupListBox::handleMouseReleaseEvent):
2420         (WebCore::PopupListBox::handleWheelEvent):
2421         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
2422         (WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin):
2423         * platform/qt/ScrollbarQt.cpp:
2424         (WebCore::Scrollbar::contextMenu):
2425         * platform/qt/ScrollbarThemeQt.cpp:
2426         (WebCore::ScrollbarThemeQt::hitTest):
2427         * platform/win/ScrollbarThemeWin.cpp:
2428         (WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):
2429         * rendering/RenderLayer.cpp:
2430         (WebCore::RenderLayer::resize):
2431         Update to use new names, access style.
2432
2433 2011-12-19  Adam Klein  <adamk@chromium.org>
2434
2435         Remove unused ExceptionCode& argument from Element::setAttribute(QualifiedName)
2436         https://bugs.webkit.org/show_bug.cgi?id=74740
2437
2438         Reviewed by Ryosuke Niwa.
2439
2440         Updated lots of callers to remove third argument. The list of changes
2441         below only lists things other than updating callers.
2442
2443         * dom/Document.cpp:
2444         (WebCore::Document::importNode):
2445         * dom/Element.cpp:
2446         (WebCore::Element::setAttribute):
2447         (WebCore::Element::setAttributeNS):
2448         (WebCore::Element::setIntegralAttribute):
2449         (WebCore::Element::setUnsignedIntegralAttribute):
2450         * dom/Element.h: Removed third arg from method, removed old two-arg
2451         overload which now has an identical signature.
2452         * editing/mac/EditorMac.mm: Updated caller and used
2453         ASSERT_NO_EXCEPTION for nearby code.
2454         (WebCore::styleForSelectionStart):
2455         * html/HTMLElement.cpp:
2456         (WebCore::HTMLElement::setContentEditable):
2457         * inspector/InspectorDOMAgent.cpp:
2458         (WebCore::InspectorDOMAgent::setAttributesAsText):
2459         * svg/SVGAnimationElement.cpp:
2460         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
2461         * svg/SVGElement.idl: Removed 'setter raises(DOMException)'
2462         * svg/SVGGlyphRefElement.idl: ditto.
2463         * svg/SVGStyleElement.cpp:
2464         (WebCore::SVGStyleElement::setType):
2465         (WebCore::SVGStyleElement::setMedia):
2466         (WebCore::SVGStyleElement::setTitle):
2467         * xml/parser/XMLTreeBuilder.cpp:
2468         (WebCore::XMLTreeBuilder::processAttributes):
2469
2470 2011-12-19  Kentaro Hara  <haraken@chromium.org>
2471
2472         Unreviewed. Rebaselined run-bindings-tests results.
2473
2474         * bindings/scripts/test/JS/JSFloat64Array.h:
2475         (WebCore::JSFloat64Array::create):
2476         (WebCore::JSFloat64ArrayPrototype::create):
2477         (WebCore::JSFloat64ArrayConstructor::create):
2478         * bindings/scripts/test/JS/JSTestEventConstructor.h:
2479         (WebCore::JSTestEventConstructor::create):
2480         (WebCore::JSTestEventConstructorPrototype::create):
2481         (WebCore::JSTestEventConstructorConstructor::create):
2482         * bindings/scripts/test/JS/JSTestInterface.h:
2483         (WebCore::JSTestInterface::create):
2484         (WebCore::JSTestInterfacePrototype::create):
2485         (WebCore::JSTestInterfaceConstructor::create):
2486         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2487         (WebCore::JSTestMediaQueryListListener::create):
2488         (WebCore::JSTestMediaQueryListListenerPrototype::create):
2489         (WebCore::JSTestMediaQueryListListenerConstructor::create):
2490         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
2491         (WebCore::JSTestNamedConstructor::create):
2492         (WebCore::JSTestNamedConstructorPrototype::create):
2493         (WebCore::JSTestNamedConstructorConstructor::create):
2494         (WebCore::JSTestNamedConstructorNamedConstructor::create):
2495         * bindings/scripts/test/JS/JSTestObj.h:
2496         (WebCore::JSTestObj::create):
2497         (WebCore::JSTestObjPrototype::create):
2498         (WebCore::JSTestObjConstructor::create):
2499         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2500         (WebCore::JSTestSerializedScriptValueInterface::create):
2501         (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
2502         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
2503
2504 2011-12-19  James Robinson  <jamesr@chromium.org>
2505
2506         [chromium] CCLayerDelegate and WebLayerClient do not need notifySyncRequired
2507         https://bugs.webkit.org/show_bug.cgi?id=74376
2508
2509         Reviewed by Kenneth Russell.
2510
2511         CCLayerDelegate::notifySyncRequired is an odd bit of interface that we originally cargo-culted from the
2512         CoreAnimation compositor implementation. It is a mechanism by which a LayerChromium instance may request a new
2513         frame via its CCLayerDelegate, which in WebCore is always a GraphicsLayerClient. In practice, all
2514         implementations eventually ended up routing to CCLayerTreeHost::setNeedsCommit which then made the proper
2515         scheduling decision.
2516
2517         This patch routes all changes that would have gone through CCLayerDelegate::notifySyncRequired directly to
2518         CCLayerTreeHost::setNeedsCommit, which greatly simplifies the scheduling logic.
2519
2520         There is a large amount of unit test coverage for this change, largely in LayerChromiumTest
2521
2522         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2523         * platform/graphics/chromium/GraphicsLayerChromium.h:
2524         * platform/graphics/chromium/LayerChromium.cpp:
2525         (WebCore::LayerChromium::setNeedsCommit):
2526         (WebCore::LayerChromium::insertChild):
2527         * platform/graphics/chromium/LayerChromium.h:
2528         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2529         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
2530         (WebCore::CCLayerTreeHost::setRootLayer):
2531         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2532         * platform/graphics/chromium/cc/CCScopedThreadProxy.h:
2533         (WebCore::CCScopedThreadProxy::runTaskIfNotShutdown):
2534
2535 2011-12-19  Sailesh Agrawal <sail@chromium.org>
2536
2537         Merge ScrollAnimatorChromiumMac.mm back to ScrollAnimatorMac
2538         https://bugs.webkit.org/show_bug.cgi?id=61144
2539
2540         Reviewed by Beth Dakin.
2541
2542         At a high level the main changes are:
2543             - replace #ifdefs in ScrollAnimatorMac and ScrollbarThemeMac with run time checks
2544             - delete duplicate code in ScrollbarThemeChromiumMac. Keep the paint code since it does tickmarks and SKIA stuff.
2545             - delete ScrollAnimatorChromiumMac since ScrollAnimatorMac does the exact same thing
2546             - delete ScrollbarOverlayUtilitiesChromiumMac since NSScrollerImpDetails does the same thing
2547
2548         No new tests. Just refactoring.
2549
2550         * WebCore.gyp/WebCore.gyp:
2551         * WebCore.gypi:
2552         * WebCore.xcodeproj/project.pbxproj:
2553         * platform/chromium/ScrollAnimatorChromiumMac.h: Removed.
2554         * platform/chromium/ScrollAnimatorChromiumMac.mm: Removed.
2555         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: Removed.
2556         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: Removed.
2557         * platform/chromium/ScrollbarThemeChromiumMac.h:
2558         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2559         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
2560         (WebCore::scrollbarPainterPaintTrack):
2561         (WebCore::ScrollbarThemeChromiumMac::paint):
2562         * platform/mac/EmptyProtocolDefinitions.h:
2563         * platform/mac/NSScrollerImpDetails.h:
2564         (WebCore::isScrollbarOverlayAPIAvailable):
2565         * platform/mac/NSScrollerImpDetails.mm: Added.
2566         (WebCore::isScrollbarOverlayAPIAvailable):
2567         (WebCore::recommendedScrollerStyle):
2568         * platform/mac/ScrollAnimatorMac.h:
2569         * platform/mac/ScrollAnimatorMac.mm:
2570         (scrollbarPainterForScrollbar):
2571         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2572         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
2573         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
2574         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
2575         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
2576         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
2577         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
2578         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
2579         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
2580         (WebCore::ScrollAnimatorMac::willStartLiveResize):
2581         (WebCore::ScrollAnimatorMac::contentsResized):
2582         (WebCore::ScrollAnimatorMac::willEndLiveResize):
2583         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
2584         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
2585         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
2586         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
2587         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
2588         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
2589         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
2590         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
2591         (WebCore::ScrollAnimatorMac::cancelAnimations):
2592         (WebCore::ScrollAnimatorMac::setIsActive):
2593         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
2594         (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
2595         * platform/mac/ScrollElasticityController.h:
2596         * platform/mac/ScrollbarThemeMac.h:
2597         * platform/mac/ScrollbarThemeMac.mm:
2598         (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
2599         (+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
2600         (WebCore::updateArrowPlacement):
2601         (WebCore::ScrollbarThemeMac::registerScrollbar):
2602         (WebCore::ScrollbarThemeMac::setIsCurrentlyDrawingIntoLayer):
2603         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
2604         (WebCore::ScrollbarThemeMac::scrollbarThickness):
2605         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
2606         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
2607         (WebCore::ScrollbarThemeMac::hasButtons):
2608         (WebCore::ScrollbarThemeMac::hasThumb):
2609         (WebCore::ScrollbarThemeMac::minimumThumbLength):
2610         (WebCore::ScrollbarThemeMac::scrollbarPartToHIPressedState):
2611         (WebCore::ScrollbarThemeMac::updateEnabledState):
2612         (WebCore::scrollbarPainterPaint):
2613         (WebCore::ScrollbarThemeMac::paint):
2614
2615 2011-12-19  James Robinson  <jamesr@chromium.org>
2616
2617         [chromium] Set the CCLayerTreeHost pointer on LayerChromium instances eagerly
2618         https://bugs.webkit.org/show_bug.cgi?id=74477
2619
2620         Reviewed by Kenneth Russell.
2621
2622         This enforces that the m_layerTreeHost pointer on LayerChromium instances is always up to date, instead of
2623         lazily setting it in the paintContents loop. There are two invariants:
2624         1.) If a LayerChromium is the root layer of a CCLayerTreeHost, or is reachable via the children, mask, or
2625         replica pointers from the root layer of a CCLayerTreeHost, then that LayerChromium's m_layerTreeHost pointer
2626         refers to that CCLayerTreeHost
2627         2.) If a LayerChromium is not a root layer or reachable from a root layer of any CCLayerTreeHost, its
2628         CCLayerTreeHost pointer is nil.
2629
2630         Covered by several new layout tests in LayerChromiumTest
2631
2632         * platform/graphics/chromium/LayerChromium.cpp:
2633         (WebCore::LayerChromium::setLayerTreeHost):
2634         (WebCore::LayerChromium::setParent):
2635         (WebCore::LayerChromium::setMaskLayer):
2636         (WebCore::LayerChromium::setReplicaLayer):
2637         * platform/graphics/chromium/LayerChromium.h:
2638         * platform/graphics/chromium/TiledLayerChromium.cpp:
2639         (WebCore::TiledLayerChromium::createTile):
2640         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2641         (WebCore::CCLayerTreeHost::setRootLayer):
2642         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
2643         (WebCore::CCLayerTreeHost::paintLayerContents):
2644         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2645
2646 2011-12-19  Joshua Bell  <jsbell@chromium.org>
2647
2648         IndexedDB multiple calls to transaction.objectStore(name) should return the same instance
2649         https://bugs.webkit.org/show_bug.cgi?id=60208
2650
2651         Reviewed by Tony Chang.
2652
2653         Ditto for calls to IDBObjectStore.index(). Calling these methods after the
2654         enclosing transaction has finished now consistently throws an error, which
2655         allows us to break reference cycles.
2656
2657         Test: storage/indexeddb/mozilla/object-identity.html
2658
2659         * storage/IDBDatabase.cpp:
2660         (WebCore::IDBDatabase::createObjectStore):
2661         * storage/IDBObjectStore.cpp:
2662         (WebCore::IDBObjectStore::createIndex):
2663         (WebCore::IDBObjectStore::index):
2664         (WebCore::IDBObjectStore::transactionFinished):
2665         * storage/IDBObjectStore.h:
2666         * storage/IDBTransaction.cpp:
2667         (WebCore::IDBTransaction::objectStore):
2668         (WebCore::IDBTransaction::objectStoreCreated):
2669         (WebCore::IDBTransaction::dispatchEvent):
2670         * storage/IDBTransaction.h:
2671
2672 2011-12-19  Anders Carlsson  <andersca@apple.com>
2673
2674         Send gesture events through the event dispatcher and scrolling coordinator
2675         https://bugs.webkit.org/show_bug.cgi?id=74879
2676
2677         Reviewed by Andreas Kling.
2678
2679         * WebCore.exp.in:
2680         Export ScrollingCoordinator::handleGestureEvent.
2681
2682         * page/ScrollingCoordinator.cpp:
2683         (WebCore::ScrollingCoordinator::handleGestureEvent):
2684         * page/ScrollingCoordinator.h:
2685         Add handleGestureEvent stub.
2686
2687 2011-12-19  Kentaro Hara  <haraken@chromium.org>
2688
2689         Move WebAudio and WebSocket getters from JSDOMWindowCustom.cpp
2690         to JSDOMWindow{WebAudio,WebSocket}Custom.cpp
2691         https://bugs.webkit.org/show_bug.cgi?id=74841
2692
2693         Reviewed by Adam Barth.
2694
2695         This is the second step for bug 74599. We are planning to enable the [Supplemental]
2696         IDL and modularize WebAudio and WebSocket on AppleWebKit. This patch moves
2697         webkitAudioContext() and webSocket() from JSDOMWindowCustom.cpp to JSDOMWindowWebAudioCustom.cpp
2698         and JSDOMWindowWebSocketCustom.cpp, for modularization.
2699
2700         Tests: Confirm that build succeeds.
2701                http/tests/websocket/tests/*
2702
2703         * GNUmakefile.list.am: Added JSDOMWindowWebAudioCustom.cpp and JSDOMWindowWebSocketCustom.cpp.
2704         * Target.pri: Ditto.
2705         * UseJSC.cmake: Ditto.
2706         * WebCore.gypi: Ditto.
2707         * WebCore.vcproj/WebCore.vcproj: Ditto.
2708         * WebCore.xcodeproj/project.pbxproj: Ditto.
2709         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
2710
2711         * bindings/js/JSDOMWindowCustom.cpp: For now we do not remove settingsForWindow(),
2712         webkitAudioContext() and webSocket(), since other build systems are still using them.
2713         We will remove them after all build systems implement the [Supplemental] IDL.
2714         * bindings/js/JSDOMWindowWebAudioCustom.cpp: Added.
2715         (WebCore::settingsForWindowWebAudio):
2716         (WebCore::JSDOMWindow::webkitAudioContext):
2717         * bindings/js/JSDOMWindowWebSocketCustom.cpp: Added.
2718         (WebCore::settingsForWindowWebSocket):
2719         (WebCore::JSDOMWindow::webSocket):
2720
2721         * bindings/scripts/CodeGeneratorJS.pm: Until we implement the [Supplemental] IDL
2722         on all build systems, we need to temporarily allow two kinds of webkitAudioContext()
2723         and webSocket().
2724         (GenerateHeader):
2725
2726 2011-12-16  Zhenyao Mo  <zmo@google.com>
2727
2728         Postpone deleteRenderbuffer/deleteTexture until all framebuffer attachment points are removed.
2729         https://bugs.webkit.org/show_bug.cgi?id=74741
2730
2731         Reviewed by Kenneth Russell.
2732
2733         Use WebGLObject's attachment count mechanism to track if a renderbuffer/texture
2734         is still attached to framebuffers, and if its deletion should be delated or not.
2735
2736         * html/canvas/WebGLFramebuffer.cpp:
2737         (WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
2738         (WebCore::WebGLFramebuffer::getAttachment):
2739         (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
2740         (WebCore::WebGLFramebuffer::deleteObjectImpl):
2741         (WebCore::WebGLFramebuffer::isBound):
2742         * html/canvas/WebGLFramebuffer.h:
2743
2744 2011-12-19  Iain Merrick  <husky@google.com>
2745
2746         [chromium] Accelerated canvas broken in threaded compositing mode
2747         https://bugs.webkit.org/show_bug.cgi?id=72738
2748
2749         We were flushing the Skia canvas in updateCompositorResources, which
2750         is illegal as it runs on the wrong thread. Moved to paintContentsIfDirty
2751         instead. For correct rendering on the compositor thread, we make a copy
2752         of the canvas texture in updateCompositorResources.
2753
2754         Removed m_textureId and pushPropertiesTo from CanvasLayerChromium, as
2755         it's no longer common between Canvas2DLayerChromium and
2756         WebGLLayerChromium. WebGL changes do not change functionality.
2757
2758         Reviewed by James Robinson.
2759
2760         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2761         (WebCore::Canvas2DLayerChromium::create):
2762         (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
2763         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
2764         (WebCore::Canvas2DLayerChromium::setTextureId):
2765         (WebCore::Canvas2DLayerChromium::contentChanged):
2766         (WebCore::Canvas2DLayerChromium::drawsContent):
2767         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
2768         (WebCore::Canvas2DLayerChromium::setLayerTreeHost):
2769         (WebCore::Canvas2DLayerChromium::setTextureManager):
2770         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
2771         (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
2772         (WebCore::Canvas2DLayerChromium::unreserveContentsTexture):
2773         (WebCore::Canvas2DLayerChromium::cleanupResources):
2774         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2775         * platform/graphics/chromium/CanvasLayerChromium.cpp:
2776         (WebCore::CanvasLayerChromium::CanvasLayerChromium):
2777         * platform/graphics/chromium/CanvasLayerChromium.h:
2778         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2779         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
2780         (WebCore::WebGLLayerChromium::pushPropertiesTo):
2781         * platform/graphics/chromium/WebGLLayerChromium.h:
2782         (WebCore::WebGLLayerChromium::textureId):
2783         (WebCore::WebGLLayerChromium::setTextureId):
2784         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
2785         (WebCore::CCCanvasLayerImpl::textureId):
2786         * platform/graphics/skia/ImageBufferSkia.cpp:
2787         (WebCore::createAcceleratedCanvas):
2788
2789 2011-12-19  Mike Reed  <reed@google.com>
2790
2791         [skia] cache typeface in FontPlatformData
2792         https://bugs.webkit.org/show_bug.cgi?id=74415
2793
2794         Reviewed by Stephen White.
2795
2796         No new tests. optimization only, existing tests in play
2797
2798         * platform/graphics/chromium/FontChromiumWin.cpp:
2799         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
2800         (WebCore::Font::drawGlyphs):
2801         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2802         (WebCore::CreateTypefaceFromHFont):
2803         (WebCore::FontPlatformData::FontPlatformData):
2804         (WebCore::FontPlatformData::operator=):
2805         (WebCore::FontPlatformData::~FontPlatformData):
2806         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
2807         (WebCore::FontPlatformData::typeface):
2808         (WebCore::FontPlatformData::lfQuality):
2809         (WebCore::FontPlatformData::hash):
2810         * platform/graphics/skia/SkiaFontWin.cpp:
2811         (WebCore::setupPaintForFont):
2812         (WebCore::paintSkiaText):
2813         * platform/graphics/skia/SkiaFontWin.h:
2814
2815 2011-12-04  Robert Hogan  <robert@webkit.org>
2816
2817         CSS 2.1 failure: border-conflict-element-*
2818         https://bugs.webkit.org/show_bug.cgi?id=71244
2819
2820         Reviewed by Darin Adler.
2821
2822         From http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution :
2823          "When two adjacent cells have the same border-width and the same border-style in a 
2824           'border-collapse: collapse' table, then the color of the border from the leftmost cell wins
2825           (if the table's 'direction' is 'ltr'; right, if it is 'rtl') and the color of the border
2826           from the topmost cell wins."
2827
2828         RenderTable manages collapsed borders by first creating a list of unique border values sorted in ascending
2829         priority. A unique border value is determined by style, width and color and cell-type precedence. For each 
2830         entry in this list RenderTableSection paints each cell in its section starting at the top-left. If a cell 
2831         is using the border RenderTable is currently iterating for, the cell will paint that border. 
2832
2833         The problems with this approach are:
2834           1. Painting cells from the top-left to the bottom-right means that borders further to the right and to the bottom
2835              of the table will paint over those further to the left and the top, breaking the precedence due to cell position.
2836           2. It creates more unique borders in the list than necessary. Borders that differ only on color do not need to be painted in 
2837              a separate iteration. Precedence in such cases is determined by cell position.
2838
2839         So in order to respect cell position when painting collapsed borders:
2840           1. RenderTableCell now treats borders with the same style, width and precedence as equal. This results in a performance
2841              improvement on tables where collapsed borders differ only in color, since RenderTable is no longer painting every cell in the table
2842              for each unique collapsed border color. It also allows color to be a function of cell position rather than border type.
2843           2. RenderTableSection now paints collapsed borders separately from cells and from the bottom-right to the top-left instead of top-left
2844              to bottom-right. If a collapsed border has precedence due to style, width or cell-group-type it will still be respected but precedence 
2845              due to color is enforced by painting cells nearer to the top and left *after* cells nearer to the bottom and right.
2846
2847         The order in which collapsed borders paint over each other in the same cell has not changed. Unlike Firefox,
2848         WebKit does not attempt render them as diagonals or attempt to give borders on the edge of the table precedence
2849         so that grooved and ridged styles have a smooth edge all round the table.
2850
2851         This fixes the following failing tests from the border-conflict-element-* set
2852         in the CSS 2.1 test suite:
2853           border-conflict-element-001d.htm
2854           border-conflict-element-0037.htm
2855           border-conflict-element-0038.htm
2856
2857         One test in the suite is known to be wrong, so a corrected version has been landed outside the 
2858         css2.1 folder:
2859           border-conflict-element-002.htm
2860
2861         This change entails rebaselining quite a few tests, see the LayoutTests ChangeLog for a full
2862         explanation of the rebaselines.
2863
2864         * rendering/RenderTableCell.cpp:
2865         (WebCore::RenderTableCell::paint):
2866         (WebCore::addBorderStyle):
2867         (WebCore::compareBorderValuesForQSort):
2868         (WebCore::RenderTableCell::paintCollapsedBorders):
2869         * rendering/RenderTableCell.h:
2870         * rendering/RenderTableSection.cpp:
2871         (WebCore::RenderTableSection::paintCell):
2872         (WebCore::RenderTableSection::paintObject):
2873         * rendering/style/CollapsedBorderValue.h:
2874         (WebCore::CollapsedBorderValue::isSameIgnoringColor):
2875
2876 2011-12-19  Jer Noble  <jer.noble@apple.com>
2877
2878         MediaController: cannot scrub while playing.
2879         https://bugs.webkit.org/show_bug.cgi?id=74870
2880         rdar://problem/10602037
2881
2882         Reviewed by Eric Carlson.
2883
2884         Updated media/media-controller-playback.html test.
2885
2886         * html/HTMLMediaElement.cpp:
2887         (WebCore::HTMLMediaElement::setController): Change order of operations; set the controllers media
2888             element before passing controller to the controls.
2889         * html/MediaController.cpp:
2890         (MediaController::updatePlaybackState): Stop the playback clock when WAITING or ENDED.
2891         (MediaController::beginScrubbing): Stop the playback clock.
2892         (MediaController::endScrubbing): Restart (if necessary) the playback clock.
2893         (MediaController::canPlay): Return true if paused.
2894         * platform/mac/PlatformClockCA.cpp:
2895         (PlatformClockCA::setCurrentTime): Stop the CAClock before changing the current time.
2896
2897 2011-12-19  Adam Barth  <abarth@webkit.org>
2898
2899         We don't pass all of the html5lib unsafe-text.dat tests
2900         https://bugs.webkit.org/show_bug.cgi?id=74825
2901
2902         Reviewed by Eric Seidel.
2903
2904         This patch is actually three (tiny) related patches.  Together these
2905         changes cause use to pass the plain-text-unsafe.dat tests from html5lib.
2906
2907         Tests: html5lib/runner.html
2908
2909         * html/parser/HTMLTokenizer.cpp:
2910         (WebCore::::shouldSkipNullCharacters):
2911             - We're not supposed to skip null characters in the PLAINTEXTState.
2912               This might cause compatibility problems with text/plain documents
2913               that contains NUL characters because we use the PLAINTEXTState
2914               to parse them.  If we run into any trouble, it's easy to fix in
2915               TextDocumentParser.
2916         * html/parser/HTMLTreeBuilder.cpp:
2917         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
2918             - Fix typo.
2919         (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
2920             - We're supposed to replace NUL characters if the next character
2921               token if we're in foreign content.  The previous check didn't
2922               quite get this case correctly.
2923         (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
2924             - Now that we replace NUL characters with the replacement
2925               character, we need to be more careful about the fact that
2926               replacement characters don't flip m_framesetOk to false.  Note:
2927               This new check matches the check for non-foreign content.
2928
2929 2011-12-19  Adam Barth  <abarth@webkit.org>
2930
2931         WebKit should support HTML entities that expand to more than one character
2932         https://bugs.webkit.org/show_bug.cgi?id=74826
2933
2934         Reviewed by Darin Adler.
2935
2936         Tests: html5lib/runner.html
2937
2938         * html/parser/HTMLEntityNames.in:
2939             - Add missing HTML entities from HTML5 spec.  I'll sort this file
2940               in a followup patch.  (It's not quite sorted perfectly and
2941               sorting in this patch would introduce noise into the patch.)
2942         * html/parser/HTMLEntityParser.cpp:
2943         (WebCore::decodeNamedEntity):
2944             - convertToUTF16 always returns true, so make it return void instead.
2945             - Teach the entity parse that some entities expand to two characters.
2946         * html/parser/HTMLEntityParser.h:
2947             - Add a warning that decodeNamedEntity is really a broken API.
2948             - This patch doesn't actually change any behavior of this API, but
2949               it does illustrate that the two callers of this API (the two XML
2950               parsers) really need to move a more sensible API.
2951         * html/parser/HTMLEntitySearch.cpp:
2952         (WebCore::HTMLEntitySearch::HTMLEntitySearch):
2953         (WebCore::HTMLEntitySearch::advance):
2954         * html/parser/HTMLEntitySearch.h:
2955         (WebCore::HTMLEntitySearch::fail):
2956             - Remove the concept of currentValue.  This isn't really used for
2957               anything and conflicts with the idea that entities can expand
2958               to more than one character.
2959         * html/parser/HTMLEntityTable.h:
2960             - Add storage for two UChar32 values per entity.
2961         * html/parser/create-html-entity-table:
2962         (convert_value_to_int):
2963             - Teach this script to handle entities that expand to multiple
2964               Unicode characters.
2965         * xml/parser/CharacterReferenceParserInlineMethods.h:
2966         (WebCore::consumeCharacterReference):
2967             - Update this function now that convertToUTF16 returns void.
2968         * xml/parser/XMLCharacterReferenceParser.cpp:
2969             - The XML version of convertToUTF16 also needs to return void to
2970               match the HTML signature.  (It used to return true all the time
2971               as well.)
2972         * xml/parser/XMLTreeBuilder.cpp:
2973         (WebCore::XMLTreeBuilder::processHTMLEntity):
2974             - Update this caller use leftValue instead of value.  My sense is
2975               that this code is moderately broken today because it's using HTML
2976               entities in parsing XML.  I've added a FIXME.  This code is
2977               disabled in all builds, so I don't feel a big need to fix this
2978               issue in this patch.  We should either finish this project or
2979               delete this complexity from the project.
2980
2981 2011-12-19  Andreas Kling  <kling@webkit.org>
2982
2983         Avoid instantiating ScrollAnimators when possible.
2984         <http://webkit.org/b/74830>
2985
2986         Reviewed by Beth Dakin.
2987
2988         Have RenderLayer::scrollToOffset() check if we're scrolling to the already
2989         current offset. In that case, don't call down to scrollToOffsetWithoutAnimation(),
2990         avoiding the instantiation of a ScrollAnimator.
2991
2992         This reduces memory consumption by 400 kB (on 32-bit) when viewing the full HTML5
2993         spec on <http://whatwg.org/c>, since we were creating a ScrollAnimator for every
2994         single RenderLayer.
2995
2996         * rendering/RenderLayer.cpp:
2997         (WebCore::RenderLayer::scrollToOffset):
2998
2999 2011-12-19  Chris Guan  <chris.guan@torchmobile.com.cn>
3000
3001         [BlackBerry] remove one file related to multipart from the BlackBerry build system
3002         https://bugs.webkit.org/show_bug.cgi?id=74839
3003
3004         Reviewed by Daniel Bates.
3005
3006         After refactored multipart, the code of MultipartResponseDelegate have been moved 
3007         out of WebCore, we do not need to upstream MultipartResponseDelegate any more. 
3008         So remove it from PlatformBlackBerry.cmake to update build system. 
3009         
3010         * PlatformBlackBerry.cmake:
3011
3012 2011-12-15  Geoffrey Garen  <ggaren@apple.com>
3013
3014         Placement new does an unnecessary NULL check
3015         https://bugs.webkit.org/show_bug.cgi?id=74676
3016
3017         Reviewed by Sam Weinig.
3018
3019         * bindings/js/JSImageConstructor.h:
3020         (WebCore::JSImageConstructor::create):
3021         * bindings/scripts/CodeGeneratorJS.pm:
3022         (GenerateHeader):
3023         (GenerateConstructorDeclaration):
3024         * bridge/c/CRuntimeObject.h:
3025         (JSC::Bindings::CRuntimeObject::create):
3026         * bridge/c/c_instance.cpp:
3027         (JSC::Bindings::CRuntimeMethod::create):
3028         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3029         (JavaRuntimeMethod::create):
3030         * bridge/jni/jsc/JavaRuntimeObject.h:
3031         (JSC::Bindings::JavaRuntimeObject::create):
3032         * bridge/objc/ObjCRuntimeObject.h:
3033         (JSC::Bindings::ObjCRuntimeObject::create):
3034         * bridge/objc/objc_instance.mm:
3035         (ObjCRuntimeMethod::create):
3036         * bridge/objc/objc_runtime.h:
3037         (JSC::Bindings::ObjcFallbackObjectImp::create):
3038         * bridge/runtime_array.h:
3039         (JSC::RuntimeArray::create):
3040         * bridge/runtime_method.h:
3041         (JSC::RuntimeMethod::create):
3042         * bridge/runtime_object.h:
3043         (JSC::Bindings::RuntimeObject::create):
3044         * dom/Document.h:
3045         (WebCore::FormElementKeyHashTraits::constructDeletedValue): Use NotNull
3046         placement new, as in JavaScriptCore.
3047
3048         * platform/PODArena.h:
3049         (WebCore::PODArena::allocateObject): No need to check for NULL explicitly,
3050         since that's the built-in behavior of placement new.
3051
3052         * platform/graphics/FontCache.cpp:
3053         (WebCore::FontDataCacheKeyTraits::constructDeletedValue):
3054         * platform/graphics/IntRectHash.h:
3055         * platform/graphics/IntSizeHash.h: More NotNull.
3056
3057         * rendering/RenderObject.h: Declaring that we throw is the C++ way to say
3058         that operator new will not return NULL.
3059
3060 2011-12-19  Eric Carlson  <eric.carlson@apple.com>
3061
3062         Render text tracks
3063         https://bugs.webkit.org/show_bug.cgi?id=62886
3064
3065         Reviewed by Sam Weinig.
3066
3067         Test: media/track/track-cue-rendering.html
3068
3069         * css/mediaControls.css:
3070         (video::-webkit-media-text-track-container):
3071         (video::-webkit-media-text-track-display):
3072
3073         * html/HTMLMediaElement.cpp:
3074         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_haveVisibleTextTrack.
3075         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Trigger an update of the text
3076             track display.
3077         (WebCore::HTMLMediaElement::textTrackModeChanged): call configureTextTrackDisplay() so 
3078             the text track display is hidden or shown when necessary.
3079         (WebCore::HTMLMediaElement::userIsInterestedInThisTrack): Minor cleanup.
3080         (WebCore::HTMLMediaElement::createMediaControls): configureMediaControls() always called
3081             reset after creating the controls, do it here instead.
3082         (WebCore::HTMLMediaElement::configureMediaControls): Simplify and cleanup.
3083         (WebCore::HTMLMediaElement::configureTextTrackDisplay): Show and hide text track display.
3084         * html/HTMLMediaElement.h:
3085         (WebCore::HTMLMediaElement::currentlyVisibleCues):
3086
3087         * html/shadow/MediaControlElements.cpp:
3088         (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): New.
3089         (WebCore::RenderTextTrackContainerElement::layout): New. Call the display element so it can
3090             update the position and font size.
3091         (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement): New.
3092         (WebCore::MediaControlTextTrackContainerElement::create): Ditto.
3093         (WebCore::MediaControlTextTrackContainerElement::createRenderer): Ditto.
3094         (WebCore::MediaControlTextTrackContainerElement::shadowPseudoId): Ditto.
3095         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Keep the cue display element
3096             positioned above the bottom of the video box, and size the font according to the video height.
3097         (WebCore::MediaControlTextTrackDisplayElement::MediaControlTextTrackDisplayElement): New.
3098         (WebCore::MediaControlTextTrackDisplayElement::create): Ditto.
3099         (WebCore::MediaControlTextTrackDisplayElement::shadowPseudoId): Ditto.
3100         * html/shadow/MediaControlElements.h:
3101         (WebCore::MediaControlTextTrackContainerElement::displayType):
3102         (WebCore::MediaControlTextTrackDisplayElement::displayType):
3103
3104         * html/shadow/MediaControlRootElement.cpp:
3105         (WebCore::MediaControlRootElement::MediaControlRootElement): New.
3106         (WebCore::MediaControlRootElement::setMediaController): Ditto.
3107         (WebCore::MediaControlRootElement::createTextTrackDisplay): Ditto.
3108         (WebCore::MediaControlRootElement::showTextTrackDisplay): Ditto.
3109         (WebCore::MediaControlRootElement::hideTextTrackDisplay): Ditto.
3110         (WebCore::MediaControlRootElement::updateTextTrackDisplay): Ditto.
3111         * html/shadow/MediaControlRootElement.h:
3112
3113         * html/shadow/MediaControlRootElementChromium.cpp:
3114         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium): New.
3115         (WebCore::MediaControlRootElement::createTextTrackDisplay): Ditto.
3116         (WebCore::MediaControlRootElement::showTextTrackDisplay): Ditto.
3117         (WebCore::MediaControlRootElement::hideTextTrackDisplay): Ditto.
3118         (WebCore::MediaControlRootElement::updateTextTrackDisplay): Ditto.
3119         * html/shadow/MediaControlRootElementChromium.h:
3120         * html/shadow/MediaControls.h:
3121
3122 2011-12-19  Eric Carlson  <eric.carlson@apple.com>
3123
3124         Enable <track> for Mac build
3125         https://bugs.webkit.org/show_bug.cgi?id=74838
3126
3127         Reviewed by Darin Adler.
3128
3129         * Configurations/FeatureDefines.xcconfig:
3130         * bindings/generic/RuntimeEnabledFeatures.cpp:
3131
3132 2011-12-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3133
3134         Make the Editor::setIgnoreCompositionSelectionChange public as it is needed by Qt
3135
3136         Reviewed by Simon Hausmann.
3137
3138         * editing/Editor.h:
3139
3140 2011-12-19  Alexander Pavlov  <apavlov@chromium.org>
3141
3142         Web Inspector: Implement CSS selector profiler backend
3143         https://bugs.webkit.org/show_bug.cgi?id=74603
3144
3145         Reviewed by Pavel Feldman.
3146
3147         No new tests, as the changed code does not result in visible effects yet.
3148
3149         * inspector/Inspector.json:
3150         * inspector/InspectorCSSAgent.cpp:
3151         (WebCore::RuleMatchingStats::RuleMatchingStats):
3152         (WebCore::SelectorProfile::SelectorProfile):
3153         (WebCore::SelectorProfile::~SelectorProfile):
3154         (WebCore::SelectorProfile::totalMatchingTimeMs):
3155         (WebCore::SelectorProfile::startSelector):
3156         (WebCore::SelectorProfile::commitSelector):
3157         (WebCore::SelectorProfile::commitSelectorTime):
3158         (WebCore::SelectorProfile::toInspectorObject):
3159         (WebCore::InspectorCSSAgent::clearFrontend):
3160         (WebCore::InspectorCSSAgent::restore):
3161         (WebCore::InspectorCSSAgent::startSelectorProfiler):
3162         (WebCore::InspectorCSSAgent::stopSelectorProfiler):
3163         (WebCore::InspectorCSSAgent::willMatchRule):
3164         (WebCore::InspectorCSSAgent::didMatchRule):
3165         (WebCore::InspectorCSSAgent::willProcessRule):
3166         (WebCore::InspectorCSSAgent::didProcessRule):
3167         * inspector/InspectorCSSAgent.h:
3168
3169 2011-12-19  Alexander Pavlov  <apavlov@chromium.org>
3170
3171         Web Inspector: Status bar button glyph for the "Record" buttons broken
3172         https://bugs.webkit.org/show_bug.cgi?id=74861
3173
3174         Reviewed by Pavel Feldman.
3175
3176         * inspector/front-end/inspector.css:
3177         (.record-cpu-profile-status-bar-item .glyph, .record-profile-status-bar-item .glyph):
3178         (.record-cpu-profile-status-bar-item.toggled-on .glyph, .record-profile-status-bar-item.toggled-on .glyph):
3179
3180 2011-12-19  Pavel Feldman  <pavel.feldman@gmail.com>
3181
3182         Web Inspector: only the first @rule is highlighted in CSS
3183         https://bugs.webkit.org/show_bug.cgi?id=74568
3184
3185         Reviewed by Timothy Hatcher.
3186
3187         * inspector/front-end/SourceCSSTokenizer.js:
3188         (WebInspector.SourceCSSTokenizer.prototype.nextToken):
3189         * inspector/front-end/SourceCSSTokenizer.re2js:
3190
3191 2011-12-19  Ilya Tikhonovsky  <loislo@chromium.org>
3192
3193         Web Inspector: Feature Request: Able to remove all breakpoints.
3194         https://bugs.webkit.org/show_bug.cgi?id=63055
3195
3196         Reviewed by Pavel Feldman.
3197
3198         * English.lproj/localizedStrings.js:
3199         * inspector/front-end/BreakpointManager.js:
3200         (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
3201         * inspector/front-end/BreakpointsSidebarPane.js:
3202         (WebInspector.JavaScriptBreakpointsSidebarPane):
3203         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):
3204         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu):
3205         * inspector/front-end/DebuggerPresentationModel.js:
3206         (WebInspector.DebuggerPresentationModel.prototype.removeAllBreakpoints):
3207
3208 2011-12-19  Benjamin Poulain  <benjamin@webkit.org>
3209
3210         Build fix for ScrollingCoordinatorMac.mm when building on a case sensitive system
3211
3212         Unreviewed build fix for r103180. StdlibExtras.h->StdLibExtras.h to compile on case sensitive system.
3213
3214         * page/mac/ScrollingCoordinatorMac.mm:
3215
3216 2011-12-19  Kentaro Hara  <haraken@chromium.org>
3217
3218         Remove unnecessary [JSCCustomGetter] IDLs from DOMWindow.idl
3219         https://bugs.webkit.org/show_bug.cgi?id=74829
3220
3221         Reviewed by Adam Barth.
3222
3223         Now JSC has implemented the [Constructor] IDL and it generates
3224         getDOMConstructor() automatically. This patch removes hand-written
3225         unnecessary getDOMConstructor()s from JSDOMWindowCustom.cpp.
3226
3227         No new tests. No change in behavior.
3228
3229         * bindings/js/JSDOMWindowCustom.cpp:
3230         * page/DOMWindow.idl:
3231
3232 2011-12-19  Adam Barth  <abarth@webkit.org>
3233
3234         The HTML parser doesn't enforce the "Noah's Ark condition" from the HTML5 spec
3235         https://bugs.webkit.org/show_bug.cgi?id=74828
3236
3237         Reviewed by Darin Adler.
3238
3239         This patch implement the "Noah's Ark condition" from the HTML5
3240         specification.  This condition limits the number of identitical
3241         elements that can be in the list of active formatting elements.  I'm not
3242         entirely sure that enforcing this condition is worth the complexity,
3243         but given that we've come this far in support of the HTML5 parsing
3244         algorithm, we might as well finish it.
3245
3246         After this patch, we pass all but one of the html5lib parsing tests!
3247
3248         Tests: html5lib/runner.html
3249
3250         * html/parser/HTMLFormattingElementList.cpp:
3251         (WebCore::attributeCount):
3252         (WebCore::HTMLFormattingElementList::append):
3253         (WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
3254         (WebCore::HTMLFormattingElementList::ensureNoahsArkCondition):
3255         * html/parser/HTMLFormattingElementList.h:
3256
3257 2011-12-19  Benjamin Poulain  <bpoulain@apple.com>
3258
3259         Add support for 8 bits strings to Document::isValidName()
3260         https://bugs.webkit.org/show_bug.cgi?id=74784
3261
3262         Reviewed by Darin Adler.
3263
3264         Avoid the conversion to 16bits when we are in the ASCII fast path,
3265         otherwise fallback to the Unicode testing in 16bits.
3266
3267         * dom/Document.cpp:
3268         (WebCore::isValidNameASCII):
3269         (WebCore::Document::isValidName):
3270
3271 2011-12-18  Kentaro Hara  <haraken@chromium.org>
3272
3273         REGRESSION(r101445): [JSC] Generated code for custom getters and setters
3274         with the [Supplemental] IDL is wrong
3275         https://bugs.webkit.org/show_bug.cgi?id=74837
3276
3277         Reviewed by Darin Adler.
3278
3279         In bug 73162, we implemented the [Supplemental] IDL, but the generated code
3280         for custom getters and setters was wrong in JSC. This patch fixes CodeGeneratorJS.pm
3281         so that the result of WebCore/bindings/scripts/test/TestInterface.idl becomes as follows:
3282
3283         Wrong:
3284             JSValue jsTestInterfaceStr3(ExecState* exec, JSValue slotBase, const Identifier&)
3285             {
3286                 JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
3287                 return JSTestSupplemental::str3(castedThis, exec);
3288             }
3289
3290         Correct:
3291             JSValue jsTestInterfaceStr3(ExecState* exec, JSValue slotBase, const Identifier&)
3292             {
3293                 JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
3294                 TestInterface* imp = static_cast<TestInterface*>(castedThis->impl());
3295                 return castedThis->str3(imp, exec);
3296             }
3297
3298         Tests: bindings/scripts/test/JS/TestInterface.idl
3299
3300         * bindings/scripts/CodeGeneratorJS.pm:
3301         (GenerateHeader):
3302         (GenerateImplementation):
3303         * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests result.
3304         (WebCore::jsTestInterfaceStr3):
3305         (WebCore::setJSTestInterfaceStr3):
3306         * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
3307
3308 2011-12-18  Adam Barth  <abarth@webkit.org>
3309
3310         Fix typo in comment.
3311
3312         * html/parser/HTMLTreeBuilder.cpp:
3313         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
3314
3315 2011-12-18  Keishi Hattori  <keishi@webkit.org>
3316
3317         Implement <input type=color> UI WebKit chromium part
3318         https://bugs.webkit.org/show_bug.cgi?id=65897
3319
3320         Reviewed by Darin Fisher.
3321
3322         * GNUmakefile.list.am: Removed ColorChooser.cpp and added ColorChooserClient.h
3323         * WebCore.gypi: Added ColorChooser.h and ColorChooserClient.h
3324         * WebCore.xcodeproj/project.pbxproj: Removed ColorChooser.cpp and added ColorChooserClient.h
3325
3326 2011-12-18  David Barton  <dbarton@mathscribe.com>
3327
3328         <msup>, <munder>, <mover>, and <munderover> baseline positions are wrong
3329         https://bugs.webkit.org/show_bug.cgi?id=72821
3330
3331         Reviewed by Darin Adler.
3332
3333         Tested by rebaselining 8 existing tests. (Pardon the pun.)
3334
3335         * rendering/mathml/RenderMathMLSubSup.cpp:
3336         (WebCore::RenderMathMLSubSup::baselinePosition):
3337         Just using the base's (these puns are not my fault) baseline did not leave room for the exponent.
3338         * rendering/mathml/RenderMathMLUnderOver.cpp:
3339         (WebCore::RenderMathMLUnderOver::baselinePosition):
3340         Added a guard condition, and removed some bad lines apparently mistakenly copied from RenderMathMLSubSup.cpp.
3341
3342 2011-12-18  Luke Macpherson   <macpherson@chromium.org>
3343
3344         Implement CSS line-height property in CSSStyleApplyProperty.
3345         https://bugs.webkit.org/show_bug.cgi?id=74561
3346
3347         Reviewed by Andreas Kling.
3348
3349         No new tests / refactoring only.
3350
3351         * css/CSSPrimitiveValue.h:
3352         (WebCore::CSSPrimitiveValue::isNumber):
3353         * css/CSSStyleApplyProperty.cpp:
3354         (WebCore::ApplyPropertyLineHeight::applyValue):
3355         (WebCore::ApplyPropertyLineHeight::createHandler):
3356         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3357         * css/CSSStyleSelector.cpp:
3358         (WebCore::CSSStyleSelector::applyProperty):
3359
3360 2011-12-18  Luke Macpherson   <macpherson@chromium.org>
3361
3362         Implement CSS outline shorthand property in CSSStyleApplyProperty.
3363         https://bugs.webkit.org/show_bug.cgi?id=74467
3364
3365         Reviewed by Andreas Kling.
3366
3367         No new tests / refactoring only.
3368
3369         RenderStyle::resetOutline was removed in favor of explicity expanding to the
3370         initial values of the shorthand expansion. This improves consistency because
3371         the initial values to use are more clearly (and singularly) defined.
3372
3373         * css/CSSStyleApplyProperty.cpp:
3374         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3375         * css/CSSStyleSelector.cpp:
3376         (WebCore::CSSStyleSelector::applyProperty):
3377         * rendering/style/RenderStyle.h:
3378
3379 2011-12-18  Sheriff Bot  <webkit.review.bot@gmail.com>
3380
3381         Unreviewed, rolling out r103205.
3382         http://trac.webkit.org/changeset/103205
3383         https://bugs.webkit.org/show_bug.cgi?id=74833
3384
3385         There are valid characters above 0x80 when the  string is
3386         8bits (Requested by benjaminp on #webkit).
3387
3388         * dom/Document.cpp:
3389         (WebCore::isValidNameASCII):
3390         (WebCore::Document::isValidName):
3391
3392 2011-12-18  Luke Macpherson   <macpherson@chromium.org>
3393
3394         Separate box alignment and box pack values into separate enums.
3395         https://bugs.webkit.org/show_bug.cgi?id=74580
3396
3397         Reviewed by Andreas Kling.
3398
3399         No new tests / refactoring only.
3400
3401         Separating these types cleans up the code by removing several assertions that
3402         values are in the correct ranges, as this is ensured by the type system.
3403
3404         * css/CSSComputedStyleDeclaration.cpp:
3405         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3406         * css/CSSPrimitiveValueMappings.h:
3407         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3408         (WebCore::CSSPrimitiveValue::operator EBoxPack):
3409         (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
3410         * css/CSSStyleSelector.cpp:
3411         (WebCore::CSSStyleSelector::applyProperty):
3412         * rendering/RenderDeprecatedFlexibleBox.cpp:
3413         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
3414         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
3415         * rendering/RenderFullScreen.cpp:
3416         (createFullScreenStyle):
3417         * rendering/style/RenderStyle.h:
3418         (WebCore::InheritedFlags::boxPack):
3419         (WebCore::InheritedFlags::setBoxAlign):
3420         (WebCore::InheritedFlags::setBoxPack):
3421         (WebCore::InheritedFlags::initialBoxPack):
3422         * rendering/style/RenderStyleConstants.h:
3423         * rendering/style/StyleDeprecatedFlexibleBoxData.h:
3424
3425 2011-12-18  Luke Macpherson   <macpherson@chromium.org>
3426
3427         Implement CSS font-size property in CSSStyleApplyProperty.
3428         https://bugs.webkit.org/show_bug.cgi?id=74368
3429
3430         Reviewed by Andreas Kling.
3431
3432         No new tests / refactoring only.
3433
3434         * css/CSSStyleApplyProperty.cpp:
3435         (WebCore::ApplyPropertyFontSize::largerFontSize):
3436         (WebCore::ApplyPropertyFontSize::smallerFontSize):
3437         (WebCore::ApplyPropertyFontSize::applyInheritValue):
3438         (WebCore::ApplyPropertyFontSize::applyInitialValue):
3439         (WebCore::ApplyPropertyFontSize::applyValue):
3440         (WebCore::ApplyPropertyFontSize::createHandler):
3441         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3442         * css/CSSStyleSelector.cpp:
3443         (WebCore::CSSStyleSelector::applyProperty):