AX: svg:image not accessible
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-09-12  Chris Fleizach  <cfleizach@apple.com>
2
3         AX: svg:image not accessible
4         https://bugs.webkit.org/show_bug.cgi?id=96341
5
6         Reviewed by Adele Peterson.
7
8         Test: accessibility/svg-image.html
9
10         * accessibility/AccessibilityRenderObject.cpp:
11         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
12
13 2012-09-12  Ojan Vafai  <ojan@chromium.org>
14
15         percentage widths rendered wrong in vertical writing mode with orthogonal parent
16         https://bugs.webkit.org/show_bug.cgi?id=96308
17
18         Reviewed by Tony Chang.
19
20         When the containingBlock is in a perpendicular writing-mode, we need to use
21         it's logicalWidth as the availableHeight for computing percentage values.
22
23         Tests: fast/writing-mode/percentage-height-orthogonal-writing-modes-quirks.html
24                fast/writing-mode/percentage-height-orthogonal-writing-modes.html
25
26         * rendering/RenderBox.cpp:
27         (WebCore::RenderBox::computePercentageLogicalHeight):
28         (WebCore::RenderBox::availableLogicalHeightUsing):
29         Added some FIXMEs for perpendicular writing mode cases.
30
31 2012-09-12  Adam Barth  <abarth@webkit.org>
32
33         [v8] document.getCSSCanvasContext doesn't need to be custom
34         https://bugs.webkit.org/show_bug.cgi?id=96560
35
36         Reviewed by Eric Seidel.
37
38         Instead of having a special case for toV8(CanvasRenderingContext*)
39         inlined into this custom function, we should just make the toV8
40         function itself custom.
41
42         Test: fast/canvas/canvas-css-crazy.html
43
44         * UseV8.cmake:
45         * WebCore.gypi:
46         * bindings/v8/custom/V8DocumentCustom.cpp:
47         * dom/Document.idl:
48         * html/canvas/CanvasRenderingContext.idl:
49
50 2012-09-12  Eric Seidel  <eric@webkit.org>
51
52         HTML parser fails to propertly close 4 identical nested formatting elements
53         https://bugs.webkit.org/show_bug.cgi?id=96385
54
55         Reviewed by Adam Barth.
56
57         Add missing Adoption agency step 4.a to fix one of our two outlying Adoption Agency bugs.
58         This is the same step that Opera was missing (must have been recently added to the spec).
59
60         * html/parser/HTMLTreeBuilder.cpp:
61         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
62
63 2012-09-12  Siraj Razick  <siraj.razick@collabora.co.uk>
64
65         [GTK] Protect RedirectedXCompositeWindow with USE(GLX) when building the clutter AC backend
66         https://bugs.webkit.org/show_bug.cgi?id=96165
67
68         Reviewed by Martin Robinson.
69
70         RedirectedXCompositeWindow.cpp and RedirectedXCompositeWindow.h files requies openGL specific
71         headers to compile so when we build webkit clutter AC backend these files failed to compile,
72         This patch protects these two files with USE(GLX) when building webkit with Clutter AC backend.
73
74         No new tests since this is a build fix
75
76         * platform/gtk/RedirectedXCompositeWindow.cpp:
77         * platform/gtk/RedirectedXCompositeWindow.h:
78         protects both the files with USE(GLX)
79
80 2012-09-12  Ojan Vafai  <ojan@chromium.org>
81
82         RenderBox::computeLogicalClientHeight is incorrectly named
83         https://bugs.webkit.org/show_bug.cgi?id=94288
84
85         Reviewed by Tony Chang.
86
87         Just renamed a couple methods to make it more clear what they return.
88         No behavior changes.
89
90         * rendering/RenderBox.cpp:
91         (WebCore::RenderBox::computeLogicalHeightUsing):
92         (WebCore::RenderBox::computeContentLogicalHeight):
93         (WebCore::RenderBox::computeContentAndScrollbarLogicalHeightUsing):
94         (WebCore::RenderBox::availableLogicalHeightUsing):
95         * rendering/RenderBox.h:
96         (RenderBox):
97         * rendering/RenderFlexibleBox.cpp:
98         (WebCore::RenderFlexibleBox::mainAxisContentExtent):
99         (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
100         (WebCore::RenderFlexibleBox::computeAvailableFreeSpace):
101         (WebCore::RenderFlexibleBox::lineBreakLength):
102
103 2012-09-12  Joshua Bell  <jsbell@chromium.org>
104
105         IndexedDB: The |source| property of IDBFactory.open() request should be null
106         https://bugs.webkit.org/show_bug.cgi?id=96551
107
108         Reviewed by Tony Chang.
109
110         Per the IDB spec, the source property of the IDBOpenDBRequest returned by IDBFactory.open()
111         should be set to null. We were setting it to the IDBFactory object instead.
112
113         Tests: storage/indexeddb/basics.html
114                storage/indexeddb/basics-workers.html
115                storage/indexeddb/mozilla/event-source.html
116                storage/indexeddb/readonly.html
117
118         * Modules/indexeddb/IDBFactory.cpp:
119         (WebCore::IDBFactory::open):
120
121 2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
122
123         Unreviewed, rolling out r128353.
124         http://trac.webkit.org/changeset/128353
125         https://bugs.webkit.org/show_bug.cgi?id=96565
126
127         Re-land change that broke tests on Chromium. Tests are now
128         disabled, will rebaseline after this rolls. (Requested by
129         dmazzoni on #webkit).
130
131         * accessibility/AccessibilityNodeObject.cpp:
132         (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
133         (WebCore::AccessibilityNodeObject::canHaveChildren):
134         (WebCore):
135         (WebCore::AccessibilityNodeObject::accessibilityIsIgnored):
136         (WebCore::AccessibilityNodeObject::isWebArea):
137         (WebCore::AccessibilityNodeObject::isImageButton):
138         (WebCore::AccessibilityNodeObject::isAnchor):
139         (WebCore::AccessibilityNodeObject::isNativeTextControl):
140         (WebCore::AccessibilityNodeObject::isSearchField):
141         (WebCore::AccessibilityNodeObject::isNativeImage):
142         (WebCore::AccessibilityNodeObject::isImage):
143         (WebCore::AccessibilityNodeObject::isPasswordField):
144         (WebCore::AccessibilityNodeObject::isInputImage):
145         (WebCore::AccessibilityNodeObject::isProgressIndicator):
146         (WebCore::AccessibilityNodeObject::isSlider):
147         (WebCore::AccessibilityNodeObject::isMenuRelated):
148         (WebCore::AccessibilityNodeObject::isMenu):
149         (WebCore::AccessibilityNodeObject::isMenuBar):
150         (WebCore::AccessibilityNodeObject::isMenuButton):
151         (WebCore::AccessibilityNodeObject::isMenuItem):
152         (WebCore::AccessibilityNodeObject::isNativeCheckboxOrRadio):
153         (WebCore::AccessibilityNodeObject::isEnabled):
154         (WebCore::AccessibilityNodeObject::isIndeterminate):
155         (WebCore::AccessibilityNodeObject::isPressed):
156         (WebCore::AccessibilityNodeObject::isChecked):
157         (WebCore::AccessibilityNodeObject::isHovered):
158         (WebCore::AccessibilityNodeObject::isMultiSelectable):
159         (WebCore::AccessibilityNodeObject::isReadOnly):
160         (WebCore::AccessibilityNodeObject::isRequired):
161         (WebCore::AccessibilityNodeObject::headingLevel):
162         (WebCore::AccessibilityNodeObject::valueDescription):
163         (WebCore::AccessibilityNodeObject::isARIARange):
164         (WebCore::AccessibilityNodeObject::valueForRange):
165         (WebCore::AccessibilityNodeObject::maxValueForRange):
166         (WebCore::AccessibilityNodeObject::minValueForRange):
167         (WebCore::AccessibilityNodeObject::stepValueForRange):
168         (WebCore::AccessibilityNodeObject::isHeading):
169         (WebCore::AccessibilityNodeObject::isLink):
170         (WebCore::AccessibilityNodeObject::isControl):
171         (WebCore::AccessibilityNodeObject::isFieldset):
172         (WebCore::AccessibilityNodeObject::isGroup):
173         (WebCore::AccessibilityNodeObject::selectedRadioButton):
174         (WebCore::AccessibilityNodeObject::selectedTabItem):
175         (WebCore::AccessibilityNodeObject::checkboxOrRadioValue):
176         (WebCore::AccessibilityNodeObject::anchorElement):
177         (WebCore::AccessibilityNodeObject::actionElement):
178         (WebCore::AccessibilityNodeObject::mouseButtonListener):
179         (WebCore::AccessibilityNodeObject::isDescendantOfBarrenParent):
180         (WebCore::AccessibilityNodeObject::alterSliderValue):
181         (WebCore::AccessibilityNodeObject::increment):
182         (WebCore::AccessibilityNodeObject::decrement):
183         (WebCore::AccessibilityNodeObject::changeValueByStep):
184         (WebCore::AccessibilityNodeObject::changeValueByPercent):
185         (WebCore::AccessibilityNodeObject::isGenericFocusableElement):
186         (WebCore::AccessibilityNodeObject::labelForElement):
187         (WebCore::AccessibilityNodeObject::ariaAccessibilityDescription):
188         (WebCore::siblingWithAriaRole):
189         (WebCore::AccessibilityNodeObject::menuElementForMenuButton):
190         (WebCore::AccessibilityNodeObject::menuForMenuButton):
191         (WebCore::AccessibilityNodeObject::menuItemElementForMenu):
192         (WebCore::AccessibilityNodeObject::menuButtonForMenu):
193         (WebCore::AccessibilityNodeObject::accessibilityDescription):
194         (WebCore::AccessibilityNodeObject::helpText):
195         (WebCore::AccessibilityNodeObject::hierarchicalLevel):
196         (WebCore::AccessibilityNodeObject::textUnderElement):
197         (WebCore::AccessibilityNodeObject::title):
198         (WebCore::AccessibilityNodeObject::text):
199         (WebCore::AccessibilityNodeObject::stringValue):
200         (WebCore::accessibleNameForNode):
201         (WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
202         (WebCore::AccessibilityNodeObject::elementsFromAttribute):
203         (WebCore::AccessibilityNodeObject::ariaLabeledByElements):
204         (WebCore::AccessibilityNodeObject::ariaLabeledByAttribute):
205         (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
206         * accessibility/AccessibilityNodeObject.h:
207         (AccessibilityNodeObject):
208         (WebCore::AccessibilityNodeObject::node):
209         * accessibility/AccessibilityRenderObject.cpp:
210         (WebCore::AccessibilityRenderObject::parentObject):
211         (WebCore::AccessibilityRenderObject::isReadOnly):
212         (WebCore::AccessibilityRenderObject::helpText):
213         (WebCore::AccessibilityRenderObject::accessibilityDescription):
214         (WebCore::AccessibilityRenderObject::text):
215         (WebCore::AccessibilityRenderObject::contentChanged):
216         (WebCore):
217         (WebCore::AccessibilityRenderObject::canHaveChildren):
218         * accessibility/AccessibilityRenderObject.h:
219         (AccessibilityRenderObject):
220
221 2012-09-12  Michael Saboff  <msaboff@apple.com>
222
223         Element::classAttributeChanged should use characters8/16 to find first non-whitespace
224         https://bugs.webkit.org/show_bug.cgi?id=96446
225
226         Reviewed by Benjamin Poulain.
227
228         Made two new static templated methods to handle 8 or 16 bit class names.
229
230         No functional change, so no new tests.
231
232         * dom/Element.cpp:
233         (WebCore::classStringHasClassName):
234         (WebCore::Element::classAttributeChanged):
235
236 2012-09-12  Adam Barth  <abarth@chromium.org>
237
238         [V8] V8DOMWrapper::constructorForType is unnecessary now that we can get V8PerContextData from the v8::Context
239         https://bugs.webkit.org/show_bug.cgi?id=96556
240
241         Reviewed by Eric Seidel.
242
243         These functions no longer serve a purpose now that we can get the
244         V8PerContextData directly from the context. Previously we had to find
245         the Frame in order to find the per-context data.
246
247         * bindings/scripts/CodeGeneratorV8.pm:
248         (GenerateConstructorGetter):
249         * bindings/v8/V8DOMWindowShell.cpp:
250         (WebCore::V8DOMWindowShell::installDOMWindow):
251         * bindings/v8/V8DOMWrapper.cpp:
252         (WebCore::V8DOMWrapper::instantiateV8Object):
253         * bindings/v8/V8DOMWrapper.h:
254         (V8DOMWrapper):
255         * bindings/v8/V8PerContextData.cpp:
256         (WebCore::V8PerContextData::from):
257         * bindings/v8/V8PerContextData.h:
258         (V8PerContextData):
259             - Changed this function to accept an arbitrary context rather than
260               requiring the caller to use the current context.
261
262 2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
263
264         Unreviewed, rolling out r128318 and r128332.
265         http://trac.webkit.org/changeset/128318
266         http://trac.webkit.org/changeset/128332
267         https://bugs.webkit.org/show_bug.cgi?id=96547
268
269         Caused accessibility test failures on snow leopard (Requested
270         by jamesr_ on #webkit).
271
272         * accessibility/AccessibilityNodeObject.cpp:
273         (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
274         (WebCore::AccessibilityNodeObject::accessibilityIsIgnored):
275         (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
276         * accessibility/AccessibilityNodeObject.h:
277         (AccessibilityNodeObject):
278         (WebCore::AccessibilityNodeObject::node):
279         * accessibility/AccessibilityRenderObject.cpp:
280         (WebCore):
281         (WebCore::AccessibilityRenderObject::isWebArea):
282         (WebCore::AccessibilityRenderObject::isImageButton):
283         (WebCore::AccessibilityRenderObject::isAnchor):
284         (WebCore::AccessibilityRenderObject::isNativeTextControl):
285         (WebCore::AccessibilityRenderObject::isSearchField):
286         (WebCore::AccessibilityRenderObject::isNativeImage):
287         (WebCore::AccessibilityRenderObject::isImage):
288         (WebCore::AccessibilityRenderObject::isPasswordField):
289         (WebCore::AccessibilityRenderObject::isInputImage):
290         (WebCore::AccessibilityRenderObject::isProgressIndicator):
291         (WebCore::AccessibilityRenderObject::isSlider):
292         (WebCore::AccessibilityRenderObject::isMenuRelated):
293         (WebCore::AccessibilityRenderObject::isMenu):
294         (WebCore::AccessibilityRenderObject::isMenuBar):
295         (WebCore::AccessibilityRenderObject::isMenuButton):
296         (WebCore::AccessibilityRenderObject::isMenuItem):
297         (WebCore::AccessibilityRenderObject::isPressed):
298         (WebCore::AccessibilityRenderObject::isIndeterminate):
299         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
300         (WebCore::AccessibilityRenderObject::isChecked):
301         (WebCore::AccessibilityRenderObject::isHovered):
302         (WebCore::AccessibilityRenderObject::isMultiSelectable):
303         (WebCore::AccessibilityRenderObject::isReadOnly):
304         (WebCore::AccessibilityRenderObject::headingLevel):
305         (WebCore::AccessibilityRenderObject::isHeading):
306         (WebCore::AccessibilityRenderObject::isLink):
307         (WebCore::AccessibilityRenderObject::isControl):
308         (WebCore::AccessibilityRenderObject::isFieldset):
309         (WebCore::AccessibilityRenderObject::isGroup):
310         (WebCore::AccessibilityRenderObject::selectedRadioButton):
311         (WebCore::AccessibilityRenderObject::selectedTabItem):
312         (WebCore::AccessibilityRenderObject::actionElement):
313         (WebCore::AccessibilityRenderObject::mouseButtonListener):
314         (WebCore::AccessibilityRenderObject::alterSliderValue):
315         (WebCore::AccessibilityRenderObject::increment):
316         (WebCore::AccessibilityRenderObject::decrement):
317         (WebCore::siblingWithAriaRole):
318         (WebCore::AccessibilityRenderObject::menuElementForMenuButton):
319         (WebCore::AccessibilityRenderObject::menuForMenuButton):
320         (WebCore::AccessibilityRenderObject::menuItemElementForMenu):
321         (WebCore::AccessibilityRenderObject::menuButtonForMenu):
322         (WebCore::AccessibilityRenderObject::hierarchicalLevel):
323         (WebCore::AccessibilityRenderObject::checkboxOrRadioValue):
324         (WebCore::AccessibilityRenderObject::valueDescription):
325         (WebCore::AccessibilityRenderObject::stepValueForRange):
326         (WebCore::AccessibilityRenderObject::isARIARange):
327         (WebCore::AccessibilityRenderObject::valueForRange):
328         (WebCore::AccessibilityRenderObject::maxValueForRange):
329         (WebCore::AccessibilityRenderObject::minValueForRange):
330         (WebCore::accessibleNameForNode):
331         (WebCore::AccessibilityRenderObject::accessibilityDescriptionForElements):
332         (WebCore::AccessibilityRenderObject::elementsFromAttribute):
333         (WebCore::AccessibilityRenderObject::ariaLabeledByElements):
334         (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
335         (WebCore::labelForElement):
336         (WebCore::AccessibilityRenderObject::title):
337         (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
338         (WebCore::AccessibilityRenderObject::accessibilityDescription):
339         (WebCore::AccessibilityRenderObject::isDescendantOfBarrenParent):
340         (WebCore::AccessibilityRenderObject::text):
341         (WebCore::AccessibilityRenderObject::isRequired):
342         (WebCore::AccessibilityRenderObject::changeValueByStep):
343         (WebCore::AccessibilityRenderObject::changeValueByPercent):
344         (WebCore::AccessibilityRenderObject::isEnabled):
345         (WebCore::AccessibilityRenderObject::isGenericFocusableElement):
346         (WebCore::AccessibilityRenderObject::canHaveChildren):
347         * accessibility/AccessibilityRenderObject.h:
348         (AccessibilityRenderObject):
349
350 2012-09-12  Christophe Dumez  <christophe.dumez@intel.com>
351
352         [EFL] Compilation error in RenderThemeEfl.cpp
353         https://bugs.webkit.org/show_bug.cgi?id=96540
354
355         Unreviewed build fix.
356
357         Fix compilation error in RenderThemeEfl.cpp when building
358         in debug mode.
359
360         * platform/efl/RenderThemeEfl.h:
361         (WebCore::RenderThemeEfl::canvas):
362         (WebCore::RenderThemeEfl::edje):
363
364 2012-09-12  Sami Kyostila  <skyostil@google.com>
365
366         Rename OVERFLOW_SCROLLING as ACCELERATED_OVERFLOW_SCROLLING
367         https://bugs.webkit.org/show_bug.cgi?id=96251
368
369         Reviewed by Simon Fraser.
370
371         Rename OVERFLOW_SCROLLING as ACCELERATED_OVERFLOW_SCROLLING to better describe
372         the feature it controls.
373
374         No tests because of no change in runtime behavior.
375
376         * css/CSSComputedStyleDeclaration.cpp:
377         (WebCore):
378         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
379         * css/CSSParser.cpp:
380         (WebCore::isValidKeywordPropertyAndValue):
381         (WebCore::isKeywordPropertyID):
382         (WebCore::CSSParser::parseValue):
383         * css/CSSProperty.cpp:
384         (WebCore::CSSProperty::isInheritedProperty):
385         * css/CSSPropertyNames.in:
386         * css/CSSValueKeywords.in:
387         * css/StyleResolver.cpp:
388         (WebCore::StyleResolver::collectMatchingRulesForList):
389         * rendering/RenderLayer.cpp:
390         (WebCore::RenderLayer::usesCompositedScrolling):
391         * rendering/style/RenderStyle.h:
392         * rendering/style/StyleRareInheritedData.cpp:
393         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
394         (WebCore::StyleRareInheritedData::operator==):
395         * rendering/style/StyleRareInheritedData.h:
396         (StyleRareInheritedData):
397
398 2012-09-12  Levi Weintraub  <leviw@chromium.org>
399
400         Inline repainting can be off-by-one with sub-pixel enabled
401         https://bugs.webkit.org/show_bug.cgi?id=95882
402
403         Reviewed by Eric Seidel.
404
405         With sub-pixel layout enabled, context accumulated from containing renderers is used to properly
406         pixel snap. Selection repaint rects are stored outside the affected renderers, and are handed to
407         the embedder without the context to correctly determine the snapped values. This can result in
408         repaint areas smaller than what's needed.
409
410         This could be fixed three ways:
411         - by changing selection repaint rects to an IntRect and pixel snapping the values before storing
412           them outside the render tree. This is the narrowest solution.
413         - by adapting layout to store pixel snapping hints along with the size/location of the renderer.
414           This is the best possible solution, as it would help solve a lot of pixel snapping issues and
415           reduce complexity of handling. I eventually intend on implementing this.
416         - by reverting repaintUsingContainer to IntRects and using pixel snapping when possible, and
417           enclosingIntRect where we lack context.
418
419         This implements the last solution, as it's the least invasive, but can potentially fix numerous
420         sub-pixel repaint issues.
421
422         Test: fast/sub-pixel/selection/selection-rect-in-sub-pixel-table.html
423
424         * rendering/RenderBlockLineLayout.cpp:
425         (WebCore::RenderBlock::layoutRunsAndFloats):
426         * rendering/RenderLayer.cpp:
427         (WebCore::RenderLayer::updateLayerPositions):
428         (WebCore::RenderLayer::scrollTo):
429         (WebCore::RenderLayer::repaintIncludingNonCompositingDescendants):
430         * rendering/RenderObject.cpp:
431         (WebCore::RenderObject::repaintUsingContainer):
432         (WebCore::RenderObject::repaint):
433         (WebCore::RenderObject::repaintRectangle):
434         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
435         * rendering/RenderObject.h:
436         (RenderObject):
437         * rendering/RenderSelectionInfo.h:
438         (WebCore::RenderSelectionInfo::repaint):
439         (WebCore::RenderBlockSelectionInfo::repaint):
440
441 2012-09-12  Michael Saboff  <msaboff@apple.com>
442
443         Build fixed for http://trac.webkit.org/changeset/128243
444
445         Unreviewed build fix.
446
447         Change UnicodeString::extract for gcc based on ICU fix described in
448         http://bugs.icu-project.org/trac/ticket/8197.
449
450         * icu/unicode/unistr.h:
451         (UnicodeString::extract):
452
453 2012-09-12  Christopher Cameron  <ccameron@chromium.org>
454
455         [chromium] Evict textures through the texture manager instead of the resource provider
456         https://bugs.webkit.org/show_bug.cgi?id=96463
457
458         Reviewed by James Robinson.
459
460         When deleting contents textures' resources on the impl thread, do the
461         deletion through the CCPrioritizedTextureManager instead of the
462         CCResourceProvider.
463
464         This requires traversing the backings list on the impl thread while
465         the main thread is running, so remove the one remaining traversal of
466         the backings list by the main thread. This traversal happens when
467         unlinking textures that were evicted by the impl thread, so explicitly
468         send the list of evicted backings from the impl thread to the main thread.
469
470         Unify all resource deletion paths in the CCPrioritizedTextureManager.
471         Always perform the sequence of eviction (deleting the GL resource) and
472         then destruction of evicted backings (deleting the objects).  Also,
473         use the same function (evictBackingsToReduceMemory) to reduce memory
474         consumption both during commit and when done by the impl thread in response
475         to a request by the GPU memory manager.
476
477         Note that destroying only some of the resources at a time during texture
478         eviction (as opposed all resources) is still not supported because the
479         texture upload queues cannot be only-partially invalidated yet.
480
481         Updated tests to take this behavior into account.
482
483         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
484         (WebCore::CCLayerTreeHost::reduceContentsTexturesMemoryOnImplThread):
485         (WebCore):
486         (WebCore::CCLayerTreeHost::getEvictedContentTexturesBackings):
487         (WebCore::CCLayerTreeHost::unlinkEvictedContentTexturesBackings):
488         (WebCore::CCLayerTreeHost::deleteEvictedContentTexturesBackings):
489         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
490         (CCLayerTreeHost):
491         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
492         (WebCore::CCLayerTreeHostImpl::releaseContentsTextures):
493         (WebCore::CCLayerTreeHostImpl::setContentsTexturesPurged):
494         (WebCore):
495         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
496         (CCLayerTreeHostImplClient):
497         (CCLayerTreeHostImpl):
498         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
499         (WebCore::CCPrioritizedTextureManager::~CCPrioritizedTextureManager):
500         (WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
501         (WebCore::CCPrioritizedTextureManager::evictBackingsToReduceMemory):
502         (WebCore::CCPrioritizedTextureManager::reduceMemory):
503         (WebCore::CCPrioritizedTextureManager::clearAllMemory):
504         (WebCore::CCPrioritizedTextureManager::reduceMemoryOnImplThread):
505         (WebCore::CCPrioritizedTextureManager::getEvictedBackings):
506         (WebCore::CCPrioritizedTextureManager::unlinkEvictedBackings):
507         (WebCore):
508         (WebCore::CCPrioritizedTextureManager::deleteEvictedBackings):
509         (WebCore::CCPrioritizedTextureManager::evictBackingResource):
510         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
511         (CCPrioritizedTextureManager):
512         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
513         (WebCore::CCSingleThreadProxy::releaseContentsTexturesOnImplThread):
514         (WebCore):
515         (WebCore::CCSingleThreadProxy::commitAndComposite):
516         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
517         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
518         (WebCore::CCThreadProxy::releaseContentsTexturesOnImplThread):
519         (WebCore):
520         (WebCore::CCThreadProxy::scheduledActionBeginFrame):
521         (WebCore::CCThreadProxy::beginFrame):
522         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
523         (WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
524         (WebCore::CCThreadProxy::recreateContextOnImplThread):
525         * platform/graphics/chromium/cc/CCThreadProxy.h:
526         (BeginFrameAndCommitState):
527         (CCThreadProxy):
528
529 2012-09-12  Mike Fenton  <mifenton@rim.com>
530
531         [BlackBerry] Add custom messages for input type validation.
532         https://bugs.webkit.org/show_bug.cgi?id=96533
533
534         Reviewed by Antonio Gomes.
535
536         PR 179148.
537
538         Add validation messages for Email, MultipleEmail and Url.
539
540         Reviewed Internally by Nima Ghanavatian.
541
542         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
543         (WebCore::validationMessageTypeMismatchForEmailText):
544         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
545         (WebCore::validationMessageTypeMismatchForURLText):
546
547 2012-09-12  Mark Pilgrim  <pilgrim@chromium.org>
548
549         [Chromium] Remove unused notifyFormStateChanged function in PlatformSupport
550         https://bugs.webkit.org/show_bug.cgi?id=96527
551
552         Reviewed by Kentaro Hara.
553
554         Part of a refactoring series. See tracking bug 82948.
555
556         * platform/chromium/PlatformSupport.h:
557         (PlatformSupport):
558
559 2012-09-12  Mihnea Ovidenie  <mihnea@adobe.com>
560
561         [CSSRegions]Shrink RenderFlowThread size by using bit flags
562         https://bugs.webkit.org/show_bug.cgi?id=96503
563
564         Reviewed by Andreas Kling.
565
566         Use bit fields instead of full bool.
567
568         No new functionality, just refactoring. Functionality covered by existing tests in fast/regions.
569
570         * rendering/RenderFlowThread.h:
571
572 2012-09-12  Max Vujovic  <mvujovic@adobe.com>
573
574         [CSS Shaders] Remove direct texture access via u_texture
575         https://bugs.webkit.org/show_bug.cgi?id=93871
576
577         Reviewed by Dean Jackson.
578
579         Remove the author-accessible "u_texture" sampler, which referenced the DOM element texture.
580
581         Additionally, reject shaders with author-defined sampler uniforms. When we implement texture 
582         parameters, we will allow shaders whose samplers are bound to valid textures. We must not
583         allow OpenGL to give unbound samplers a default value of 0 because that references the DOM
584         element texture, which should be inaccessible to the author's shader code.
585
586         Test: css3/filters/custom/custom-filter-no-element-texture-access.html
587
588         * platform/graphics/ANGLEWebKitBridge.cpp:
589         (WebCore::getValidationResultValue):
590             Add a file-static function to easily query the integer values that ANGLE exposes about
591             the last validation result. The new getUniforms method and the existing
592             validateShaderSource method now both use getValidationResultValue.
593         (WebCore):
594         (WebCore::ANGLEWebKitBridge::validateShaderSource):
595             Use the new getValidationResultValue function instead of ANGLE's ShGetInfo function.
596         (WebCore::ANGLEWebKitBridge::getUniforms):
597             Add a new public method to ANGLEWebKitBridge which gets the info about all of the
598             uniforms in the last validated vertex shader or fragment shader. Uniform info includes
599             name, type, and size.
600         * platform/graphics/ANGLEWebKitBridge.h:
601         (ANGLEShaderSymbol):
602         (WebCore::ANGLEShaderSymbol::isSampler):
603             Returns true if the symbol's data type is a GLSL sampler (e.g. sampler2D, samplerCube).
604         (WebCore):
605         (ANGLEWebKitBridge):
606         * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
607         (WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
608             Take in an additional programType constructor parameter.
609         (WebCore::CustomFilterCompiledProgram::initializeParameterLocations):
610             Remove the author-accessible DOM element texture sampler "u_texture". Only find the
611             location of the internal DOM element texture sampler "css_u_texture" if the author is
612             using the CSS mix function.
613         * platform/graphics/filters/CustomFilterCompiledProgram.h:
614         * platform/graphics/filters/CustomFilterProgramInfo.h:
615         (CustomFilterProgramInfo):
616         (WebCore::CustomFilterProgramInfo::programType):
617             Add the new CustomFilterProgramType enum. In CustomFilterProgramInfo, we plan to replace
618             mixSettings.enabled with a programType. See:
619             https://bugs.webkit.org/show_bug.cgi?id=96448
620         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
621             Reject all shaders that have sampler uniforms defined.
622         (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
623         (WebCore::CustomFilterValidatedProgram::compiledProgram):
624         * platform/graphics/filters/FECustomFilter.cpp:
625         (WebCore::FECustomFilter::bindProgramAndBuffers):
626             Add an assert to verify that the DOM element texture is bound only if the author is
627             using the CSS mix function.
628
629 2012-09-12  Dominic Mazzoni  <dmazzoni@google.com>
630
631         Assert hit in is multiSelectable()
632         https://bugs.webkit.org/show_bug.cgi?id=96530
633
634         Reviewed by Chris Fleizach.
635
636         Fix crash if element isn't a select element.
637
638         This bug slipped through in a refactoring change (bug 96323).
639         Covered by existing tests.
640
641         * accessibility/AccessibilityNodeObject.cpp:
642         (WebCore::AccessibilityNodeObject::isMultiSelectable):
643
644 2012-09-11 MORITA Hajime  <morrita@google.com>
645
646         [Scoped Style] NodeRareData::m_numberOfScopedHTMLStyleChildren could be replaced with a node flag.
647         https://bugs.webkit.org/show_bug.cgi?id=96450
648
649         Reviewed by Dimitri Glazkov.
650
651         This change gets rid of NodeRareData::m_numberOfScopedHTMLStyleChildren
652         by replacing it with a Node flag called HasScopedHTMLStyleChildFlag.
653         Instead of tracking the number of certain node, this chagne compute the number
654         when necessary.
655
656         Now we no longer need to hit rareData() for each hasScopedHTMLStyleChild() call.
657         Note that because such a re-counting occurs only when the scoped <style> elements
658         leave the tree, the performance impact is negligible.
659
660         No new tests. Covered by existing tests.
661
662         * dom/Node.cpp:
663         (WebCore):
664         * dom/Node.h:
665         (WebCore::Node::hasScopedHTMLStyleChild):
666         (WebCore::Node::setHasScopedHTMLStyleChild):
667         (Node):
668         * dom/NodeRareData.h:
669         (WebCore::NodeRareData::NodeRareData):
670         (NodeRareData):
671         * html/HTMLStyleElement.cpp:
672         (WebCore::HTMLStyleElement::isRegisteredAsScoped):
673         (WebCore):
674         (WebCore::Node::registerScopedHTMLStyleChild):
675         (WebCore::Node::unregisterScopedHTMLStyleChild):
676         (WebCore::Node::numberOfScopedHTMLStyleChildren):
677         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
678         * html/HTMLStyleElement.h:
679         (HTMLStyleElement):
680
681 2012-09-12  Dimitri Glazkov  <dglazkov@chromium.org>
682
683         Remove transient state regarding uknown pseudoelements from SelectorChecker.
684         https://bugs.webkit.org/show_bug.cgi?id=96425
685
686         Reviewed by Eric Seidel.
687
688         The fact that an unknown pseudoelement was found when checking selector was stored as extra state on SelectorChecker. That's bad,
689         because this state is at odds with the lifecycle of the instance and had to be explicitly reset prior to each checking. To address
690         this, I made checkSelector report the value as its result (by-ref parameter, actually).
691
692         No new tests, refactoring only. Covered by existing tests.
693
694         * css/SelectorChecker.cpp:
695         (WebCore::SelectorChecker::SelectorChecker): Removed the now-unneded state initialization.
696         (WebCore::SelectorChecker::checkSelector): Changed to take extra parameter.
697         (WebCore):
698         (WebCore::SelectorChecker::checkOneSelector): Ditto.
699         * css/SelectorChecker.h:
700         (SelectorChecker): Changed decls accordingly.
701         * css/StyleResolver.cpp:
702         (WebCore::StyleResolver::StyleResolver): Added state to StyleResolver.
703         (WebCore::StyleResolver::collectMatchingRulesForList): Changed to use own state, rather than StyleChecker's state.
704         * css/StyleResolver.h:
705         (StyleResolver): Moved state here from StyleChecker.
706
707 2012-09-12  Andrei Onea  <onea@adobe.com>
708
709         [CSSRegions]Use RefPtr's instead of weak references on DOMNamedFlowCollection
710         https://bugs.webkit.org/show_bug.cgi?id=95311
711
712         Reviewed by Andreas Kling.
713
714         Currently, DOMNamedFlowCollection holds a collection of raw pointers to WebKitNamedFlow.
715         This causes a crash when there is a JS instance of a NamedFlowCollection snapshot taken
716         before the NamedFlow is deleted, since the memory previously occupied by the NamedFlow
717         can be accessed. Because of this, we need to use RefPtr's for the snapshot, so that such
718         dangling references extend the lifetime of the NamedFlow objects.
719
720         Test: fast/regions/webkit-named-flow-collection-crash.html
721
722         * dom/DOMNamedFlowCollection.cpp:
723         (WebCore::DOMNamedFlowCollection::DOMNamedFlowCollection):
724         (WebCore::DOMNamedFlowCollection::item):
725         (WebCore::DOMNamedFlowCollection::namedItem):
726         (WebCore):
727         (WebCore::DOMNamedFlowCollection::DOMNamedFlowHashFunctions::hash):
728         (WebCore::DOMNamedFlowCollection::DOMNamedFlowHashFunctions::equal):
729         (DOMNamedFlowCollection::DOMNamedFlowHashFunctions):
730         (WebCore::DOMNamedFlowCollection::DOMNamedFlowHashTranslator::hash):
731         (WebCore::DOMNamedFlowCollection::DOMNamedFlowHashTranslator::equal):
732         Create new internal ListHashSet for RefPtr<WebKitNamedFlow>.
733         * dom/DOMNamedFlowCollection.h:
734         (WebCore::DOMNamedFlowCollection::create):
735         (DOMNamedFlowCollection):
736         * dom/NamedFlowCollection.cpp:
737         (WebCore::NamedFlowCollection::createCSSOMSnapshot):
738         (WebCore):
739         (WebCore::NamedFlowCollection::NamedFlowHashFunctions::hash):
740         (WebCore::NamedFlowCollection::NamedFlowHashFunctions::equal):
741         (NamedFlowCollection::NamedFlowHashFunctions):
742         (WebCore::NamedFlowCollection::NamedFlowHashTranslator::hash):
743         (WebCore::NamedFlowCollection::NamedFlowHashTranslator::equal):
744         Move back the definitions for NamedFlowHashFunctions and NamedFlowHashTranslator
745         to the .cpp file.
746         * dom/NamedFlowCollection.h:
747         (NamedFlowCollection):
748
749 2012-09-12  MORITA Hajime  <morrita@google.com>
750
751         [Shadow DOM] Unpolished elements should reject author shadows
752         https://bugs.webkit.org/show_bug.cgi?id=96404
753
754         Reviewed by Dimitri Glazkov.
755
756         Gave areAuthorShadowsAllowed() overrides for these replaced elements
757         which aren't author shadow ready.
758
759         No new tests. Covered by existing tests.
760
761         * html/HTMLCanvasElement.h: Did areAuthorShadowsAllowed() overrride.
762         * html/HTMLFieldSetElement.h: Did areAuthorShadowsAllowed() overrride.
763         * html/HTMLFrameElementBase.h: Did areAuthorShadowsAllowed() overrride.
764         * html/HTMLMediaElement.h: Did areAuthorShadowsAllowed() overrride.
765         * html/HTMLPlugInElement.h: Did areAuthorShadowsAllowed() overrride.
766         * html/HTMLSelectElement.h: Did areAuthorShadowsAllowed() overrride.
767
768 2012-09-12  Mark Pilgrim  <pilgrim@chromium.org>
769
770         [Chromium] Remove unused allowScriptDespiteSettings function from PlatformSupport
771         https://bugs.webkit.org/show_bug.cgi?id=96526
772
773         Reviewed by Kentaro Hara.
774
775         Part of a refactoring series. See tracking bug 82948.
776
777         * platform/chromium/PlatformSupport.h:
778         (PlatformSupport):
779
780 2012-09-12  Dominic Mazzoni  <dmazzoni@google.com>
781
782         AX: Refactor most AccessibilityRenderObject code into AccessibilityNodeObject
783         https://bugs.webkit.org/show_bug.cgi?id=96323
784
785         Reviewed by Chris Fleizach.
786
787         This patch is large, but it's at least 75% cut-and-paste.
788
789         All it does is move the implementation of a large chunk of
790         AccessibilityRenderObject methods to AccessibilityNodeObject
791         instead. This allows them to operate on elements without
792         renderers, such as those in canvas fallback content. It also
793         moves us towards the goal where AccessibilityRenderObject
794         only has code that's specific to renderers and not just nodes.
795
796         Half of the methods cut and paste with essentially no changes.
797         Some required just tiny changes to access an attribute via the
798         element (e.g. HTMLSelectElement) rather than its associated
799         renderer (e.g. RenderMenuList). A few were a little trickier,
800         as the behavior needs to be slightly different when there's a
801         renderer. In those last cases, as much of the code as possible is
802         in AccessibilityNodeObject and AccessibilityRenderObject overrides
803         it as necessary.
804
805         Test: accessibility/canvas-fallback-content-2.html
806
807         * accessibility/AccessibilityNodeObject.cpp:
808         (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
809         (WebCore::AccessibilityNodeObject::canHaveChildren):
810         (WebCore):
811         (WebCore::AccessibilityNodeObject::accessibilityIsIgnored):
812         (WebCore::AccessibilityNodeObject::isWebArea):
813         (WebCore::AccessibilityNodeObject::isImageButton):
814         (WebCore::AccessibilityNodeObject::isAnchor):
815         (WebCore::AccessibilityNodeObject::isNativeTextControl):
816         (WebCore::AccessibilityNodeObject::isSearchField):
817         (WebCore::AccessibilityNodeObject::isNativeImage):
818         (WebCore::AccessibilityNodeObject::isImage):
819         (WebCore::AccessibilityNodeObject::isPasswordField):
820         (WebCore::AccessibilityNodeObject::isInputImage):
821         (WebCore::AccessibilityNodeObject::isProgressIndicator):
822         (WebCore::AccessibilityNodeObject::isSlider):
823         (WebCore::AccessibilityNodeObject::isMenuRelated):
824         (WebCore::AccessibilityNodeObject::isMenu):
825         (WebCore::AccessibilityNodeObject::isMenuBar):
826         (WebCore::AccessibilityNodeObject::isMenuButton):
827         (WebCore::AccessibilityNodeObject::isMenuItem):
828         (WebCore::AccessibilityNodeObject::isNativeCheckboxOrRadio):
829         (WebCore::AccessibilityNodeObject::isEnabled):
830         (WebCore::AccessibilityNodeObject::isIndeterminate):
831         (WebCore::AccessibilityNodeObject::isPressed):
832         (WebCore::AccessibilityNodeObject::isChecked):
833         (WebCore::AccessibilityNodeObject::isHovered):
834         (WebCore::AccessibilityNodeObject::isMultiSelectable):
835         (WebCore::AccessibilityNodeObject::isReadOnly):
836         (WebCore::AccessibilityNodeObject::isRequired):
837         (WebCore::AccessibilityNodeObject::headingLevel):
838         (WebCore::AccessibilityNodeObject::valueDescription):
839         (WebCore::AccessibilityNodeObject::isARIARange):
840         (WebCore::AccessibilityNodeObject::valueForRange):
841         (WebCore::AccessibilityNodeObject::maxValueForRange):
842         (WebCore::AccessibilityNodeObject::minValueForRange):
843         (WebCore::AccessibilityNodeObject::stepValueForRange):
844         (WebCore::AccessibilityNodeObject::isHeading):
845         (WebCore::AccessibilityNodeObject::isLink):
846         (WebCore::AccessibilityNodeObject::isControl):
847         (WebCore::AccessibilityNodeObject::isFieldset):
848         (WebCore::AccessibilityNodeObject::isGroup):
849         (WebCore::AccessibilityNodeObject::selectedRadioButton):
850         (WebCore::AccessibilityNodeObject::selectedTabItem):
851         (WebCore::AccessibilityNodeObject::checkboxOrRadioValue):
852         (WebCore::AccessibilityNodeObject::anchorElement):
853         (WebCore::AccessibilityNodeObject::actionElement):
854         (WebCore::AccessibilityNodeObject::mouseButtonListener):
855         (WebCore::AccessibilityNodeObject::isDescendantOfBarrenParent):
856         (WebCore::AccessibilityNodeObject::alterSliderValue):
857         (WebCore::AccessibilityNodeObject::increment):
858         (WebCore::AccessibilityNodeObject::decrement):
859         (WebCore::AccessibilityNodeObject::changeValueByStep):
860         (WebCore::AccessibilityNodeObject::changeValueByPercent):
861         (WebCore::AccessibilityNodeObject::isGenericFocusableElement):
862         (WebCore::AccessibilityNodeObject::labelForElement):
863         (WebCore::AccessibilityNodeObject::ariaAccessibilityDescription):
864         (WebCore::siblingWithAriaRole):
865         (WebCore::AccessibilityNodeObject::menuElementForMenuButton):
866         (WebCore::AccessibilityNodeObject::menuForMenuButton):
867         (WebCore::AccessibilityNodeObject::menuItemElementForMenu):
868         (WebCore::AccessibilityNodeObject::menuButtonForMenu):
869         (WebCore::AccessibilityNodeObject::accessibilityDescription):
870         (WebCore::AccessibilityNodeObject::helpText):
871         (WebCore::AccessibilityNodeObject::hierarchicalLevel):
872         (WebCore::AccessibilityNodeObject::textUnderElement):
873         (WebCore::AccessibilityNodeObject::title):
874         (WebCore::AccessibilityNodeObject::text):
875         (WebCore::AccessibilityNodeObject::stringValue):
876         (WebCore::accessibleNameForNode):
877         (WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
878         (WebCore::AccessibilityNodeObject::elementsFromAttribute):
879         (WebCore::AccessibilityNodeObject::ariaLabeledByElements):
880         (WebCore::AccessibilityNodeObject::ariaLabeledByAttribute):
881         (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
882         * accessibility/AccessibilityNodeObject.h:
883         (AccessibilityNodeObject):
884         (WebCore::AccessibilityNodeObject::node):
885         * accessibility/AccessibilityRenderObject.cpp:
886         (WebCore::AccessibilityRenderObject::parentObject):
887         (WebCore):
888         (WebCore::AccessibilityRenderObject::isReadOnly):
889         (WebCore::AccessibilityRenderObject::helpText):
890         (WebCore::AccessibilityRenderObject::accessibilityDescription):
891         (WebCore::AccessibilityRenderObject::text):
892         (WebCore::AccessibilityRenderObject::contentChanged):
893         (WebCore::AccessibilityRenderObject::canHaveChildren):
894         * accessibility/AccessibilityRenderObject.h:
895         (AccessibilityRenderObject):
896         (WebCore::AccessibilityRenderObject::setRenderObject):
897
898 2012-09-12  John Mellor  <johnme@chromium.org>
899
900         Text Autosizing: Don't autosize text in constrained height elements.
901         https://bugs.webkit.org/show_bug.cgi?id=96143
902
903         Reviewed by Julien Chaffraix.
904
905         Autosizing text within constained height elements usually goes badly,
906         as the autosized text will wrap onto more lines, hence it will become
907         taller and often overflow its container, breaking the page's layout.
908
909         This patch disables autosizing for blocks with a fixed height ancestor
910         (or which are fixed height themselves), unless the lowest such ancestor
911         (or one of the ancestors in between it and the text block) has
912         overflow-y:auto/scroll, in which case the height isn't really fixed.
913
914         Tests: fast/text-autosizing/constrained-and-overflow-auto-ancestor.html
915                fast/text-autosizing/constrained-and-overflow-hidden-ancestor.html
916                fast/text-autosizing/constrained-and-overflow-paged-x-ancestor.html
917                fast/text-autosizing/constrained-and-overflow-scroll-ancestor.html
918                fast/text-autosizing/constrained-height-ancestor.html
919                fast/text-autosizing/constrained-maxheight-ancestor.html
920                fast/text-autosizing/constrained-maxheight.html
921                fast/text-autosizing/constrained-percent-maxheight.html
922                fast/text-autosizing/constrained-percent-of-viewport-maxheight.html
923                fast/text-autosizing/constrained-then-overflow-ancestors.html
924                fast/text-autosizing/constrained-then-overflow-then-positioned-ancestors.html
925                fast/text-autosizing/constrained-then-position-absolute-ancestors.html
926                fast/text-autosizing/constrained-then-position-fixed-ancestors.html
927                fast/text-autosizing/constrained-within-overflow-ancestor.html
928
929         * rendering/TextAutosizer.cpp:
930         (WebCore::TextAutosizer::processBox):
931
932             Skips boxes for which contentHeightIsConstrained returns true.
933
934         (WebCore::TextAutosizer::contentHeightIsConstrained):
935
936             Walks up the render tree until it finds either a constrained height
937             or overflow-y:auto/scroll ancestor.
938
939 2012-09-12  Mark Pilgrim  <pilgrim@chromium.org>
940
941         [Chromium] Remove unused getProcessMemorySize from PlatformSupport
942         https://bugs.webkit.org/show_bug.cgi?id=96520
943
944         Reviewed by Kentaro Hara.
945
946         Part of a refactoring series. See tracking bug 82948.
947
948         * platform/chromium/PlatformSupport.h:
949         (PlatformSupport):
950
951 2012-09-12  Roland Takacs  <rtakacs@inf.u-szeged.hu>
952
953         [Qt] Segmentation fault when closing QtTestBrowser
954         https://bugs.webkit.org/show_bug.cgi?id=95003
955
956         Reviewed by Simon Hausmann.
957
958         Defined a new QObject* variable.
959         If WebKit1 is used, it points to the QGLWidget that was 
960         created in 'createPlatformGraphicsContext3DFromWidget'.
961         If WebKit2 is used, it points to the QWindow that was 
962         created in GraphicsContext3DPrivate's constructor.
963         It is neccessary for deallocating them.
964
965         * platform/graphics/qt/GraphicsContext3DQt.cpp:
966         (GraphicsContext3DPrivate):
967         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
968         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
969         * platform/qt/QWebPageClient.h:
970         (QWebPageClient):
971
972 2012-09-12  Ryuan Choi  <ryuan.choi@samsung.com>
973
974         [EFL] Fix build break when netscape-plugin-api is enebled after r126971
975         https://bugs.webkit.org/show_bug.cgi?id=96513
976
977         Unreviewed build fix.
978
979         * plugins/efl/PluginViewEfl.cpp:
980         (WebCore::PluginView::platformGetValue):
981
982 2012-09-12  Lianghui Chen  <liachen@rim.com>
983
984         [BlackBerry] Use own instance of CertMgrWrapper in BlackBerry CredentialBackingStore.
985         https://bugs.webkit.org/show_bug.cgi?id=96457
986         Internal PR: 205769
987
988         Internally reviewed by George Staikos, Jonathan Dong.
989         Reviewed by George Staikos.
990
991         CertMgrWrapper in BlackBerry platform layer has been changed from
992         singleton to normal class, every user of it need to create its own
993         instance now.
994
995         No new tests for platform specific interface change.
996
997         * platform/network/blackberry/CredentialBackingStore.cpp:
998         (WebCore::CredentialBackingStore::CredentialBackingStore):
999         (WebCore::CredentialBackingStore::~CredentialBackingStore):
1000         (WebCore::CredentialBackingStore::addLogin):
1001         (WebCore::CredentialBackingStore::updateLogin):
1002         (WebCore::CredentialBackingStore::getLogin):
1003         (WebCore::CredentialBackingStore::certMgrWrapper):
1004         (WebCore):
1005         * platform/network/blackberry/CredentialBackingStore.h:
1006         (Platform):
1007         (CredentialBackingStore):
1008
1009 2012-09-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1010
1011         [EFL] Avoid manual memory management in RenderThemeEfl
1012         https://bugs.webkit.org/show_bug.cgi?id=96501
1013
1014         Reviewed by Simon Hausmann.
1015
1016         Use OwnPtr as it works for Evas_Object and Evas_Ecore objects.
1017
1018         * platform/efl/RenderThemeEfl.cpp:
1019         (WebCore::RenderThemeEfl::ThemePartCacheEntry::ThemePartCacheEntry):
1020         (WebCore::RenderThemeEfl::ThemePartCacheEntry::~ThemePartCacheEntry):
1021         (WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
1022         (WebCore::RenderThemeEfl::ThemePartCacheEntry::reuse):
1023         (WebCore::RenderThemeEfl::paintThemePart):
1024         (WebCore::RenderThemeEfl::setColorFromThemeClass):
1025         (WebCore::RenderThemeEfl::themePath):
1026         (WebCore::RenderThemeEfl::loadTheme):
1027         (WebCore::RenderThemeEfl::applyPartDescriptionsFrom):
1028         (WebCore::RenderThemeEfl::RenderThemeEfl):
1029         (WebCore::RenderThemeEfl::~RenderThemeEfl):
1030         (WebCore::RenderThemeEfl::emitMediaButtonSignal):
1031         * platform/efl/RenderThemeEfl.h:
1032         (WebCore::RenderThemeEfl::canvas):
1033         (WebCore::RenderThemeEfl::edje):
1034         (RenderThemeEfl):
1035         (WebCore::RenderThemeEfl::ThemePartCacheEntry::canvas):
1036         (WebCore::RenderThemeEfl::ThemePartCacheEntry::edje):
1037         (ThemePartCacheEntry):
1038
1039 2012-09-12  Florin Malita  <fmalita@chromium.org>
1040
1041         getScreenCTM returns different values depending on zoom
1042         https://bugs.webkit.org/show_bug.cgi?id=96361
1043
1044         Reviewed by Dirk Schulze.
1045
1046         SVGSVGElement::localCoordinateSpaceTransform() needs to adjust for the
1047         zoom level (which is already factored into CSS coordinates) at the
1048         SVG/HTML boundary.
1049
1050         Test: svg/zoom/page/zoom-get-screen-ctm.html
1051
1052         * svg/SVGSVGElement.cpp:
1053         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
1054
1055 2012-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
1056
1057         [Qt] Drastically shorten length of commandline needed for JS bindings generator
1058         https://bugs.webkit.org/show_bug.cgi?id=96266
1059
1060         Reviewed by Tor Arne Vestbø.
1061
1062         The generate-bindings script supports the SOURCE_ROOT environment variable for IDL include file
1063         lookups, which allows specifying relative include search directories.
1064
1065         * DerivedSources.pri:
1066
1067 2012-09-12  Patrick Gansterer  <paroga@webkit.org>
1068
1069         Remove last call to numberToString() from WebCore code
1070         https://bugs.webkit.org/show_bug.cgi?id=96484
1071
1072         Reviewed by Kentaro Hara.
1073
1074         Replace WTF::numberToString() with String::numberToStringECMAScript() to remove duplicated
1075         code. Using the new function allows us to improve and/or remove numberToString() without
1076         changing all caller sides later. Also remove an unneeded strlen() in the touched code.
1077
1078         * bindings/v8/V8DOMWrapper.cpp:
1079         (WebCore::V8DOMWrapper::setNamedHiddenReference):
1080         * bindings/v8/V8DependentRetained.h:
1081         (WebCore::V8DependentRetained::createPropertyName):
1082         * bindings/v8/V8HiddenPropertyName.cpp:
1083         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
1084         * bindings/v8/V8HiddenPropertyName.h:
1085         (V8HiddenPropertyName):
1086
1087 2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1088
1089         Unreviewed, rolling out r128221.
1090         http://trac.webkit.org/changeset/128221
1091         https://bugs.webkit.org/show_bug.cgi?id=96504
1092
1093         The rollout was incorrect. (Requested by zdobersek on
1094         #webkit).
1095
1096         * platform/network/soup/ResourceResponseSoup.cpp:
1097         (WebCore::ResourceResponse::updateFromSoupMessage):
1098
1099 2012-09-12  Ilya Tikhonovsky  <loislo@chromium.org>
1100
1101         Unreviewed. Touch two files for fixing broken compile dependency on Apple Windows Debug bot.
1102
1103         * css/StyleResolver.cpp:
1104         * loader/FrameLoader.cpp:
1105
1106 2012-09-12  Ilya Tikhonovsky  <loislo@chromium.org>
1107
1108
1109         Web Inspector: NMI move String* instrumentation to wtf.
1110         https://bugs.webkit.org/show_bug.cgi?id=96405
1111
1112         Reviewed by Yury Semikhatsky.
1113
1114         This instrumentation is solving the problem with substrings and removes traits based code which is hard to upstream.
1115
1116         * dom/WebCoreMemoryInstrumentation.cpp:
1117         (WebCore):
1118         * dom/WebCoreMemoryInstrumentation.h:
1119         (WebCore):
1120
1121 2012-08-20  Philippe Normand  <pnormand@igalia.com>
1122
1123         [GStreamer] Audio device not closed after playing sound
1124         https://bugs.webkit.org/show_bug.cgi?id=89122
1125
1126         Reviewed by Martin Robinson.
1127
1128         Set the GStreamer pipeline to NULL instead of PAUSED on EOS. This
1129         allows the audio-sink to release its connection to the audio
1130         device. This is done only if the Media element is not
1131         looping. To make the MediaPlayerPrivate layer aware of that
1132         information the MediaPlayerClient interface was updated with a new
1133         method mediaPlayerIsLooping, implemented by the HTMLMediaElement.
1134
1135         * html/HTMLMediaElement.cpp:
1136         (WebCore::HTMLMediaElement::mediaPlayerIsLooping): Implementation of
1137         MediaPlayerClient::mediaPlayerLoop, proxies to ::loop();
1138         * html/HTMLMediaElement.h:
1139         (HTMLMediaElement):
1140         * platform/graphics/MediaPlayer.h:
1141         (WebCore::MediaPlayerClient::mediaPlayerIsLooping): New method allowing
1142         the MediaPlayer and its backend to know if a playback loop is
1143         requested by the client.
1144         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1145         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
1146         (WebCore::MediaPlayerPrivateGStreamer::playbackPosition): Report
1147         seek time or media duration if EOS was reached. These early
1148         returns are needed because the position query doesn't work on a
1149         NULL pipeline.
1150         (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
1151         Refactored to use an early return.
1152         (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay): Reset the
1153         seeking flag.
1154         (WebCore::MediaPlayerPrivateGStreamer::play): reset m_isEndReached.
1155         (WebCore::MediaPlayerPrivateGStreamer::pause): Don't pause on EOS.
1156         (WebCore::MediaPlayerPrivateGStreamer::seek): Refactor, call
1157         currentTime() after we're sure playbin is valid and no error occured.
1158         (WebCore::MediaPlayerPrivateGStreamer::paused): Fake paused state
1159         on EOS.
1160
1161 2012-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
1162
1163         [Qt] Build on X11 with GraphicsSurface but without NPAPI is broken
1164         https://bugs.webkit.org/show_bug.cgi?id=96495
1165
1166         Reviewed by Kenneth Rohde Christiansen.
1167
1168         When enabling NPAPI we link against XRender on X11. The other component that needs Xrender
1169         is GraphicsSurface. So when building without NPAPI we need to make sure that we link in Xrender.
1170
1171         This patch cleans up the GraphicsSurface related linkage required on Mac OS X and X11 by wrapping
1172         it in use?(graphics_surface) instead of 3D_GRAPHICS. It is not neccesary to perform the have?(XCOMPOSITE)
1173         check anymore because it's already done in features.prf before enabling use_graphics_surface in the
1174         first place.
1175
1176         * WebCore.pri:
1177
1178 2012-09-12  Andrei Poenaru  <poenaru@adobe.com>
1179
1180         Web Inspector: Protocol Extension: Add "regionLayoutUpdate" event
1181         https://bugs.webkit.org/show_bug.cgi?id=93443
1182
1183         Reviewed by Alexander Pavlov.
1184
1185         Added "regionLayoutUpdate" event to the protocol.
1186
1187         Removed "getFlowByName" from protocol.
1188
1189         The front-end keeps in sync the requested Named Flow Collections.
1190
1191         Modified existing test: inspector/styles/protocol-css-regions-commands.html
1192
1193         * dom/NamedFlowCollection.cpp:
1194         (WebCore::NamedFlowCollection::ensureFlowWithName):
1195         (WebCore::NamedFlowCollection::discardNamedFlow):
1196         * inspector/Inspector.json:
1197         * inspector/InspectorCSSAgent.cpp:
1198         (UpdateRegionLayoutTask):
1199         (WebCore):
1200         (WebCore::UpdateRegionLayoutTask::UpdateRegionLayoutTask):
1201         (WebCore::UpdateRegionLayoutTask::scheduleFor):
1202         (WebCore::UpdateRegionLayoutTask::unschedule):
1203         (WebCore::UpdateRegionLayoutTask::reset):
1204         (WebCore::UpdateRegionLayoutTask::onTimer):
1205         (WebCore::InspectorCSSAgent::reset):
1206         (WebCore::InspectorCSSAgent::didCreateNamedFlow):
1207         (WebCore::InspectorCSSAgent::willRemoveNamedFlow):
1208         (WebCore::InspectorCSSAgent::didUpdateRegionLayout):
1209         (WebCore::InspectorCSSAgent::regionLayoutUpdated):
1210         (WebCore::InspectorCSSAgent::getNamedFlowCollection):
1211         (WebCore::InspectorCSSAgent::documentNodeWithRequestedFlowsId):
1212         * inspector/InspectorCSSAgent.h:
1213         (WebCore):
1214         (InspectorCSSAgent):
1215         * inspector/InspectorInstrumentation.cpp:
1216         (WebCore):
1217         (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl):
1218         (WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl):
1219         (WebCore::InspectorInstrumentation::didUpdateRegionLayoutImpl):
1220         * inspector/InspectorInstrumentation.h:
1221         (InspectorInstrumentation):
1222         (WebCore::InspectorInstrumentation::didCreateNamedFlow):
1223         (WebCore::InspectorInstrumentation::willRemoveNamedFlow):
1224         (WebCore):
1225         (WebCore::InspectorInstrumentation::didUpdateRegionLayout):
1226         * inspector/front-end/CSSStyleModel.js:
1227         (WebInspector.CSSStyleModel):
1228         (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync.callback):
1229         (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
1230         (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync.callback):
1231         (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync):
1232         (WebInspector.CSSStyleModel.prototype._namedFlowCreated):
1233         (WebInspector.CSSStyleModel.prototype._namedFlowRemoved):
1234         (WebInspector.CSSStyleModel.prototype._regionLayoutUpdated):
1235         (WebInspector.CSSStyleModel.prototype._resetNamedFlowCollections):
1236         (WebInspector.CSSDispatcher.prototype.namedFlowCreated):
1237         (WebInspector.CSSDispatcher.prototype.namedFlowRemoved):
1238         (WebInspector.CSSDispatcher.prototype.regionLayoutUpdated):
1239         (WebInspector.NamedFlow):
1240         (WebInspector.NamedFlowCollection):
1241         (WebInspector.NamedFlowCollection.prototype._appendNamedFlow):
1242         (WebInspector.NamedFlowCollection.prototype._removeNamedFlow):
1243         (WebInspector.NamedFlowCollection.prototype.flowByName):
1244         * rendering/RenderNamedFlowThread.cpp:
1245         (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
1246
1247 2012-09-12  Alexander Pavlov  <apavlov@chromium.org>
1248
1249         Web Inspector: [Elements] Sidebar panes not updated on style changes due to "class" attribute modifications
1250         https://bugs.webkit.org/show_bug.cgi?id=95722
1251
1252         Reviewed by Vsevolod Vlasov.
1253
1254         The DOMAgent StyleInvalidated event has been removed in favor of the StylesSidebarPane explicitly listening on the
1255         AttrModified/AttrRemoved events that result in those same updates.
1256
1257         * inspector/front-end/DOMAgent.js:
1258         (WebInspector.DOMAgent.prototype._attributeModified):
1259         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
1260         (WebInspector.DOMAgent.prototype._childNodeRemoved):
1261         * inspector/front-end/ElementsTreeOutline.js:
1262         (WebInspector.ElementsTreeElement.prototype.updateSelection): Drive-by: avoid a costly synchronous layout during DOM tree updates.
1263         * inspector/front-end/StylesSidebarPane.js:
1264         (WebInspector.StylesSidebarPane):
1265         (WebInspector.StylesSidebarPane.prototype._attributeChanged):
1266         (WebInspector.StylesSidebarPane.prototype._canAffectCurrentStyles):
1267
1268 2012-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
1269
1270         Build with ENABLE_REQUEST_ANIMATION_FRAME=0 is broken
1271         https://bugs.webkit.org/show_bug.cgi?id=96491
1272
1273         Reviewed by Csaba Osztrogonác.
1274
1275         In the IDL file, don't just check for the define, also check if it's set to 1 before enabling the
1276         RAF APIs. It's done like this with all the other feature defines in IDL files.
1277
1278         * page/DOMWindow.idl:
1279
1280 2012-09-12  Vivek Galatage  <vivekgalatage@gmail.com>
1281
1282         Web Inspector: InspectorBackend.loadFromJSONIfNeeded should take the JSON url as argument
1283         https://bugs.webkit.org/show_bug.cgi?id=96472
1284
1285         Reviewed by Yury Semikhatsky.
1286
1287         The method loadFromJSONIfNeeded need to take the jsonUrl as argument
1288         as this will be called from the Inspector Protocol Test Harness
1289         residing in a different location.
1290
1291         No new tests as code refactoring done.
1292
1293         * inspector/front-end/InspectorBackend.js:
1294         (InspectorBackendClass.prototype.loadFromJSONIfNeeded):
1295         * inspector/front-end/inspector.js:
1296
1297 2012-09-12  Vsevolod Vlasov  <vsevik@chromium.org>
1298
1299         Web Inspector: XMLHttpRequest instrumentation methods used by timeline should have better names.
1300         https://bugs.webkit.org/show_bug.cgi?id=96486
1301
1302         Reviewed by Alexander Pavlov.
1303
1304         Renamed instrumentation methods.
1305
1306         * inspector/InspectorInstrumentation.cpp:
1307         (WebCore):
1308         (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEventImpl):
1309         (WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEventImpl):
1310         (WebCore::InspectorInstrumentation::willDispatchXHRLoadEventImpl):
1311         (WebCore::InspectorInstrumentation::didDispatchXHRLoadEventImpl):
1312         * inspector/InspectorInstrumentation.h:
1313         (InspectorInstrumentation):
1314         (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent):
1315         (WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent):
1316         (WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent):
1317         (WebCore::InspectorInstrumentation::didDispatchXHRLoadEvent):
1318         * inspector/InspectorTimelineAgent.cpp:
1319         (WebCore::InspectorTimelineAgent::willDispatchXHRReadyStateChangeEvent):
1320         (WebCore::InspectorTimelineAgent::didDispatchXHRReadyStateChangeEvent):
1321         (WebCore::InspectorTimelineAgent::willDispatchXHRLoadEvent):
1322         (WebCore::InspectorTimelineAgent::didDispatchXHRLoadEvent):
1323         * inspector/InspectorTimelineAgent.h:
1324         (InspectorTimelineAgent):
1325         * xml/XMLHttpRequest.cpp:
1326         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1327
1328 2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1329
1330         Unreviewed, rolling out r128279.
1331         http://trac.webkit.org/changeset/128279
1332         https://bugs.webkit.org/show_bug.cgi?id=96487
1333
1334         "Snow Leopard compilation broken" (Requested by yurys on
1335         #webkit).
1336
1337         * dom/WebCoreMemoryInstrumentation.cpp:
1338         (WebCore):
1339         (WebCore::String):
1340         (WebCore::StringImpl):
1341         (WebCore::AtomicString):
1342         * dom/WebCoreMemoryInstrumentation.h:
1343         (WebCore):
1344         * inspector/MemoryInstrumentationImpl.cpp:
1345         (WebCore::MemoryInstrumentationImpl::countObjectSize):
1346         * platform/SharedBuffer.cpp:
1347         (WebCore::SharedBuffer::reportMemoryUsage):
1348
1349 2012-09-12  Yury Semikhatsky  <yurys@chromium.org>
1350
1351         Web Inspector: Persistent handle referenced from ScriptWrappable is double counted
1352         https://bugs.webkit.org/show_bug.cgi?id=96483
1353
1354         Reviewed by Alexander Pavlov.
1355
1356         * bindings/v8/ScriptWrappable.h:
1357         (WebCore::ScriptWrappable::reportMemoryUsage): the handle is a part of an
1358         array where all such handles are allocated and should not be counted here
1359         second time. In order to make the clang plugin that validate memory instrumentation
1360         happy we report it here as weak pointer (no-op).
1361
1362 2012-09-12  Eugene Klyuchnikov  <eustas.bug@gmail.com>
1363
1364         Web Inspector: Implement search and filtering on Timeline panel
1365         https://bugs.webkit.org/show_bug.cgi?id=95445
1366
1367         Reviewed by Yury Semikhatsky.
1368
1369         Implemented textual search/filtering on Timeline panel.
1370         Fixed "revealRecordAt" - now it scans all records in window,
1371         now only visible ones.
1372
1373         * inspector/front-end/TimelineOverviewPane.js:
1374         (WebInspector.TimelineWindowFilter):
1375         Extracted from TimelineOverviewPane class.
1376         * inspector/front-end/TimelinePanel.js:
1377         (WebInspector.TimelinePanel):
1378         (WebInspector.TimelinePanel.prototype.revealRecordAt):
1379         Used DFS to scan records.
1380         (WebInspector.TimelinePanel.prototype._revealRecord):
1381         Extracted common code.
1382         (WebInspector.TimelineSearchFilter):
1383         Implemented search and filtration.
1384
1385 2012-09-12  Ilya Tikhonovsky  <loislo@chromium.org>
1386
1387         Web Inspector: NMI move String* instrumentation to wtf.
1388         https://bugs.webkit.org/show_bug.cgi?id=96405
1389
1390         Reviewed by Yury Semikhatsky.
1391
1392         This instrumentation is solving the problem with substrings and removes traits based code which is hard to upstream.
1393
1394         * dom/WebCoreMemoryInstrumentation.cpp:
1395         (WebCore):
1396         * dom/WebCoreMemoryInstrumentation.h:
1397         (WebCore):
1398
1399         * dom/WebCoreMemoryInstrumentation.cpp:
1400         (WebCore):
1401         * dom/WebCoreMemoryInstrumentation.h:
1402         (WebCore):
1403         * inspector/MemoryInstrumentationImpl.cpp:
1404         (WebCore::MemoryInstrumentationImpl::countObjectSize):
1405         * platform/SharedBuffer.cpp:
1406         (WebCore::SharedBuffer::reportMemoryUsage):
1407
1408 2012-09-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1409
1410         Unreviewed EFL build fix.
1411
1412         * platform/efl/RenderThemeEfl.cpp:
1413         (WebCore::RenderThemeEfl::themePath):
1414
1415 2012-09-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1416
1417         [EFL] Clean up the RenderTheme Edje caching
1418         https://bugs.webkit.org/show_bug.cgi?id=96016
1419
1420         Reviewed by Gyuyoung Kim.
1421
1422         Refactor the Edje parts caching to be easier to understand and use
1423         proper C++ constructs.
1424
1425         * platform/efl/RenderThemeEfl.cpp:
1426         (WebCore):
1427         (WebCore::toEdjeGroup):
1428
1429             Converts the enum to the given edje group name.
1430
1431         (WebCore::setSourceGroupForEdjeObject):
1432
1433             Basically a wrapper around evas_object_file_set, but handles
1434             errors, which was done slightly differently all over.
1435
1436         (WebCore::RenderThemeEfl::ThemePartCacheEntry::ThemePartCacheEntry):
1437         (WebCore::RenderThemeEfl::ThemePartCacheEntry::~ThemePartCacheEntry):
1438
1439         (WebCore::createCairoSurfaceFor):
1440         (WebCore::isFormElementTooLargeToDisplay):
1441
1442             Methods used when creating ThemePartCacheEntry'es.
1443
1444         (WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
1445         (WebCore::RenderThemeEfl::ThemePartCacheEntry::reuse):
1446
1447             New methods for creating and reusing an cache entry. If you do
1448             not supply a new size, the original size will be used, and it is
1449             thus more effective.
1450
1451         (WebCore::RenderThemeEfl::getThemePartFromCache):
1452
1453             New method for requesting a theme part. If it doesn't exist
1454             it will additinally be loaded and added to the cache.
1455
1456         (WebCore::RenderThemeEfl::flushThemePartCache):
1457
1458             Remove the entire cache and free the assets.
1459
1460         (WebCore::RenderThemeEfl::paintThemePart):
1461         (WebCore::RenderThemeEfl::themePath):
1462         (WebCore::RenderThemeEfl::loadTheme):
1463         (WebCore::RenderThemeEfl::applyPartDescriptionsFrom):
1464         (WebCore::RenderThemeEfl::~RenderThemeEfl):
1465         (WebCore::RenderThemeEfl::emitMediaButtonSignal):
1466         * platform/efl/RenderThemeEfl.h:
1467         (RenderThemeEfl):
1468         (ThemePartCacheEntry):
1469
1470 2012-09-12  Alexandre Elias  <aelias@chromium.org>
1471
1472         [chromium] Flip Y and swizzle inside compositeAndReadback implementation
1473         https://bugs.webkit.org/show_bug.cgi?id=96458
1474
1475         Reviewed by James Robinson.
1476
1477         Currently, compositeAndReadback API assumes a GL-style texture
1478         and is converted to the normal software format in WebViewImpl.
1479         For the software implementation, this API would result in two
1480         redundant conversions.  This patch makes the conversion inside
1481         CCRendererGL instead.  I rolled my own for loop as I didn't find the
1482         appropriate function within raw Skia.
1483
1484         No new tests (covered by existing layout tests).
1485
1486         * platform/graphics/chromium/cc/CCRendererGL.cpp:
1487         (WebCore::CCRendererGL::getFramebufferPixels):
1488
1489 2012-09-11  Ryuan Choi  <ryuan.choi@samsung.com>
1490
1491         [CMAKE] Supply feature defines to CodeGeneratorTestRunner.
1492         https://bugs.webkit.org/show_bug.cgi?id=96273
1493
1494         Reviewed by Gyuyoung Kim.
1495
1496         * CMakeLists.txt: Extracted FEATURE_DEFINES with space separator to share.
1497         * PlatformBlackBerry.cmake: Ditto.
1498         * UseJSC.cmake: Ditto.
1499         * UseV8.cmake: Ditto.
1500
1501 2012-09-11  Nico Weber  <thakis@chromium.org>
1502
1503         [chromium/mac] Fix "Class WebCoreTextFieldCell is implemented in both Chromium Framework and /System/Library/Frameworks/WebKit.framework" warning
1504         https://bugs.webkit.org/show_bug.cgi?id=96460
1505
1506         Reviewed by Kent Tamura.
1507
1508         This was added incorrectly in http://trac.webkit.org/changeset/116721
1509
1510         * WebCore.gyp/WebCore.gyp:
1511
1512 2012-09-11  Keishi Hattori  <keishi@webkit.org>
1513
1514         Create Localizer factory method for LocaleICU
1515         https://bugs.webkit.org/show_bug.cgi?id=96363
1516
1517         Reviewed by Kent Tamura.
1518
1519         Preparing to use Localizer instead of LocaleMac/Win/ICU
1520
1521         No new tests. Covered in unit test tests/LocalizedNumberICUTest.cpp
1522
1523         * platform/text/LocaleICU.cpp:
1524         (WebCore::Localizer::create):
1525         (WebCore):
1526
1527 2012-09-11  Michael Saboff  <msaboff@apple.com>
1528
1529         Build fixed for http://trac.webkit.org/changeset/128243
1530
1531         Unreviewed build fix.
1532
1533         Added missing include file needed by 96422 for C++ ICU APIs.
1534
1535         * icu/unicode/chariter.h: Added.
1536
1537 2012-09-11  Michael Saboff  <msaboff@apple.com>
1538
1539         Build fixed for http://trac.webkit.org/changeset/128243
1540
1541         Unreviewed build fix.
1542
1543         Added missing include file needed by 96422 for C++ ICU APIs.
1544
1545         * icu/unicode/bytestream.h: Added.
1546         * icu/unicode/rep.h: Added.
1547         * icu/unicode/std_string.h: Added.
1548         * icu/unicode/strenum.h: Added.
1549         * icu/unicode/stringpiece.h: Added.
1550         * icu/unicode/unistr.h: Added.
1551         * icu/unicode/uobject.h: Added.
1552
1553 2012-09-11  Kent Tamura  <tkent@chromium.org>
1554
1555         Refactor ValidationMessage class
1556         https://bugs.webkit.org/show_bug.cgi?id=96365
1557
1558         Reviewed by Hajime Morita.
1559
1560         - Move some code from HTMLFormControlElement to ValidationMessage
1561         - ValidationMessage class holds an element pointer as
1562         HTMLFormControlElement, not FormAssociatedElement.
1563
1564         No new tests because of no behavior changes.
1565
1566         * html/HTMLFormControlElement.cpp:
1567         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
1568         Moved some code to ValidationMessage::updateValidationMessage().
1569         (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
1570         Ask ValidationMessage whether it is visible or not.
1571         * html/HTMLFormControlElement.h:
1572         (HTMLFormControlElement): Removed visibleValidationMessage().
1573
1574         * html/ValidationMessage.cpp:
1575         (WebCore::ValidationMessage::ValidationMessage):
1576         Change the argument type: FormAssociatedElement -> HTMLFormControlElement
1577         (WebCore::ValidationMessage::create): ditto.
1578         (WebCore::ValidationMessage::updateValidationMessage):
1579         Added. Moved some code from
1580         HTMLFormControlElement::updateVisibleValidationMessage().
1581         (WebCore::ValidationMessage::buildBubbleTree): toHTMLElement() is not needed.
1582         (WebCore::ValidationMessage::deleteBubbleTree): ditto.
1583         (WebCore::ValidationMessage::isVisible): Added.
1584         * html/ValidationMessage.h:
1585         (ValidationMessage):
1586          - Change some instance of FormAssociatedElement to HTMLFormControlElement
1587          - Remove message().
1588          - Added updateValidationMessage() and isVisible()
1589          - Made setMessage() private.
1590
1591 2012-09-11  Christopher Cameron  <ccameron@chromium.org>
1592
1593         [chromium] Make prioritized texture manager not touch backings array on the main thread
1594         https://bugs.webkit.org/show_bug.cgi?id=96114
1595
1596         Reviewed by James Robinson.
1597
1598         Take a snapshot of the textures' priorities from the main thread,
1599         and save it in their backings for access by the impl thread.
1600         Update functions that access the sorted backings array to use the
1601         snapshotted values instead of the values that the main thread may
1602         have computed for the next frame.
1603
1604         Make the main thread not touch the m_backings array.  Split
1605         prioritizeTextures into a updateBackingsPriorities function.
1606         In places where the main thread would have touched m_backings,
1607         set a flag specifying that m_backings needs to be re-sorted
1608         before any function that requires it be sorted by priority be
1609         executed.
1610
1611         Update the two functions that require sorted order (acquireBacking
1612         and reduceMemory) to sort the backings array (if needed) before
1613         traversing it.
1614
1615         Updated tests to set correct thread during asserts. Add a test to
1616         verify that requestLate is correctly incorporated into the backing
1617         sorting.
1618
1619         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
1620         (WebCore::CCPrioritizedTextureManager::CCPrioritizedTextureManager):
1621         (WebCore::CCPrioritizedTextureManager::prioritizeTextures):
1622         (WebCore):
1623         (WebCore::CCPrioritizedTextureManager::prioritizeBackings):
1624         (WebCore::CCPrioritizedTextureManager::requestLate):
1625         (WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
1626         (WebCore::CCPrioritizedTextureManager::reduceMemory):
1627         (WebCore::CCPrioritizedTextureManager::returnBackingTexture):
1628         (WebCore::CCPrioritizedTextureManager::destroyBacking):
1629         (WebCore::CCPrioritizedTextureManager::assertInvariants):
1630         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
1631         (CCPrioritizedTextureManager):
1632
1633 2012-09-11  Adam Barth  <abarth@webkit.org>
1634
1635         Update bindings test results after http://trac.webkit.org/changeset/128242
1636
1637         * bindings/scripts/test/V8/V8Float64Array.cpp:
1638         (WebCore::V8Float64Array::wrapSlow):
1639         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1640         (WebCore::V8TestActiveDOMObject::wrapSlow):
1641         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1642         (WebCore::V8TestCustomNamedGetter::wrapSlow):
1643         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1644         (WebCore::V8TestEventConstructor::wrapSlow):
1645         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1646         (WebCore::V8TestEventTarget::wrapSlow):
1647         * bindings/scripts/test/V8/V8TestException.cpp:
1648         (WebCore::V8TestException::wrapSlow):
1649         * bindings/scripts/test/V8/V8TestInterface.cpp:
1650         (WebCore::V8TestInterface::wrapSlow):
1651         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1652         (WebCore::V8TestMediaQueryListListener::wrapSlow):
1653         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1654         (WebCore::V8TestNamedConstructor::wrapSlow):
1655         * bindings/scripts/test/V8/V8TestNode.cpp:
1656         (WebCore::V8TestNode::wrapSlow):
1657         * bindings/scripts/test/V8/V8TestObj.cpp:
1658         (WebCore::V8TestObj::wrapSlow):
1659         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1660         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
1661
1662 2012-09-11  Michael Saboff  <msaboff@apple.com>
1663
1664         Build fixed for http://trac.webkit.org/changeset/128243
1665
1666         Rubber stamped by Stephanie Lewis.
1667
1668         Added missing include file needed by 96422.
1669
1670         * icu/unicode/unorm2.h: Added.
1671
1672 2012-09-11  Elliott Sprehn  <esprehn@chromium.org>
1673
1674         Add new JSDependentRetained that allows keeping a JSObject alive as long as another is alive
1675         https://bugs.webkit.org/show_bug.cgi?id=96034
1676
1677         Reviewed by Geoffrey Garen.
1678
1679         Add new JSDependentRetained (with the same API as V8DependentRetained) that allows keeping
1680         a JSObject alive as long as another is alive. This is useful for keeping callbacks on
1681         wrappers without keeping strong references into the JS heap in C++ which can result in
1682         cycles that create memory leaks.
1683
1684         No new tests needed, this will be used to fix MutationObservers and UndoManager which will have tests.
1685
1686         * GNUmakefile.list.am:
1687         * WebCore.vcproj/WebCore.vcproj:
1688         * WebCore.xcodeproj/project.pbxproj:
1689         * bindings/js/JSDependentRetained.h: Added.
1690         (WebCore):
1691         (JSDependentRetained):
1692         (WebCore::JSDependentRetained::JSDependentRetained):
1693         (WebCore::JSDependentRetained::~JSDependentRetained):
1694         (WebCore::JSDependentRetained::get): Get the JSObject value.
1695         (WebCore::JSDependentRetained::isEmpty): Check if the value is still alive.
1696         (WebCore::JSDependentRetained::retain): Sets the owner of the object, should only be used once.
1697         (WebCore::JSDependentRetained::release):
1698         * bindings/v8/V8DependentRetained.h:
1699         (WebCore::V8DependentRetained::V8DependentRetained):
1700         (WebCore::V8DependentRetained::retain): Added this method so the API for JSC and V8 are identical.
1701
1702 2012-09-11  Alec Flett  <alecflett@chromium.org>
1703
1704         Add 'any' type to V8 bindings as a synonym for DOMObject                
1705         https://bugs.webkit.org/show_bug.cgi?id=96429                           
1706
1707         Reviewed by Kentaro Hara.                                             
1708
1709         Adds support for 'any' as a synonym to DOMObject.                       
1710
1711         Test: TestObj.idl has an attribute 'anyAttribute'.                      
1712
1713         * bindings/scripts/CodeGeneratorJS.pm:
1714         (AddIncludesForType):
1715         (JSValueToNative):
1716         (NativeToJSValue):
1717         * bindings/scripts/CodeGeneratorV8.pm:
1718         (GetNativeType):
1719         (JSValueToNative):
1720         (GetV8HeaderName):
1721         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1722         (WebDOMTestObj::anyAttribute):
1723         (WebDOMTestObj::setAnyAttribute):
1724         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1725         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1726         (webkit_dom_test_obj_get_property):
1727         (webkit_dom_test_obj_class_init):
1728         (webkit_dom_test_obj_get_any_attribute):
1729         (webkit_dom_test_obj_set_any_attribute):
1730         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1731         * bindings/scripts/test/JS/JSTestObj.cpp:
1732         (WebCore):
1733         (WebCore::jsTestObjCachedAttribute1):
1734         (WebCore::jsTestObjCachedAttribute2):
1735         (WebCore::jsTestObjAnyAttribute):
1736         (WebCore::setJSTestObjAnyAttribute):
1737         * bindings/scripts/test/JS/JSTestObj.h:
1738         (WebCore):
1739         * bindings/scripts/test/ObjC/DOMTestObj.h:
1740         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1741         (-[DOMTestObj anyAttribute]):
1742         (-[DOMTestObj setAnyAttribute:]):
1743         * bindings/scripts/test/TestObj.idl:
1744         * bindings/scripts/test/V8/V8TestObj.cpp:
1745         (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
1746         (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
1747         (TestObjV8Internal):
1748         (WebCore::TestObjV8Internal::anyAttributeAttrGetter):
1749         (WebCore::TestObjV8Internal::anyAttributeAttrSetter):
1750         (WebCore):
1751
1752 2012-09-11  Michael Saboff  <msaboff@apple.com>
1753
1754         Unreviewed build fix for http://trac.webkit.org/changeset/128244
1755
1756         Some compilers don't like 0 for operator[](unsigned).  Changed to 0u.
1757
1758         * bindings/js/JSDOMBinding.h:
1759         (WebCore::jsStringWithCache):
1760
1761 2012-09-11  Michael Saboff  <msaboff@apple.com>
1762
1763         Build fixed for http://trac.webkit.org/changeset/128243
1764
1765         Rubber stamped by Stephanie Lewis.
1766
1767         Added missing include file needed by 96422.
1768
1769         * icu/unicode/ptypes.h: Added.
1770
1771 2012-09-11  Michael Saboff  <msaboff@apple.com>
1772
1773         jsStringWithCache shouldn't call StringImpl::characters() for single character strings
1774         https://bugs.webkit.org/show_bug.cgi?id=96439
1775
1776         Reviewed by Geoffrey Garen.
1777
1778         Replaced StringImpl->characters()[0] with operator[] access which is character size aware.
1779         Also fixed the other FIXME so we now use SmallStrings to retunr the single character string.
1780
1781         No functional change, so no new tests.
1782
1783         * bindings/js/JSDOMBinding.h:
1784         (WebCore::jsStringWithCache):
1785
1786 2012-09-11  Michael Saboff  <msaboff@apple.com>
1787
1788         Update ICU header files to more recent version
1789         https://bugs.webkit.org/show_bug.cgi?id=96422
1790
1791         Reviewed by Geoff Garen.
1792
1793         Updated ICU header files to 4.6.1.  Modifications made as part of the merge are:
1794         platform.h - Changed ifndef / define / endif for U_HAVE_UINT8_T, U_HAVE_UINT16_T, U_HAVE_UINT32_T,
1795             U_HAVE_UINT64_T, U_IS_BIG_ENDIAN and U_ENABLE_TRACING to match the existing platform.h
1796         putil.h (line 132) - Changes defined(U_WINDOWS) to defined(WIN32) || defined(OS2) to match existing putil.h
1797         ustring.h (line 945) - Wrapped macro argument cs with { (const UChar *)cs } to match existing ustring.h
1798         utypes.h (line 545) - Changed defined(U_WINDOWS) to defined(WIN32) to match existing utypes.h
1799
1800         Updated include files without any function change so no new tests.
1801
1802         * icu/unicode/localpointer.h: Added.
1803         * icu/unicode/parseerr.h:
1804         * icu/unicode/platform.h:
1805         * icu/unicode/putil.h:
1806         * icu/unicode/ubrk.h:
1807         * icu/unicode/uchar.h:
1808         * icu/unicode/ucnv.h:
1809         * icu/unicode/ucnv_err.h:
1810         * icu/unicode/ucol.h:
1811         * icu/unicode/ucoleitr.h:
1812         * icu/unicode/uconfig.h:
1813         * icu/unicode/ucsdet.h:
1814         * icu/unicode/uenum.h:
1815         * icu/unicode/uidna.h:
1816         * icu/unicode/uiter.h:
1817         * icu/unicode/uloc.h:
1818         * icu/unicode/umachine.h:
1819         * icu/unicode/unorm.h:
1820         * icu/unicode/urename.h:
1821         * icu/unicode/uscript.h:
1822         * icu/unicode/usearch.h:
1823         * icu/unicode/uset.h:
1824         * icu/unicode/ushape.h:
1825         * icu/unicode/ustring.h:
1826         * icu/unicode/utext.h: Added.
1827         * icu/unicode/utf.h:
1828         * icu/unicode/utf16.h:
1829         * icu/unicode/utf8.h:
1830         * icu/unicode/utypes.h:
1831         * icu/unicode/uvernum.h: Added.
1832         * icu/unicode/uversion.h:
1833
1834 2012-09-11  Adam Barth  <abarth@chromium.org>
1835
1836         [V8] 8% regression in dom_perf
1837         https://bugs.webkit.org/show_bug.cgi?id=96433
1838
1839         Reviewed by Kentaro Hara.
1840
1841         This code used to have a fast path to find the V8PerContextData for DOM
1842         nodes. I tried a bunch of variations, but nothing I can come up with is
1843         as fast as the old fast path, so I've added back the fast path.
1844
1845         * bindings/scripts/CodeGeneratorV8.pm:
1846         (GenerateToV8Converters):
1847         * bindings/v8/V8DOMWrapper.cpp:
1848         (WebCore::V8DOMWrapper::instantiateV8Object):
1849         * bindings/v8/V8DOMWrapper.h:
1850         (V8DOMWrapper):
1851
1852 2012-09-11  Andreas Kling  <kling@webkit.org>
1853
1854         ElementAttributeData: Use subclasses to manage varying object layouts.
1855         <http://webkit.org/b/94465>
1856
1857         Reviewed by Antti Koivisto.
1858
1859         Add two ElementAttributeData subclasses:
1860
1861             - MutableElementAttributeData
1862             - ImmutableElementAttributeData
1863
1864         The ElementAttributeData::m_isMutable bit determines which subclass to cast to when accessing
1865         the attribute storage. Added mutableAttributeVector() and immutableAttributeArray() helpers
1866         to ElementAttributeData (with appropriate assertions.)
1867
1868         This patch removes one step of indirection in the mutable case, since the Vector<Attribute> is no
1869         longer heap-allocated, but part of MutableElementAttributeData.
1870
1871         Added a WTF::deleteOwnedPtr(ElementAttributeData*) specialization so that the appropriate subclass
1872         destructor is called for these objects.
1873
1874         * WebCore.exp.in:
1875         * dom/Element.cpp:
1876         (WebCore::Element::createMutableAttributeData):
1877         * dom/ElementAttributeData.cpp:
1878         (WebCore::ElementAttributeData::createImmutable):
1879         (WebCore::ElementAttributeData::create):
1880         (WebCore::ElementAttributeData::ElementAttributeData):
1881         (WebCore::MutableElementAttributeData::MutableElementAttributeData):
1882         (WebCore::ImmutableElementAttributeData::ImmutableElementAttributeData):
1883         (WebCore::ImmutableElementAttributeData::~ImmutableElementAttributeData):
1884         (WebCore::ElementAttributeData::makeMutableCopy):
1885         (WebCore::ElementAttributeData::addAttribute):
1886         (WebCore::ElementAttributeData::removeAttribute):
1887         (WebCore::ElementAttributeData::reportMemoryUsage):
1888         (WebCore::ElementAttributeData::cloneDataFrom):
1889         (WebCore::ElementAttributeData::clearAttributes):
1890         * dom/ElementAttributeData.h:
1891         (ElementAttributeData):
1892         (WebCore::ElementAttributeData::isMutable):
1893         (ImmutableElementAttributeData):
1894         (MutableElementAttributeData):
1895         (WebCore::MutableElementAttributeData::MutableElementAttributeData):
1896         (WebCore::ElementAttributeData::immutableAttributeArray):
1897         (WebCore::ElementAttributeData::mutableAttributeVector):
1898         (WebCore::ElementAttributeData::length):
1899         (WebCore::ElementAttributeData::attributeItem):
1900
1901 2012-09-11  Tony Chang  <tony@chromium.org>
1902
1903         Pass the logical height and logical top into RenderBox::computeLogicalHeight
1904         https://bugs.webkit.org/show_bug.cgi?id=96432
1905
1906         Reviewed by Ojan Vafai.
1907
1908         This allows us to call RenderBox::computeLogicalHeight without first having to call
1909         setLogicalHeight() and setLogicalTop().  Previously, computeLogicalHeight would depend
1910         on these values.
1911
1912         No new tests, this is just a refactor.
1913
1914         * rendering/RenderBox.cpp:
1915         (WebCore::RenderBox::updateLogicalHeight): Pass logicalHeight and logicalTop as params.
1916         (WebCore::RenderBox::computeLogicalHeight): Use passed in values instead of calling logicalHeight/logicalTop.
1917         (WebCore::RenderBox::computePositionedLogicalHeight): Pass the logicalHeight into computePositionedLogicalHeightUsing.
1918         (WebCore::RenderBox::computePositionedLogicalHeightUsing): Pass in the logicalHeight as a parameter.
1919         * rendering/RenderBox.h:
1920         (RenderBox): Update computePositionedLogicalHeightUsing and computeLogicalHeight.
1921
1922 2012-09-11  Joshua Bell  <jsbell@chromium.org>
1923
1924         IndexedDB: Optimize key decode and comparison operations
1925         https://bugs.webkit.org/show_bug.cgi?id=96037
1926
1927         Reviewed by Tony Chang.
1928
1929         Eliminate memory allocations in code identified as CPU bottlenecks in IDB profiling.
1930
1931         No new tests - just performance work.
1932
1933         * Modules/indexeddb/IDBLevelDBCoding.cpp:
1934         (WebCore::IDBLevelDBCoding::extractEncodedIDBKey): Avoid incremental allocations.
1935         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys): Rename confusing variables p and q.
1936         (IDBLevelDBCoding):
1937         (WebCore::IDBLevelDBCoding::compare): Rename from decodeAndCompare, and add specializations
1938         for frequently encountered types (e.g. object/index data) that can be compared without a
1939         full decode.
1940
1941 2012-09-11  Adam Klein  <adamk@chromium.org>
1942
1943         Unreviewed, rolling out r128075
1944         https://bugs.webkit.org/show_bug.cgi?id=96435
1945
1946         Broke chromium content_browsertests and included flaky layout tests
1947
1948         * html/shadow/MediaControlRootElementChromium.cpp:
1949         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
1950         (WebCore::MediaControlRootElementChromium::reset):
1951         (WebCore::MediaControlRootElementChromium::playbackStarted):
1952         (WebCore::MediaControlRootElementChromium::playbackProgressed):
1953         (WebCore::MediaControlRootElementChromium::playbackStopped):
1954         (WebCore::MediaControlRootElementChromium::updateTimeDisplay):
1955         * html/shadow/MediaControlRootElementChromium.h:
1956         (MediaControlPanelEnclosureElement):
1957         (MediaControlRootElementChromium):
1958
1959 2012-09-11  Matt Lilek  <mrl@apple.com>
1960
1961         OS X port should compile with newer versions of clang
1962         https://bugs.webkit.org/show_bug.cgi?id=96434
1963
1964         Reviewed by Anders Carlsson.
1965
1966         Guard m_hasTouchEventHandler behind ENABLE(TOUCH_EVENTS).
1967         * html/HTMLInputElement.cpp:
1968         (WebCore::HTMLInputElement::HTMLInputElement):
1969         * html/HTMLInputElement.h:
1970         (HTMLInputElement):
1971
1972         Fix uninitialized variable.
1973         * platform/graphics/cg/GraphicsContextCG.cpp:
1974         (WebCore::createLinearSRGBColorSpace):
1975
1976 2012-09-11  Arnaud Renevier  <a.renevier@sisa.samsung.com>
1977
1978         [Gtk] allow building with css-shaders
1979         https://bugs.webkit.org/show_bug.cgi?id=95603
1980
1981         Reviewed by Martin Robinson.
1982
1983         Add support for css filters and shaders in GNUmakefile.am and include
1984         Texture.cpp, Texture.h, TilingData.cpp and TilingData.h in
1985         webcore_sources
1986
1987         No functional change, so no new tests.
1988
1989         * GNUmakefile.am:
1990         * GNUmakefile.list.am:
1991
1992 2012-09-11  Dimitri Glazkov  <dglazkov@chromium.org>
1993
1994         Remove StyleResolver::setStyle, because it's no longer used.
1995         https://bugs.webkit.org/show_bug.cgi?id=96423
1996
1997         Reviewed by Eric Seidel.
1998
1999         No new tests, simple refactoring.
2000
2001         * css/StyleResolver.h: Removed unused function.
2002
2003 2012-09-11  Chris Fleizach  <cfleizach@apple.com>
2004
2005         AX: title attribute is not exposed as the AXDescription on AXImage when there is no other fallback content
2006         https://bugs.webkit.org/show_bug.cgi?id=96412
2007
2008         Reviewed by Jon Honeycutt.
2009
2010         Ensure that if an image has a title attribute, but no alt attribute, it will fallback to use the title attribute 
2011         for the descriptive text.
2012
2013         Test: accessibility/img-fallsback-to-title.html
2014
2015         * accessibility/AccessibilityRenderObject.cpp:
2016         (WebCore::AccessibilityRenderObject::accessibilityDescription):
2017
2018 2012-09-11  Rik Cabanier  <cabanier@adobe.com>
2019
2020         Clean up functions in RenderLayerBacking.h/.cpp
2021         https://bugs.webkit.org/show_bug.cgi?id=96370
2022
2023         Reviewed by Simon Fraser.
2024
2025         Remove 'layer' from function names in RenderLayerBacking
2026
2027         No new test. No change in functionality.
2028
2029         * rendering/RenderLayerBacking.cpp:
2030         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
2031         (WebCore::RenderLayerBacking::updateOpacity):
2032         (WebCore::RenderLayerBacking::updateTransform):
2033         (WebCore::RenderLayerBacking::updateFilters):
2034         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2035         (WebCore::RenderLayerBacking::startTransition):
2036         * rendering/RenderLayerBacking.h:
2037         (RenderLayerBacking):
2038
2039 2012-09-11  Stephen White  <senorblanco@chromium.org>
2040
2041         [skia] Switch FEComponentTransfer filter to use skia's SkColorFilter
2042         https://bugs.webkit.org/show_bug.cgi?id=95238
2043
2044         Reviewed by Dirk Schulze.
2045
2046         Covered by existing tests in svg/, such as svg/custom/feComponentTransfer-Discrete.svg.
2047
2048         * WebCore.gypi:
2049         * platform/graphics/filters/FEComponentTransfer.cpp:
2050         (WebCore::FEComponentTransfer::platformApplySoftware):
2051         Add a check for the skia implementation.
2052         (WebCore::FEComponentTransfer::getValues):
2053         * platform/graphics/filters/FEComponentTransfer.h:
2054         Factor out the retrieval of LUT values into its own function, so we
2055         can call it from the Skia implementation.
2056         * platform/graphics/filters/skia/FEComponentTransferSkia.cpp: Added.
2057         (WebCore::FEComponentTransfer::platformApplySkia):
2058
2059 2012-09-11  Kevin Ellis  <kevers@chromium.org>
2060
2061         Crash on a long press gesture when touch adjustment is enabled.
2062         https://bugs.webkit.org/show_bug.cgi?id=96313
2063
2064         Reviewed by Antonio Gomes.
2065
2066         Fix to ensure that a long-press on a shadow-DOM element does not 
2067         trigger a crash in TouchAdjustment::providesContextMenuItems.
2068         Prior to the patch, a null-pointer exception was trigger because
2069         of a null renderer in the check.
2070
2071         Test: touchadjustment/context-menu-shadow-node.html
2072
2073         * page/TouchAdjustment.cpp:
2074         (WebCore::TouchAdjustment::providesContextMenuItems):
2075
2076 2012-09-11  Zan Dobersek  <zandobersek@gmail.com>
2077
2078         Unreviewed, manually rolling out r128175.
2079         The patch is causing crashes in debug builds.
2080         http://trac.webkit.org/changeset/128175
2081         https://bugs.webkit.org/show_bug.cgi?id=96284
2082
2083         * platform/network/soup/ResourceResponseSoup.cpp:
2084         (WebCore::ResourceResponse::updateFromSoupMessage):
2085
2086 2012-09-11  James Robinson  <jamesr@chromium.org>
2087
2088         Unreviewed, rolling out r128212.
2089         http://trac.webkit.org/changeset/128212
2090         https://bugs.webkit.org/show_bug.cgi?id=96037
2091
2092         Assertion fails on linux 64
2093
2094         * Modules/indexeddb/IDBLevelDBCoding.cpp:
2095         (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
2096         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
2097         (IDBLevelDBCoding):
2098         (WebCore::IDBLevelDBCoding::compare):
2099
2100 2012-09-11  Joshua Bell  <jsbell@chromium.org>
2101
2102         IndexedDB: IDBObjectStore.count() is slow
2103         https://bugs.webkit.org/show_bug.cgi?id=96033
2104
2105         Reviewed by Tony Chang.
2106
2107         Avoid decoding record values when performing count() iteration, and factor out common code
2108         used for initializing object store and index cursors. Also, remove unused indexDataId()
2109         methods (which date back to the SQLite backing store), and rename some p's and q's.
2110
2111         No new tests - no functional changes. Covered by existing test:
2112             LayoutTests/storage/indexeddb/objectstore-count.html
2113
2114         * Modules/indexeddb/IDBBackingStore.h: Expose new (internal) ObjectStoreKeyCursor
2115         (IDBBackingStore):
2116         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
2117         (WebCore): Factor out common CursorOptions initialization code. The objectStoreCursorOptions()
2118         function is needed for this patch. The indexCursorOptions() function is not, but eliminates
2119         duplicated code and is a nearly identical refactor.
2120         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor): Refactor.
2121         (WebCore::IDBLevelDBBackingStore::openObjectStoreKeyCursor): Implement.
2122         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor): Refactor.
2123         (WebCore::IDBLevelDBBackingStore::openIndexCursor): Ditto.
2124         * Modules/indexeddb/IDBLevelDBBackingStore.h:
2125         (IDBLevelDBBackingStore):
2126         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2127         (WebCore::IDBObjectStoreBackendImpl::countInternal): Use ObjectStoreKeyCursor for iteration.
2128
2129 2012-09-11  Ojan Vafai  <ojan@chromium.org>
2130
2131         Refactor computePercentageLogicalHeight to simplify the logic a bit
2132         https://bugs.webkit.org/show_bug.cgi?id=96329
2133
2134         Reviewed by Tony Chang.
2135
2136         This makes it clear that the value we're computing as we go is the availableHeight.
2137
2138         * rendering/RenderBox.cpp:
2139         (WebCore::RenderBox::computePercentageLogicalHeight):
2140
2141 2012-09-11  Joshua Bell  <jsbell@chromium.org>
2142
2143         IndexedDB: Optimize key decode and comparison operations
2144         https://bugs.webkit.org/show_bug.cgi?id=96037
2145
2146         Reviewed by Tony Chang.
2147
2148         Eliminate memory allocations in code identified as CPU bottlenecks in IDB profiling.
2149
2150         No new tests - just performance work.
2151
2152         * Modules/indexeddb/IDBLevelDBCoding.cpp:
2153         (WebCore::IDBLevelDBCoding::extractEncodedIDBKey): Avoid incremental allocations.
2154         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys): Rename confusing variables p and q.
2155         (IDBLevelDBCoding):
2156         (WebCore::IDBLevelDBCoding::compare): Rename from decodeAndCompare, and add specializations
2157         for frequently encountered types (e.g. object/index data) that can be compared without a
2158         full decode.
2159
2160 2012-09-11  Marcelo Lira  <marcelo.lira@openbossa.org>
2161
2162         Restore original value of mock scrollbars enabled in InternalSettings
2163         https://bugs.webkit.org/show_bug.cgi?id=87680
2164
2165         Reviewed by Adam Barth.
2166
2167         Added backup support for mock scrollbars state in
2168         InternalSettings::Backup, and removed support for these
2169         from Qt's DumpRenderTree.
2170
2171         * testing/InternalSettings.cpp:
2172         (WebCore::InternalSettings::Backup::Backup):
2173         (WebCore::InternalSettings::Backup::restoreTo):
2174         * testing/InternalSettings.h:
2175         (Backup):
2176
2177 2012-09-11  Mike West  <mkwst@chromium.org>
2178
2179         Improve console error messages when 'document.domain' blocks cross-origin script access.
2180         https://bugs.webkit.org/show_bug.cgi?id=96247
2181
2182         Reviewed by Adam Barth.
2183
2184         Setting 'document.domain' can produce counterintuitive "cross-origin"
2185         error messages for script access in cases where the property isn't set
2186         to the same value in both the accessor and accessee. This patch adds a
2187         bit more context to the error message to make it clear that both sides
2188         must set the property, and that the values must match.
2189
2190         This shouldn't change any externally visible behavior other than the
2191         error warnings. It's covered by changes to existing tests.
2192
2193         * page/DOMWindow.cpp:
2194         (WebCore::DOMWindow::crossDomainAccessErrorMessage):
2195             Adding checks for 'document.domain'-related errors, and adding an
2196             ASSERT that crossDomainAccessErrorMessage is called in cases where
2197             the accessing frame is actually denied access to the frame being
2198             accessed.
2199
2200 2012-09-11  Jinwoo Song  <jinwoo7.song@samsung.com>
2201
2202         Deploy StringBuilder::appendNumber() and StringBuilder::appendLiteral() in more places
2203         https://bugs.webkit.org/show_bug.cgi?id=96344
2204
2205         Reviewed by Benjamin Poulain.
2206
2207         Use StringBuilder::appendNumber() instead of String::number(). Also deploy 
2208         StringBuilder::appendLiteral() instead of String::append() in the surrounding code.
2209
2210         * css/CSSAspectRatioValue.cpp:
2211         (WebCore::CSSAspectRatioValue::customCssText):
2212         * platform/graphics/gpu/LoopBlinnPathProcessor.cpp:
2213         (WebCore):
2214         * svg/SVGPointList.cpp:
2215         (WebCore::SVGPointList::valueAsString):
2216
2217 2012-09-11  Tony Chang  <tony@chromium.org>
2218
2219         Rename computeLogicalHeight to updateLogicalHeight
2220         https://bugs.webkit.org/show_bug.cgi?id=96305
2221
2222         Reviewed by Ojan Vafai.
2223
2224         computeLogicalHeight changes the value of 4 member variables of the
2225         render box, so give it a name that makes it more clear that it is
2226         updating member variables.
2227
2228         No new tests, this is just a refactor.
2229
2230         * rendering/RenderBlock.cpp:
2231         (WebCore::RenderBlock::computeInitialRegionRangeForBlock):
2232         (WebCore::RenderBlock::checkForPaginationLogicalHeightChange):
2233         (WebCore::RenderBlock::layoutBlock):
2234         (WebCore::RenderBlock::layoutPositionedObjects):
2235         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
2236         * rendering/RenderBox.cpp:
2237         (WebCore::RenderBox::updateLogicalHeight):
2238         (WebCore::RenderBox::computePercentageLogicalHeight):
2239         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2240         (WebCore::RenderBox::availableLogicalHeightUsing):
2241         * rendering/RenderBox.h:
2242         (RenderBox):
2243         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
2244         * rendering/RenderDeprecatedFlexibleBox.cpp:
2245         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2246         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
2247         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
2248         * rendering/RenderEmbeddedObject.cpp:
2249         (WebCore::RenderEmbeddedObject::layout):
2250         * rendering/RenderFlexibleBox.cpp:
2251         (WebCore::RenderFlexibleBox::layoutBlock):
2252         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
2253         * rendering/RenderFlowThread.cpp:
2254         (WebCore::RenderFlowThread::updateLogicalHeight):
2255         * rendering/RenderFlowThread.h:
2256         * rendering/RenderGrid.cpp:
2257         (WebCore::RenderGrid::layoutBlock):
2258         * rendering/RenderHTMLCanvas.cpp:
2259         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
2260         * rendering/RenderIFrame.cpp:
2261         (WebCore::RenderIFrame::updateLogicalHeight):
2262         (WebCore::RenderIFrame::layoutSeamlessly):
2263         (WebCore::RenderIFrame::layout):
2264         * rendering/RenderIFrame.h:
2265         (RenderIFrame):
2266         * rendering/RenderImage.cpp:
2267         (WebCore::RenderImage::imageDimensionsChanged):
2268         * rendering/RenderListBox.cpp:
2269         (WebCore::RenderListBox::updateLogicalHeight):
2270         * rendering/RenderListBox.h:
2271         (RenderListBox):
2272         * rendering/RenderMeter.cpp:
2273         (WebCore::RenderMeter::updateLogicalHeight):
2274         * rendering/RenderMeter.h:
2275         (RenderMeter):
2276         * rendering/RenderMultiColumnBlock.cpp:
2277         (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
2278         * rendering/RenderMultiColumnFlowThread.h:
2279         * rendering/RenderMultiColumnSet.cpp:
2280         (WebCore::RenderMultiColumnSet::updateLogicalHeight):
2281         * rendering/RenderMultiColumnSet.h:
2282         (RenderMultiColumnSet):
2283         * rendering/RenderReplaced.cpp:
2284         (WebCore::RenderReplaced::layout):
2285         * rendering/RenderSearchField.cpp:
2286         (WebCore::RenderSearchField::computeControlHeight):
2287         * rendering/RenderTable.cpp:
2288         (WebCore::RenderTable::layout):
2289         * rendering/RenderTextControl.cpp:
2290         (WebCore::RenderTextControl::updateLogicalHeight):
2291         * rendering/RenderTextControl.h:
2292         (RenderTextControl):
2293         * rendering/RenderView.cpp:
2294         (WebCore::RenderView::updateLogicalHeight):
2295         * rendering/RenderView.h:
2296         * rendering/svg/RenderSVGForeignObject.cpp:
2297         (WebCore::RenderSVGForeignObject::updateLogicalHeight):
2298         * rendering/svg/RenderSVGForeignObject.h:
2299         (RenderSVGForeignObject):
2300         * rendering/svg/RenderSVGRoot.cpp:
2301         (WebCore::RenderSVGRoot::layout):
2302
2303 2012-09-11  Zach Kuznia  <zork@chromium.org>
2304
2305         Fix FilterTypeZoom to properly call canvas->restore()
2306         https://bugs.webkit.org/show_bug.cgi?id=96082
2307
2308         Reviewed by Adrienne Walker.
2309
2310         Fix zoom filter to properly call canvas->restore()
2311
2312         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
2313         (WebCore::CCRenderSurfaceFilters::apply):
2314
2315 2012-09-11  Sergio Villar Senin  <svillar@igalia.com>
2316
2317         [GTK] WebKitGtk+ crashes with non-UTF8 HTTP header names
2318         https://bugs.webkit.org/show_bug.cgi?id=96284
2319
2320         Reviewed by Gustavo Noronha Silva.
2321
2322         Non UTF-8 characters sent as part of a HTTP header name were
2323         causing crashes as String::fromUTF8() was returning NULL for
2324         them. Use String::fromUTF8WithLatin1Fallback() instead.
2325
2326         Test: http/tests/misc/non-utf8-header-name.php
2327
2328         * platform/network/soup/ResourceResponseSoup.cpp:
2329         (WebCore::ResourceResponse::updateFromSoupMessage):
2330
2331 2012-09-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2332
2333         Unreviewed, rolling out r128175.
2334         http://trac.webkit.org/changeset/128175
2335         https://bugs.webkit.org/show_bug.cgi?id=96395
2336
2337         broke hunders of tests for EFL and GTK (Requested by rakuco on
2338         #webkit).
2339
2340         * platform/network/soup/ResourceResponseSoup.cpp:
2341         (WebCore::ResourceResponse::updateFromSoupMessage):
2342
2343 2012-09-11  Raphael Kubo da Costa  <rakuco@webkit.org>
2344
2345         [EFL] Rewrite the EFL-related Find modules
2346         https://bugs.webkit.org/show_bug.cgi?id=95237
2347
2348         Reviewed by Kenneth Rohde Christiansen.
2349
2350         * CMakeLists.txt: Stop setting the LINK_FLAGS property now that no
2351         port sets WebCore_LINK_FLAGS.
2352         * PlatformEfl.cmake: Add libraries and include directories for
2353         each Enlightenment Foundation Library used by the port.
2354
2355 2012-09-11  Csaba Osztrogonác  <ossy@webkit.org>
2356
2357         [Qt] Unreviewed, rolling out 128054, because it broke the Windows build.
2358
2359         * DerivedSources.pri:
2360
2361 2012-09-11  Andras Becsi  <andras.becsi@nokia.com>
2362
2363         [Qt] Fix the build with libwebp
2364
2365         Rubber-stamped by Tor Arne Vestbø
2366
2367         The use-flag is called WEBP not LIBWEBP, so use that when appending -lwebp.
2368
2369         * WebCore.pri:
2370
2371 2012-09-10  Andrey Kosyakov  <caseq@chromium.org>
2372
2373         Web Inspector: visualize layout root in Timeline
2374         https://bugs.webkit.org/show_bug.cgi?id=96279
2375
2376         Reviewed by Pavel Feldman.
2377
2378         - pass layout root to InspectorTimelineAgent::didLayout
2379         - show rectangles of the layout root upon hover over the Layout record;
2380
2381         * inspector/InspectorInstrumentation.cpp:
2382         (WebCore):
2383         (WebCore::InspectorInstrumentation::didLayoutImpl):
2384         * inspector/InspectorInstrumentation.h:
2385         (WebCore):
2386         (InspectorInstrumentation):
2387         (WebCore::InspectorInstrumentation::didLayout):
2388         * inspector/InspectorTimelineAgent.cpp:
2389         (WebCore::InspectorTimelineAgent::didLayout):
2390         * inspector/InspectorTimelineAgent.h:
2391         (WebCore):
2392         (InspectorTimelineAgent):
2393         * inspector/TimelineRecordFactory.cpp:
2394         (WebCore::TimelineRecordFactory::createPaintData):
2395         (WebCore::TimelineRecordFactory::addRectData):
2396         (WebCore):
2397         * inspector/TimelineRecordFactory.h:
2398         (TimelineRecordFactory):
2399         * inspector/front-end/TimelinePanel.js:
2400         (WebInspector.TimelinePanel.prototype._mouseMove):
2401         * page/FrameView.cpp:
2402         (WebCore::FrameView::layout):
2403
2404 2012-09-10  Andrey Kosyakov  <caseq@chromium.org>
2405
2406         Web Inspector: highlight of paint rectangles is broken
2407         https://bugs.webkit.org/show_bug.cgi?id=96276
2408
2409         Reviewed by Pavel Feldman.
2410
2411         * inspector/InspectorOverlay.cpp:
2412         (WebCore::InspectorOverlay::drawRectHighlight): Fix JS method name to match the one in InspectorOverlayPage.html
2413
2414 2012-09-11  Chris Guan  <chris.guan@torchmobile.com.cn>
2415
2416         [Blackberry] use ReadOnlyLatin1String to save a deep copy
2417         https://bugs.webkit.org/show_bug.cgi?id=96364
2418
2419         Reviewed by Yong Li.
2420         Internally reviewed by Yong li.
2421
2422         * platform/network/blackberry/NetworkManager.cpp:
2423         (WebCore::NetworkManager::startJob):
2424
2425 2012-09-11  Sergio Villar Senin  <svillar@igalia.com>
2426
2427         [GTK] WebKitGtk+ crashes with non-UTF8 HTTP header names
2428         https://bugs.webkit.org/show_bug.cgi?id=96284
2429
2430         Reviewed by Gustavo Noronha Silva.
2431
2432         Non UTF-8 characters sent as part of a HTTP header name were
2433         causing crashes as String::fromUTF8() was returning NULL for
2434         them. Use String::fromUTF8WithLatin1Fallback() instead.
2435
2436         Test: http/tests/misc/non-utf8-header-name.php
2437
2438         * platform/network/soup/ResourceResponseSoup.cpp:
2439         (WebCore::ResourceResponse::updateFromSoupMessage):
2440
2441 2012-09-11  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2442
2443         [Qt] Add a configure step to the Qt build system
2444
2445         This allows building the Qt port using just 'qmake WebKit.pro'. Using
2446         the build-webkit script is still supported, and will add slightly more
2447         logic to the build, such as detecting the need for clean or incremental
2448         builds.
2449
2450         Internally, the build system now uses a new variable, WEBKIT_CONFIG, for
2451         all things related to configuring the build, such as use/have/enable flags,
2452         and these are translated to defines in default_post. Project files should
2453         no longer check contains(DEFINES,...) to detect features, but use the new
2454         enable?(), use?(), and have?() functions. The no_webkit1 and no_webkit2
2455         options have been translated into WEBKIT_CONFIG options as well, and can
2456         be checked using build?().
2457
2458         Reviewed by Simon Hausmann.
2459
2460         * DerivedSources.pri:
2461         * Target.pri:
2462         * WebCore.pri:
2463
2464 2012-09-11  Alexander Pavlov  <apavlov@chromium.org>
2465
2466         Web Inspector: Remove no-op TreeElement.prototype.didChange method
2467         https://bugs.webkit.org/show_bug.cgi?id=96376
2468
2469         Reviewed by Yury Semikhatsky.
2470
2471         * inspector/front-end/treeoutline.js:
2472         (TreeElement.prototype.set title):
2473         (TreeElement.prototype.set tooltip):
2474         (TreeElement.prototype.set hasChildren):
2475
2476 2012-09-11  Tommy Widenflycht  <tommyw@google.com>
2477
2478         MediaStream API: add RTCPeerConnection::onnegotiationneeded
2479         https://bugs.webkit.org/show_bug.cgi?id=96097
2480
2481         Reviewed by Adam Barth.
2482
2483         This patch adds the last callback to RTCPeerConnection: onnegotiationneeded.
2484         This is called whenever the state in the RTCPeerConnection changes and that
2485         change needs to be sent to the other side.
2486
2487         Test: fast/mediastream/RTCPeerConnection-onnegotiationneeded.html
2488
2489         * Modules/mediastream/RTCPeerConnection.cpp:
2490         (WebCore::RTCPeerConnection::negotiationNeeded):
2491         (WebCore):
2492         * Modules/mediastream/RTCPeerConnection.h:
2493         (RTCPeerConnection):
2494         * Modules/mediastream/RTCPeerConnection.idl:
2495         * dom/EventNames.h:
2496         (WebCore):
2497         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
2498         (RTCPeerConnectionHandlerClient):
2499         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
2500         (WebCore::RTCPeerConnectionHandlerChromium::negotiationNeeded):
2501         (WebCore):
2502         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
2503         (RTCPeerConnectionHandlerChromium):
2504
2505 2012-09-11  Kent Tamura  <tkent@chromium.org>
2506
2507         Sort an Xcode project file.
2508
2509         * WebCore.xcodeproj/project.pbxproj:
2510
2511 2012-09-11  Dan Carney  <dcarney@google.com>
2512
2513         Removed V8IsolatedContext
2514         https://bugs.webkit.org/show_bug.cgi?id=95735
2515
2516         Reviewed by Adam Barth.
2517
2518         Remove V8IsolatedContext and merge functionality into V8DOMWindowShell.
2519         This brings the V8 isolated world model into closer alignment with
2520         that of JSC.
2521
2522         No new tests.  No change in functionality.
2523
2524         * UseV8.cmake:
2525         * WebCore.gypi:
2526         * bindings/scripts/CodeGeneratorV8.pm:
2527         (GenerateImplementation):
2528         * bindings/scripts/test/V8/V8Float64Array.cpp:
2529         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2530         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2531         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2532         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2533         * bindings/scripts/test/V8/V8TestException.cpp:
2534         * bindings/scripts/test/V8/V8TestInterface.cpp:
2535         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2536         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2537         * bindings/scripts/test/V8/V8TestNode.cpp:
2538         * bindings/scripts/test/V8/V8TestObj.cpp:
2539         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2540         * bindings/v8/DOMData.cpp:
2541         (WebCore::DOMData::getCurrentStore):
2542         * bindings/v8/DOMWrapperWorld.cpp:
2543         (WebCore::DOMWrapperWorld::ensureIsolatedWorld):
2544         * bindings/v8/DOMWrapperWorld.h:
2545         (DOMWrapperWorld):
2546         * bindings/v8/ScriptController.cpp:
2547         (WebCore::ScriptController::ScriptController):
2548         (WebCore::ScriptController::resetIsolatedWorlds):
2549         (WebCore::ScriptController::ensureIsolatedWorldContext):
2550         (WebCore::ScriptController::existingWindowShellInternal):
2551         (WebCore):
2552         (WebCore::ScriptController::windowShell):
2553         (WebCore::ScriptController::evaluateInIsolatedWorld):
2554         (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
2555         (WebCore::ScriptController::currentWorldContext):
2556         (WebCore::ScriptController::evaluateInWorld):
2557         (WebCore::ScriptController::collectIsolatedContexts):
2558         * bindings/v8/ScriptController.h:
2559         (WebCore):
2560         (ScriptController):
2561         (WebCore::ScriptController::existingWindowShell):
2562         * bindings/v8/SharedPersistent.h:
2563         (WebCore):
2564         (WebCore::SharedPersistent::create):
2565         (WebCore::SharedPersistent::get):
2566         (WebCore::SharedPersistent::SharedPersistent):
2567         (SharedPersistent):
2568         * bindings/v8/V8Binding.cpp:
2569         (WebCore::perContextDataForCurrentWorld):
2570         * bindings/v8/V8DOMWindowShell.cpp:
2571         (WebCore::setIsolatedWorldField):
2572         (WebCore::V8DOMWindowShell::enteredIsolatedWorldContext):
2573         (WebCore):
2574         (WebCore::setInjectedScriptContextDebugId):
2575         (WebCore::V8DOMWindowShell::create):
2576         (WebCore::V8DOMWindowShell::V8DOMWindowShell):
2577         (WebCore::V8DOMWindowShell::destroyIsolatedShell):
2578         (WebCore::isolatedContextWeakCallback):
2579         (WebCore::V8DOMWindowShell::disposeContext):
2580         (WebCore::V8DOMWindowShell::initializeIfNeeded):
2581         (WebCore::V8DOMWindowShell::createContext):
2582         (WebCore::V8DOMWindowShell::installDOMWindow):
2583         (WebCore::V8DOMWindowShell::updateDocumentWrapper):
2584         (WebCore::V8DOMWindowShell::updateDocumentProperty):
2585         (WebCore::V8DOMWindowShell::clearDocumentProperty):
2586         (WebCore::V8DOMWindowShell::setSecurityToken):
2587         (WebCore::V8DOMWindowShell::updateDocument):
2588         (WebCore::V8DOMWindowShell::namedItemAdded):
2589         (WebCore::V8DOMWindowShell::namedItemRemoved):
2590         (WebCore::V8DOMWindowShell::updateSecurityOrigin):
2591         (WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
2592         * bindings/v8/V8DOMWindowShell.h:
2593         (V8DOMWindowShell):
2594         (WebCore::V8DOMWindowShell::world):
2595         (WebCore::V8DOMWindowShell::isolatedWorldSecurityOrigin):
2596         (WebCore::V8DOMWindowShell::getEntered):
2597         * bindings/v8/V8DOMWrapper.h:
2598         (WebCore::V8DOMWrapper::getCachedWrapper):
2599         * bindings/v8/V8IsolatedContext.cpp: Removed.
2600         * bindings/v8/V8IsolatedContext.h: Removed.
2601         * bindings/v8/V8LazyEventListener.cpp:
2602         * bindings/v8/WorldContextHandle.cpp:
2603         (WebCore::WorldContextHandle::WorldContextHandle):
2604         (WebCore::WorldContextHandle::adjustedContext):
2605         * bindings/v8/custom/V8DocumentCustom.cpp:
2606         (WebCore::toV8):
2607         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2608         (WebCore::toV8):
2609         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
2610         (WebCore::toV8):
2611         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
2612         (WebCore::V8XMLHttpRequest::constructorCallback):
2613
2614 2012-09-11  Keishi Hattori  <keishi@webkit.org>
2615
2616         Create Localizer factory method for LocaleMac
2617         https://bugs.webkit.org/show_bug.cgi?id=96355
2618
2619         Reviewed by Kent Tamura.
2620
2621         Preparing to use Localizer instead of LocaleMac/Win/ICU
2622
2623         No new tests. Covered in unit test tests/LocaleMacTest.cpp
2624
2625         * platform/text/Localizer.h:
2626         (Localizer):
2627         * platform/text/mac/LocaleMac.mm:
2628         (WebCore::Localizer::create):
2629         (WebCore):
2630
2631 2012-09-11  Mihnea Ovidenie  <mihnea@adobe.com>
2632
2633         [CSS Regions] Auto width is not working for Regions
2634         https://bugs.webkit.org/show_bug.cgi?id=74135
2635
2636         Reviewed by Julien Chaffraix.
2637
2638         It was not possible to flow content into a region having { width: auto; } since in such case, the region width was computed to 0.
2639         Now, a region having auto width, will have its width computed following the rules for calculation of widths and margins
2640         (http://www.w3.org/TR/CSS2/visudet.html#Computing_widths_and_margins).
2641         For those cases in which resolving the width requires measuring of content's min/max-content values, we use the associated named flow min/max-content
2642         values (the same for all regions with width auto in a region chain).
2643         When a region has width:auto, the computation of width should be done using normal block/box sizing code, instead of replaced element code.
2644         Contains code contributed by Alexandru Chiculita(achicu@adobe.com).
2645
2646         Tests: fast/regions/autowidth-abspos-regionchain.html
2647                fast/regions/autowidth-abspos.html
2648                fast/regions/autowidth-attachedinvalidregion.html
2649                fast/regions/autowidth-float.html
2650                fast/regions/autowidth-inlineblock.html
2651                fast/regions/autowidth-nonreplaced-abspos.html
2652                fast/regions/autowidth-nonreplacedblock-normalflow.html
2653                fast/regions/autowidth-normalflow-maxwidth.html
2654                fast/regions/autowidth-normalflow-minmaxwidth.html
2655                fast/regions/autowidth-normalflow-minwidth.html
2656                fast/regions/autowidth-normalflow-vertrl.html
2657                fast/regions/autowidth-normalflow.html
2658
2659         * rendering/RenderBox.cpp:
2660         (WebCore::RenderBox::computePositionedLogicalWidth): For positioned auto-width regions, skip the code path for replaced elements.
2661         * rendering/RenderRegion.cpp:
2662         (WebCore): Override min/maxPreferredLogicalWidth as they are used in the process of computing width for regions with auto width.
2663         As this moment, a region is still a RenderReplaced element, so this code needs to be revisited when the region will become a RenderBlock.
2664         Also, for min/max-width, we support only <length> values. We will extend support for other values in a following patch.
2665         We only attempt to use the flowThread min/maxPreferredLogicalWidth if the region is valid (there are no circular dependencies).
2666         (WebCore::RenderRegion::minPreferredLogicalWidth):
2667         (WebCore::RenderRegion::maxPreferredLogicalWidth):
2668         * rendering/RenderRegion.h:
2669         (RenderRegion): Override isInlineBlockOrInlineTable() and shouldComputeSizeAsReplaced() to ensure that computation for width auto follows the normal
2670         block/box sizing code.
2671         (WebCore::RenderRegion::expandToEncompassFlowThreadContentsIfNeeded):
2672
2673 2012-09-10  Ilya Tikhonovsky  <loislo@chromium.org>
2674
2675         Web Inspector: NMI: move MemoryInstrumentation.h to wtf
2676         https://bugs.webkit.org/show_bug.cgi?id=96356
2677
2678         Reviewed by Yury Semikhatsky.
2679
2680         It is necessary step because it helps us to remove dependency between platform and WebCore.
2681
2682         * GNUmakefile.list.am:
2683         * Target.pri:
2684         * WebCore.gypi:
2685         * WebCore.vcproj/WebCore.vcproj:
2686         * WebCore.xcodeproj/project.pbxproj:
2687         * dom/WebCoreMemoryInstrumentation.h:
2688         * inspector/MemoryInstrumentationImpl.h:
2689
2690 2012-09-10  Keishi Hattori  <keishi@webkit.org>
2691
2692         Move InputTypeNames to a separate file
2693         https://bugs.webkit.org/show_bug.cgi?id=96255
2694
2695         Reviewed by Kent Tamura.
2696
2697         We want to move InputTypeNames to a separate file so we can use it without including InputType.h.
2698
2699         No new tests. No behavior change.
2700
2701         * CMakeLists.txt:
2702         * GNUmakefile.list.am:
2703         * Target.pri:
2704         * WebCore.gypi:
2705         * WebCore.vcproj/WebCore.vcproj:
2706         * WebCore.xcodeproj/project.pbxproj:
2707         * html/ButtonInputType.cpp:
2708         * html/CheckboxInputType.cpp:
2709         * html/ColorInputType.cpp:
2710         * html/DateInputType.cpp:
2711         * html/DateTimeInputType.cpp:
2712         * html/DateTimeLocalInputType.cpp:
2713         * html/EmailInputType.cpp:
2714         * html/FileInputType.cpp:
2715         * html/HiddenInputType.cpp:
2716         * html/ImageInputType.cpp:
2717         * html/InputType.cpp:
2718         * html/InputType.h:
2719         * html/InputTypeNames.cpp: Added.
2720         (WebCore):
2721         (InputTypeNames):
2722         (WebCore::InputTypeNames::button):
2723         (WebCore::InputTypeNames::checkbox):
2724         (WebCore::InputTypeNames::color):
2725         (WebCore::InputTypeNames::date):
2726         (WebCore::InputTypeNames::datetime):
2727         (WebCore::InputTypeNames::datetimelocal):
2728         (WebCore::InputTypeNames::email):
2729         (WebCore::InputTypeNames::file):
2730         (WebCore::InputTypeNames::hidden):
2731         (WebCore::InputTypeNames::image):
2732         (WebCore::InputTypeNames::month):
2733         (WebCore::InputTypeNames::number):
2734         (WebCore::InputTypeNames::password):
2735         (WebCore::InputTypeNames::radio):
2736         (WebCore::InputTypeNames::range):
2737         (WebCore::InputTypeNames::reset):
2738         (WebCore::InputTypeNames::search):
2739         (WebCore::InputTypeNames::submit):
2740         (WebCore::InputTypeNames::telephone):
2741         (WebCore::InputTypeNames::text):
2742         (WebCore::InputTypeNames::time):
2743         (WebCore::InputTypeNames::url):
2744         (WebCore::InputTypeNames::week):
2745         * html/InputTypeNames.h: Added.
2746         (WebCore):
2747         (InputTypeNames):
2748         * html/MonthInputType.cpp:
2749         * html/NumberInputType.cpp:
2750         * html/PasswordInputType.cpp:
2751         * html/RadioInputType.cpp:
2752         * html/RangeInputType.cpp:
2753         * html/ResetInputType.cpp:
2754         * html/SearchInputType.cpp:
2755         * html/SubmitInputType.cpp:
2756         * html/TelephoneInputType.cpp:
2757         * html/TextInputType.cpp:
2758         * html/TimeInputType.cpp:
2759         * html/URLInputType.cpp:
2760         * html/WeekInputType.cpp:
2761         * html/parser/HTMLPreloadScanner.cpp:
2762         * platform/efl/RenderThemeEfl.cpp:
2763         * rendering/RenderThemeChromiumCommon.cpp:
2764
2765 2012-09-10  Yoshifumi Inoue  <yosin@chromium.org>
2766
2767         REGRESSION (r127226): Calling DateTimeEditElement::layout() in focus handler should not dispatch blur event
2768         https://bugs.webkit.org/show_bug.cgi?id=96232
2769
2770         Reviewed by Kent Tamura.
2771
2772         This patch makes DateTimeEditElement::layout() not to dispatch blur
2773         event by removing existing fields, one of them can be focused, after
2774         moving focus to newly created field.
2775
2776         This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
2777         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
2778
2779         Test: fast/forms/time-multiple-fields/time-multiple-fields-state-change-on-focus-or-blur.html
2780
2781         * html/shadow/DateTimeEditElement.cpp:
2782         (WebCore::DateTimeEditBuilder::build): Changed to call resetFields().
2783         (WebCore::DateTimeEditElement::focusedFieldIndex): Changed to use
2784         Document::focusedNode(). When this function is called during handling
2785         focus event, Element::focused() isn't true.
2786         (WebCore::DateTimeEditElement::layout): Changed to remove existing
2787         child nodes after moving focus to newly created field.
2788         (WebCore::DateTimeEditElement::resetFields): Renamed from resetLayout().
2789         This function makes m_fields vector empty.
2790         (WebCore::DateTimeEditElement::resetLayout): Renamed to resetFields().
2791         We moved removing field elements and spin button to layout().
2792         * html/shadow/DateTimeEditElement.h:
2793         (DateTimeEditElement): Renamed resetLayout() to resetFields().
2794
2795 2012-09-10  Keishi Hattori  <keishi@webkit.org>
2796
2797         Rename NumberLocalizer to Localizer
2798         https://bugs.webkit.org/show_bug.cgi?id=96350
2799
2800         Reviewed by Kent Tamura.
2801
2802         Renaming NumberLocalizer to Localizer so we can unify our localization methods into this class in the future.
2803
2804         No new tests. No behavior change.
2805
2806         * WebCore.gypi:
2807         * WebCore.xcodeproj/project.pbxproj:
2808         * platform/text/LocaleICU.cpp:
2809         (WebCore::LocaleICU::initializeLocalizerData):
2810         * platform/text/LocaleICU.h:
2811         (LocaleICU):
2812         * platform/text/LocaleWin.cpp:
2813         (WebCore::LocaleWin::initializeLocalizerData):
2814         * platform/text/LocaleWin.h:
2815         (LocaleWin):
2816         * platform/text/Localizer.cpp: Renamed from Source/WebCore/platform/text/NumberLocalizer.cpp.
2817         (WebCore):
2818         (WebCore::Localizer::~Localizer):
2819         (WebCore::Localizer::setLocalizerData):
2820         (WebCore::Localizer::convertToLocalizedNumber):
2821         (WebCore::matches):
2822         (WebCore::Localizer::detectSignAndGetDigitRange):
2823         (WebCore::Localizer::matchedDecimalSymbolIndex):
2824         (WebCore::Localizer::convertFromLocalizedNumber):
2825         (WebCore::Localizer::localizedDecimalSeparator):
2826         * platform/text/Localizer.h: Renamed from Source/WebCore/platform/text/NumberLocalizer.h.
2827         (WebCore):
2828         (Localizer):
2829         (WebCore::Localizer::Localizer):
2830         * platform/text/mac/LocaleMac.h:
2831         (LocaleMac):
2832         * platform/text/mac/LocaleMac.mm:
2833         (WebCore::LocaleMac::initializeLocalizerData):
2834
2835 2012-09-10  Dan Bernstein  <mitz@apple.com>
2836
2837         Use an API symbol instead of a hardcoded string for the TIFF uniform type identifier.
2838
2839         Reviewed by Mark Rowe.
2840
2841         * platform/graphics/mac/ImageMac.mm:
2842         (WebCore::BitmapImage::getTIFFRepresentation): Replaced CFSTR("public.tiff") with kUTTypeTIFF.
2843
2844 2012-09-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2845
2846         [CMake] Remove duplicated file in CMakeLists.txt
2847         https://bugs.webkit.org/show_bug.cgi?id=96346
2848
2849         Reviewed by Benjamin Poulain.
2850
2851         * CMakeLists.txt: Remove duplicated files.
2852
2853 2012-09-10  Joanmarie Diggs  <jdiggs@igalia.com>
2854
2855         Properly expose <legend> elements to ATs
2856         https://bugs.webkit.org/show_bug.cgi?id=84137
2857
2858         Reviewed by Chris Fleizach.
2859
2860         Created a new WebCore Accessibility Role, LegendRole. Used it to map to
2861         the expected platform role, ATK_ROLE_LABEL. Also established the needed
2862         AtkRelation pair, label-for/labelled-by between the legend and fieldset.
2863
2864         No new test needed - Existing legend.html test is now unskipped for Gtk.
2865
2866         * accessibility/AccessibilityObject.h: Added LegendRole
2867         * accessibility/AccessibilityRenderObject.cpp:
2868         (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Map legendTag to LegendRole
2869         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
2870         (webkitAccessibleGetName): Fieldset accessible should take its name from the associated LegendRole/label
2871         (setAtkRelationSetFromCoreObject): Set label-for/labelled-by AtkRelation pair between fieldset and legend
2872         (atkRole): Map LegendRole to ATK_ROLE_LABEL
2873         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2874         (createAccessibilityRoleMap):  Map LegendRole to NSAccessibilityGroupRole
2875
2876 2012-09-10  Adam Barth  <abarth@chromium.org>
2877
2878         [V8] Code assumes that getScriptExecutionContext can return 0
2879         https://bugs.webkit.org/show_bug.cgi?id=96340
2880
2881         Reviewed by Eric Seidel.
2882
2883         This function can never return 0 (as long as V8 is on the stack).
2884         There's no reason to try to handle a 0 return as an error.
2885
2886         * bindings/scripts/CodeGeneratorV8.pm:
2887         (GenerateCallWith):
2888         (GenerateConstructorCallback):
2889         * bindings/scripts/test/V8/V8TestInterface.cpp:
2890         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
2891         (WebCore::V8TestInterface::constructorCallback):
2892         * bindings/scripts/test/V8/V8TestObj.cpp:
2893         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
2894         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetter):
2895         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
2896         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
2897         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
2898         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
2899         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
2900         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
2901         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
2902         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
2903         (WebCore::TestObjV8Internal::withScriptExecutionContextCallback):
2904         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateCallback):
2905         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
2906         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
2907         * bindings/v8/custom/V8BlobCustom.cpp:
2908         (WebCore::V8Blob::constructorCallback):
2909         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
2910         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
2911         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
2912         (WebCore::V8MessageChannel::constructorCallback):
2913         * bindings/v8/custom/V8MutationObserverCustom.cpp:
2914         (WebCore::V8MutationObserver::constructorCallback):
2915         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2916         (WebCore::V8SQLTransaction::executeSqlCallback):
2917         * bindings/v8/custom/V8WebSocketCustom.cpp:
2918         (WebCore::V8WebSocket::constructorCallback):
2919         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
2920         (WebCore::V8XMLHttpRequest::constructorCallback):
2921         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2922         (WebCore::V8XMLHttpRequest::openCallback):
2923
2924 2012-09-10  Adam Barth  <abarth@chromium.org>
2925
2926         [V8] We don't us the global handle map for anything useful---let's remove it
2927         https://bugs.webkit.org/show_bug.cgi?id=96343
2928
2929         Reviewed by Kentaro Hara.
2930
2931         The global handle map was a dream of tracking all the persistent V8
2932         handles in WebCore. Unfortunately, it has never been complete, and I'm
2933         not aware of us using it for anything. This patch removes what little
2934         is left of it.
2935
2936         * bindings/v8/NPV8Object.cpp:
2937         (WebCore::freeV8NPObject):
2938         (WebCore::npCreateV8ScriptObject):
2939         * bindings/v8/V8GCController.cpp:
2940         (WebCore):
2941         (WebCore::V8GCController::gcEpilogue):
2942         (WebCore::V8GCController::collectGarbage):
2943         * bindings/v8/V8GCController.h:
2944         (V8GCController):
2945         * bindings/v8/V8PerIsolateData.h:
2946         (WebCore):
2947         (V8PerIsolateData):
2948
2949 2012-09-10  John Bates  <jbates@google.com>
2950
2951         [chromium] Fix trace event macro naming issue
2952         https://bugs.webkit.org/show_bug.cgi?id=96337
2953
2954         Reviewed by James Robinson.
2955
2956         * platform/chromium/TraceEvent.h:
2957
2958 2012-09-10  Joshua Bell  <jsbell@chromium.org>
2959
2960         IndexedDB: IDBFactory.deleteDatabase() is slow
2961         https://bugs.webkit.org/show_bug.cgi?id=96036
2962
2963         Reviewed by Tony Chang.
2964
2965         The deleteDatabase() operation is implemented by creating a LevelDBTansaction to accumulate
2966         the records to delete, then committing it. The transaction is a tree of key/operation pairs.
2967         As each (key, delete) entry is added to the tree compares need to be made, potentially
2968         requiring full key decodes. Since this temporary transaction is never read from, this is
2969         overkill.
2970
2971         Add a new "write only" transaction type that simply wraps a write batch, which provides
2972         transaction integrity but avoids the insertion overhead and has a minimal interface.
2973
2974         No new tests - no functional changes, only perf improvement.
2975
2976         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
2977         (WebCore::IDBLevelDBBackingStore::deleteDatabase): Use new write-only transaction type.
2978         * platform/leveldb/LevelDBTransaction.cpp:
2979         (WebCore::LevelDBWriteOnlyTransaction::create):
2980         (WebCore):
2981         (WebCore::LevelDBWriteOnlyTransaction::LevelDBWriteOnlyTransaction):
2982         (WebCore::LevelDBWriteOnlyTransaction::~LevelDBWriteOnlyTransaction):
2983         (WebCore::LevelDBWriteOnlyTransaction::remove):
2984         (WebCore::LevelDBWriteOnlyTransaction::commit):
2985         * platform/leveldb/LevelDBTransaction.h:
2986         (WebCore):
2987         (LevelDBWriteOnlyTransaction):
2988
2989 2012-09-10  Adam Barth  <abarth@chromium.org>
2990
2991         [V8] createFunctionOnlyCallback should be in V8Callback.h with the other callback functions
2992         https://bugs.webkit.org/show_bug.cgi?id=96336
2993
2994         Reviewed by Kentaro Hara.
2995
2996         Moving this function to V8Callback.h also lets us delete
2997         setTypeMismatchException because we no longer have a header inclusion
2998         cycle.
2999
3000         * bindings/v8/V8Callback.h:
3001         (WebCore::createFunctionOnlyCallback):
3002         (WebCore):
3003         * bindings/v8/V8Utilities.cpp:
3004         * bindings/v8/V8Utilities.h:
3005         (WebCore):
3006         * bindings/v8/custom/V8GeolocationCustom.cpp:
3007         * bindings/v8/custom/V8NotificationCustom.cpp:
3008
3009 2012-09-10  Beth Dakin  <bdakin@apple.com>
3010
3011         https://bugs.webkit.org/show_bug.cgi?id=96158
3012         Need API to suppress scrollbar animations
3013         -and corresponding-
3014         <rdar://problem/12210972>
3015
3016         Reviewed by Sam Weinig.
3017
3018         This patch re-names ScrollableAre::isOnActivePage() to 
3019         ScrollableArea::scrollbarsCanBeActive(). The new name better reflects 
3020         how the function is actually used, and it allows us to use the same 
3021         function for the new API that has been added to WebKit2. Now when a 
3022         client has used that API to indicate that scrollbars should be 
3023         suppressed, ScrollableArea::scrollbarsCanBeActive() will return 
3024         false.
3025
3026         Page has a new member variable which indicated whether scrollbar 
3027         animations for all scrollbars associated with that page should be 
3028         suppressed. Whenever it is set to true (meaning the animations 
3029         should be suppressed), Page iterates through all of the 
3030         ScrollableAreas to tell each one to finishCurrentScrollAnimations().
3031         * WebCore.exp.in:
3032         * page/Page.cpp:
3033         (WebCore::Page::Page):
3034         (WebCore::Page::setShouldSuppressScrollbarAnimations):
3035         (WebCore):
3036         * page/Page.h:
3037         (WebCore::Page::shouldSuppressScrollbarAnimations):
3038         (Page):
3039
3040         FrameView::isOnActivePage() is renamed to scrollbarsCanBeActive () 
3041         and it will now return false if the Page says that scrollbar 
3042         animations should be suppressed. 
3043         * page/FrameView.cpp:
3044         (WebCore::FrameView::scrollbarsCanBeActive):
3045
3046         scrollbarsCanBeActive() must now be a public member of FrameView so  
3047         that it can be called from RenderLayer and RenderListBox.
3048         * page/FrameView.h:
3049         (FrameView):
3050
3051         New ScrollAnimator function calls hideOverlayScrollers.
3052         * platform/ScrollAnimator.h:
3053         (WebCore::ScrollAnimator::finishCurrentScrollAnimations):
3054         (ScrollAnimator):
3055         * platform/ScrollableArea.cpp:
3056         (WebCore::ScrollableArea::finishCurrentScrollAnimations):
3057         (WebCore):
3058         * platform/ScrollableArea.h:
3059         (ScrollableArea):
3060         * platform/mac/ScrollAnimatorMac.h:
3061         (ScrollAnimatorMac):
3062         (WebCore::ScrollAnimatorMac::finishCurrentScrollAnimations):
3063
3064         Re-name. isOnActivePage() -> scrollbarsCanBeActive()
3065         (WebCore::FrameView::setAnimatorsAreActive):
3066         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
3067         * platform/mac/ScrollAnimatorMac.mm:
3068         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
3069         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
3070         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
3071         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
3072         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
3073         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
3074         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
3075         (WebCore::ScrollAnimatorMac::willStartLiveResize):
3076         (WebCore::ScrollAnimatorMac::contentsResized):
3077         (WebCore::ScrollAnimatorMac::willEndLiveResize):
3078         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
3079         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
3080         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
3081         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
3082         (WebCore::ScrollAnimatorMac::mayBeginScrollGesture):
3083         (WebCore):
3084         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
3085         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
3086         * rendering/RenderLayer.cpp:
3087
3088         RenderLayer and RenderListBox should call into FrameView's 
3089         scrollbarsCanBeActive() so that they also return false when Page:: 
3090         shouldSuppressScrollbarAnimations() is true.
3091         (WebCore::RenderLayer::scrollbarsCanBeActive):
3092         * rendering/RenderLayer.h:
3093         (RenderLayer):
3094         * rendering/RenderListBox.cpp:
3095         (WebCore::RenderListBox::scrollbarsCanBeActive):
3096         * rendering/RenderListBox.h:
3097
3098         This is the one caller of ScrollableArea:: scrollbarsCanBeActive() 
3099         that needs to distinguish between the scrollbar-suppressing scenario 
3100         and the in-the-page-cache scenario.
3101         * page/FocusController.cpp:
3102         (WebCore::FocusController::setContainingWindowIsVisible):
3103
3104 2012-09-10  James Robinson  <jamesr@chromium.org>
3105
3106         Unreviewed, rolling out r127837.
3107         http://trac.webkit.org/changeset/127837
3108         https://bugs.webkit.org/show_bug.cgi?id=93898
3109
3110         Broke ScrollingCoordinator on chromium
3111
3112         * WebCore.xcodeproj/project.pbxproj:
3113         * page/scrolling/ScrollingCoordinator.cpp:
3114         (WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange):
3115         (WebCore::ScrollingCoordinator::frameViewFixedObjectsDidChange):
3116         (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
3117         (WebCore::ScrollingCoordinator::hasNonLayerFixedObjects):
3118         (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
3119         (WebCore::ScrollingCoordinator::setForceMainThreadScrollLayerPositionUpdates):
3120         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
3121         * page/scrolling/ScrollingCoordinator.h:
3122         (ScrollingCoordinator):
3123         * page/scrolling/ScrollingCoordinatorNone.cpp:
3124         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
3125         * page/scrolling/ScrollingTree.cpp:
3126         (WebCore::ScrollingTree::scrollingPeformanceLoggingEnabled):
3127         * page/scrolling/ScrollingTree.h:
3128         * page/scrolling/ScrollingTreeNode.cpp:
3129         (WebCore::ScrollingTreeNode::ScrollingTreeNode):
3130         (WebCore::ScrollingTreeNode::update):
3131         * page/scrolling/ScrollingTreeNode.h:
3132         (WebCore::ScrollingTreeNode::shouldUpdateScrollLayerPositionOnMainThread):
3133         (ScrollingTreeNode):
3134         * page/scrolling/ScrollingTreeState.cpp:
3135         (WebCore::ScrollingTreeState::ScrollingTreeState):
3136         (WebCore::ScrollingTreeState::setShouldUpdateScrollLayerPositionOnMainThread):
3137         * page/scrolling/ScrollingTreeState.h:
3138         (WebCore::ScrollingTreeState::shouldUpdateScrollLayerPositionOnMainThread):
3139         (ScrollingTreeState):
3140         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
3141         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
3142         * page/scrolling/mac/ScrollingTreeMac.mm:
3143         (WebCore::ScrollingTree::updateDebugRootLayer):
3144         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
3145         (WebCore::ScrollingTreeNodeMac::update):
3146         (WebCore::ScrollingTreeNodeMac::scrollPosition):
3147         (WebCore::ScrollingTreeNodeMac::setScrollPosition):
3148         (WebCore::ScrollingTreeNodeMac::setScrollPositionWithoutContentEdgeConstraints):
3149         (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
3150
3151 2012-09-10  Philip Rogers  <pdr@google.com>
3152
3153         Remove unnecessary codepaths in SMILTimeContainer::updateAnimations
3154         https://bugs.webkit.org/show_bug.cgi?id=96224
3155
3156         Reviewed by Nikolas Zimmermann.
3157
3158         This change removes two sources of unnecessary code in
3159         SMILTimeContainer::updateAnimations:
3160             1) After r117711 we now accumulate the result of multiple
3161                animations into the first _contributing_ animation
3162                element. As a result it is no longer necessary to
3163                track both which elements are contributing AND which elements
3164                we are storing results into. Both cases are now handled
3165                together with resultsElements.
3166
3167             2) r32044 added a second sort of the animation elements
3168                in order to process animateTransform last. This change
3169                was added 4 years ago, before we correctly handled <use>
3170                and the instance tree, and I think the extra sort is no
3171                longer necessary. A test has been added to ensure this
3172                is the case.
3173
3174         This change also does a minor cleanup of resultsElements. Previously,
3175         we added animation elements to resultsElements and then removed them
3176         if the animation element did not contribute. After this change, we
3177         only add to resultsElements (no more add-then-remove).
3178
3179         Test: svg/animations/use-animate-transform-and-position.html
3180
3181         * svg/animation/SMILTimeContainer.cpp:
3182         (WebCore::SMILTimeContainer::sortByPriority):
3183         (WebCore::SMILTimeContainer::updateAnimations):
3184
3185 2012-09-10  Ojan Vafai  <ojan@chromium.org>
3186
3187         Rename box-sizing applying methods to be more clear about just applying box-sizing.
3188         https://bugs.webkit.org/show_bug.cgi?id=96319
3189
3190         Reviewed by Tony Chang.
3191
3192         This is strictly a rename. No logic or web-exposed changes.
3193
3194         * rendering/AutoTableLayout.cpp:
3195         (WebCore::AutoTableLayout::recalcColumn):
3196         * rendering/FixedTableLayout.cpp:
3197         (WebCore::FixedTableLayout::calcWidthArray):
3198         * rendering/RenderBlock.cpp:
3199         (WebCore::RenderBlock::computePreferredLogicalWidths):
3200         * rendering/RenderBox.cpp:
3201         (WebCore::RenderBox::adjustBorderBoxLogicalWidthForBoxSizing):
3202         (WebCore::RenderBox::adjustBorderBoxLogicalHeightForBoxSizing):
3203         (WebCore::RenderBox::adjustContentBoxLogicalWidthForBoxSizing):
3204         (WebCore::RenderBox::adjustContentBoxLogicalHeightForBoxSizing):
3205         (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
3206         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
3207         (WebCore::RenderBox::computeLogicalHeightUsing):
3208         (WebCore::RenderBox::computeLogicalClientHeight):
3209         (WebCore::RenderBox::computePercentageLogicalHeight):
3210         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
3211         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
3212         (WebCore::RenderBox::availableLogicalHeightUsing):
3213         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
3214         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
3215         * rendering/RenderBox.h:
3216         (RenderBox):
3217         * rendering/RenderDeprecatedFlexibleBox.cpp:
3218         (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
3219         * rendering/RenderFileUploadControl.cpp:
3220         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
3221         * rendering/RenderFlexibleBox.cpp:
3222         (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
3223         (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
3224         * rendering/RenderListBox.cpp:
3225         (WebCore::RenderListBox::computePreferredLogicalWidths):
3226         * rendering/RenderMenuList.cpp:
3227         (WebCore::RenderMenuList::computePreferredLogicalWidths):
3228         * rendering/RenderSlider.cpp:
3229         (WebCore::RenderSlider::computePreferredLogicalWidths):
3230         * rendering/RenderTextControl.cpp:
3231         (WebCore::RenderTextControl::computePreferredLogicalWidths):
3232
3233 2012-09-10  Jer Noble  <jer.noble@apple.com>
3234
3235         Unreviewed; rolling out r128081.
3236         http://trac.webkit.org/changeset/128081
3237         https://bugs.webkit.org/show_bug.cgi?id=96134
3238
3239         New test http/tests/media/video-donottrack.html fails to run on Apple test bots.
3240
3241         * html/HTMLMediaElement.cpp:
3242         * html/HTMLMediaElement.h:
3243         (HTMLMediaElement):
3244         * loader/FrameLoaderClient.h:
3245         * platform/graphics/MediaPlayer.h:
3246         (MediaPlayer):
3247         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3248         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
3249
3250 2012-09-10  Dimitri Glazkov  <dglazkov@chromium.org>
3251
3252         Reduce the number of treeScope queries when matching rules.
3253         https://bugs.webkit.org/show_bug.cgi?id=96315
3254
3255         Reviewed by Eric Seidel.
3256
3257         In the worst case, treeScope() requires a HashMap lookup, which could be slow. Since the value is always the same for the element,
3258         we can just ask for it once.
3259
3260         No new tests, no change in behavior.
3261
3262         * css/StyleResolver.cpp:
3263         (WebCore::StyleResolver::collectMatchingRulesForList): Moved the call to treeScope out of the loop.
3264
3265 2012-09-10  Adam Barth  <abarth@chromium.org>
3266
3267         [V8] V8PerIsolateData::m_toStringTemplate leaks memory
3268         https://bugs.webkit.org/show_bug.cgi?id=96322
3269
3270         Reviewed by Kentaro Hara.
3271
3272         We never call Dispose to balance the call to v8::Persistent::New. This
3273         patch uses ScopedPersistent to call Dispose automatically.
3274
3275         * bindings/v8/V8PerIsolateData.cpp:
3276         (WebCore::V8PerIsolateData::toStringTemplate):
3277             - I've changed this function to return a new local handle in case
3278               anyone is trying to hold on to these handles during shutdown.
3279         * bindings/v8/V8PerIsolateData.h:
3280         (V8PerIsolateData):
3281
3282 2012-09-10  Adam Barth  <abarth@chromium.org>
3283
3284         [V8] V8LazyEventListener::prepareListenerObject uses inefficient string operations
3285         https://bugs.webkit.org/show_bug.cgi?id=96324
3286
3287         Reviewed by Kentaro Hara.
3288
3289         Previously, this code called String::append several times, which
3290         mallocs a new string buffer each time. This patch switches this code to
3291         use operator+, which uses StringAppend to optimize these operations
3292         down to a single malloc.
3293
3294         * bindings/v8/V8LazyEventListener.cpp:
3295         (WebCore::V8LazyEventListener::prepareListenerObject):
3296
3297 2012-09-10  Adam Barth  <abarth@chromium.org>
3298
3299         [V8] V8AuxiliaryContext used by IDB leaks memory
3300         https://bugs.webkit.org/show_bug.cgi?id=96317
3301
3302         Reviewed by Tony Chang.
3303
3304         Before this patch, we leaked m_auxiliaryContext on V8PerIsolateData
3305         because no one ever called Dispose to balance the call to
3306         V8::Context::New. This patch uses ScopedPersistent to call Dispose
3307         automatically.
3308
3309         Also, I've deleted the V8AuxiliaryContext because it just reinvents
3310         V8::Context::Scope.
3311
3312         * bindings/v8/IDBBindingUtilities.cpp:
3313         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
3314         (WebCore::injectIDBKeyIntoSerializedValue):
3315         * bindings/v8/V8PerIsolateData.cpp:
3316         (WebCore::V8PerIsolateData::ensureAuxiliaryContext):
3317         (WebCore):
3318         * bindings/v8/V8PerIsolateData.h:
3319         (V8PerIsolateData):
3320         * bindings/v8/V8Utilities.cpp:
3321         * bindings/v8/V8Utilities.h:
3322
3323 2012-09-10  Adam Barth  <abarth@chromium.org>
3324
3325         [V8] currentDocument doesn't need to handle the case where there is no v8::Context
3326         https://bugs.webkit.org/show_bug.cgi?id=96312
3327
3328         Reviewed by Eric Seidel.
3329
3330         This function is always called while V8 is on the stack. It doesn't
3331         need to handle this impossible error condition.
3332
3333         * bindings/v8/BindingState.cpp:
3334         (WebCore::currentDocument):
3335
3336 2012-09-10  Adam Barth  <abarth@chromium.org>
3337
3338         [V8] Inline firstFrame and currentFrame into their unique callers
3339         https://bugs.webkit.org/show_bug.cgi?id=96309
3340
3341         Reviewed by Eric Seidel.
3342
3343         These functions have only one caller. We'd prefer not to have more
3344         callers (because there's usually no reason to indirect through the
3345         Frame), so we should inline them into their one caller (which is the
3346         Chromium WebKit API).
3347
3348         * bindings/js/BindingState.h:
3349         (WebCore):
3350         * bindings/v8/BindingState.cpp:
3351         * bindings/v8/BindingState.h:
3352         (WebCore):
3353         * bindings/v8/ScriptController.cpp:
3354         * bindings/v8/ScriptController.h:
3355         (ScriptController):
3356
3357 2012-09-10  Justin Novosad  <junov@chromium.org>
3358
3359         Implement canvas v5 line dash feature
3360         https://bugs.webkit.org/show_bug.cgi?id=82560
3361
3362         Reviewed by Darin Adler.
3363
3364         Adding new canvas 2d context API methods getLineDash and setLineDash,
3365         and new attribute lineDashOffset. Implementation mostly based on
3366         the existing webkitLineDash feature, with changes that reflect the
3367         canvas v5 specification. This change is visible to all JS ports,
3368         unlike webkitLineDash which is not exposed to V8. The new lineDash 
3369         and the legacy webkitLineDash features access the same rendering
3370         context state. The JavasScriptCore binding layer was augmented to
3371         support the sequence<float> IDL type.
3372
3373         Tests: fast/canvas/canvas-lineDash-invalid.html
3374                fast/canvas/canvas-lineDash.html
3375
3376         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3377         (WebCore::JSCanvasRenderingContext2D::webkitLineDash):
3378         (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
3379         * bindings/js/JSDOMBinding.h:
3380         Added template specialization on float to NativeValueTraits in order to
3381         add support for the sequence<double> IDL type to JavaScriptCore.
3382         * html/canvas/CanvasRenderingContext2D.cpp:
3383         (WebCore::CanvasRenderingContext2D::getLineDash):
3384         New 2D canvas API method, returns the current line dash array
3385         (WebCore::lineDashSequenceIsValid):
3386         Returns true if the line dash array contains only non-negative finite
3387         numbers.
3388         (WebCore::CanvasRenderingContext2D::setLineDash):
3389         New 2D canvas API method, set the line dash array.
3390         (WebCore::CanvasRenderingContext2D::setWebkitLineDash):
3391         Legacy implementation, does not double the new line dash array if
3392         it contains an odd number of elements.  Just accepts it as is.
3393         (WebCore::CanvasRenderingContext2D::lineDashOffset):
3394         Attribute getter
3395         (WebCore::CanvasRenderingContext2D::setLineDashOffset):
3396         Attribute setter
3397         (WebCore::CanvasRenderingContext2D::webkitLineDashOffset):
3398         Alias for lineDashOffset
3399         (WebCore::CanvasRenderingContext2D::setWebkitLineDashOffset):
3400         Alias for setLineDashOffset
3401         (WebCore::CanvasRenderingContext2D::applyLineDash):
3402         Sends the line dash state to the GraphicsContext
3403         * html/canvas/CanvasRenderingContext2D.h:
3404         (CanvasRenderingContext2D):
3405         (State):
3406         * html/canvas/CanvasRenderingContext2D.idl:
3407         * platform/graphics/DashArray.h:
3408
3409 2012-09-10  Sheriff Bot  <webkit.review.bot@gmail.com>
3410
3411         Unreviewed, rolling out r128109.
3412         http://trac.webkit.org/changeset/128109
3413         https://bugs.webkit.org/show_bug.cgi?id=96326
3414
3415         broke win and lion builds (Requested by kling on #webkit).
3416
3417         * WebCore.exp.in:
3418         * dom/Element.cpp:
3419         (WebCore::Element::createMutableAttributeData):
3420         * dom/ElementAttributeData.cpp:
3421         (WebCore::immutableElementAttributeDataSize):
3422         (WebCore::ElementAttributeData::createImmutable):
3423         (WebCore::ElementAttributeData::ElementAttributeData):
3424         (WebCore::ElementAttributeData::~ElementAttributeData):
3425         (WebCore::ElementAttributeData::addAttribute):
3426         (WebCore::ElementAttributeData::removeAttribute):
3427         (WebCore::ElementAttributeData::reportMemoryUsage):
3428         (WebCore::ElementAttributeData::cloneDataFrom):
3429         (WebCore::ElementAttributeData::clearAttributes):
3430         * dom/ElementAttributeData.h:
3431         (WebCore):
3432         (WebCore::ElementAttributeData::create):
3433         (ElementAttributeData):
3434         (WebCore::ElementAttributeData::isMutable):
3435         (WebCore::ElementAttributeData::makeMutable):
3436         (WebCore::ElementAttributeData::length):
3437         (WebCore::ElementAttributeData::attributeItem):
3438
3439 2012-09-10  Chris Fleizach  <cfleizach@apple.com>
3440
3441         AccessibilityNodeObject* is not in Mac xcode file
3442         https://bugs.webkit.org/show_bug.cgi?id=96327
3443
3444         Reviewed by Sam Weinig.
3445
3446         * WebCore.xcodeproj/project.pbxproj:
3447
3448 2012-09-07  Jon Lee  <jonlee@apple.com>
3449
3450         Update notifications to latest spec
3451         https://bugs.webkit.org/show_bug.cgi?id=91726
3452         <rdar://problem/11910451>
3453
3454         Reviewed by Alexey Proskuryakov.
3455
3456         Among the changes:
3457
3458         Addition of lang attribute
3459         http://lists.w3.org/Archives/Public/public-web-notification/2012Jul/0025.html
3460
3461         Specification of icon URL is icon instead of iconURL
3462         http://lists.w3.org/Archives/Public/public-web-notification/2012Jul/0012.html
3463
3464         Tests are not possible since at best they only verify exposure of the attributes, which isn't
3465         terribly useful, and use of the attributes depend on the platform.
3466