Initialize the Event Names' string from read only memory
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-03  Benjamin Poulain  <bpoulain@apple.com>
2
3         Initialize the Event Names' string from read only memory
4         https://bugs.webkit.org/show_bug.cgi?id=92435
5
6         Reviewed by Anders Carlsson.
7
8         Similarily to r123689, we can initialize the event names' string from memory without copying the data.
9         This saves us memory and initialization time.
10
11         * dom/EventNames.cpp:
12         (WebCore):
13
14 2012-08-03  Philippe Normand  <pnormand@igalia.com>
15
16         [GTK][jhbuild] Switch to GStreamer 0.11 build
17         https://bugs.webkit.org/show_bug.cgi?id=91727
18
19         Reviewed by Gustavo Noronha Silva.
20
21         Add a new function to encapsulate the GStreamer API removal of
22         GST_OBJECT_IS_FLOATING in the upcoming 1.0 release. Use of this
23         macro can now be replaced by calling the g_object_is_floating
24         function.
25
26         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
27         (WTF::adoptGRef):
28         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
29         (gstObjectIsFloating):
30         * platform/graphics/gstreamer/GStreamerVersioning.h:
31
32 2012-08-03  George Staikos  <staikos@webkit.org>
33
34         [BlackBerry] Add a null check for media implementation to fix a crash.
35         https://bugs.webkit.org/show_bug.cgi?id=93107
36
37         Reviewed by Rob Buis.
38
39         Fixes media/video-size.html.
40
41         * platform/blackberry/RenderThemeBlackBerry.cpp:
42         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack): Add null check.
43
44 2012-08-03  Yury Semikhatsky  <yurys@chromium.org>
45
46         Unreviewed. Fixed WinCE compilation after r124589.
47
48         * css/PropertySetCSSStyleDeclaration.cpp:
49         (WebCore::StyleRuleCSSStyleDeclaration::reportMemoryUsage):
50         (WebCore::InlineCSSStyleDeclaration::reportMemoryUsage):
51
52 2012-08-03  Keishi Hattori  <keishi@webkit.org>
53
54         Add keyboard support for color suggestion popup
55         https://bugs.webkit.org/show_bug.cgi?id=93069
56
57         Reviewed by Kent Tamura.
58
59         This adds support for keyboard inside the color suggestion popup.
60         Tab or arrow keys to move around. Return or space to select the color.
61         Escape closes the popup.
62
63         No new tests. Covered in platform/chromium/fast/forms/color/color-suggestion-picker-appearance.html.
64
65         * Resources/colorSuggestionPicker.css:
66         (.color-swatch):
67         (.color-swatch:focus):
68         * Resources/colorSuggestionPicker.js:
69         (ColorPicker):
70         (ColorPicker.prototype._layout):
71         (ColorPicker.prototype.selectColorAtIndex): Selects color at index.
72         (ColorPicker.prototype._handleMouseMove): Set focus to the swatch under the mouse cursor.
73         (ColorPicker.prototype._handleKeyDown): Move focused element on arrow keys.
74         (ColorPicker.prototype._handleMouseDown): Prevents blur on click.
75
76 2012-08-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
77
78         Add missing include to build on Mac OS 10.8
79
80         Reviewed by Ossy.
81
82         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
83
84 2012-08-03  Adam Barth  <abarth@webkit.org>
85
86         [V8] Re-wire "target" half of the same-origin security check through Document rather than DOMWindow
87         https://bugs.webkit.org/show_bug.cgi?id=93079
88
89         Reviewed by Eric Seidel.
90
91         Before this patch, we were traversing from Nodes to Frames to
92         DOMWindows to SecurityOrigins when determing the "target" of an
93         operation for the same-origin policy security check. Rather than
94         detouring through DOMWindow, these security checks should operate in
95         terms of ScriptExecutionContexts (aka Documents) because that's the
96         canonical place we store SecurityOrigin objects.
97
98         A future patch will re-wire the "active" part of the security check to
99         use ScriptExecutionContexts as well and we'll be able to remove the
100         extra copy of SecurityOrigin that we keep in DOMWindow.
101
102         * bindings/generic/BindingSecurity.cpp:
103         (WebCore::canAccessDocument):
104         (WebCore::BindingSecurity::canAccessFrame):
105         (WebCore::BindingSecurity::shouldAllowAccessToNode):
106         * bindings/v8/BindingState.cpp:
107         (WebCore::immediatelyReportUnsafeAccessTo):
108         * bindings/v8/BindingState.h:
109         (WebCore):
110         * bindings/v8/V8DOMWindowShell.cpp:
111         (WebCore::reportUnsafeJavaScriptAccess):
112         * bindings/v8/V8Proxy.cpp:
113         (WebCore::V8Proxy::reportUnsafeAccessTo):
114         * bindings/v8/V8Proxy.h:
115         (V8Proxy):
116
117 2012-08-03  Keishi Hattori  <keishi@webkit.org>
118
119         ColorSuggestionPicker popup's height doesn't get smaller than 100 px
120         https://bugs.webkit.org/show_bug.cgi?id=92945
121
122         Reviewed by Kent Tamura.
123
124         A window cannot be resized to be smaller than 100x100 pixels so this
125         adjust the color suggestion popup UI to look better when there are only
126         a few suggestions.
127
128         Tests: platform/chromium/fast/forms/color/color-suggestion-picker-one-row-appearance.html
129                platform/chromium/fast/forms/color/color-suggestion-picker-two-row-appearance.html
130
131         * Resources/colorSuggestionPicker.css:
132         (.color-swatch-container): Vertically center the swatches.
133
134 2012-08-03  Alexander Pavlov  <apavlov@chromium.org>
135
136         Web Inspector: Remove InspectorCSSAgent from InstrumentingAgents on clearFrontend()
137         https://bugs.webkit.org/show_bug.cgi?id=93082
138
139         Reviewed by Yury Semikhatsky.
140
141         * inspector/InspectorCSSAgent.cpp:
142         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
143         (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
144         (WebCore::InspectorCSSAgent::setFrontend):
145         (WebCore::InspectorCSSAgent::clearFrontend):
146
147 2012-08-03  Eugene Klyuchnikov  <eustas.big@gmail.com>
148
149         Web Inspector: Profiles: extract save to file / load from code
150         https://bugs.webkit.org/show_bug.cgi?id=92348
151
152         Reviewed by Yury Semikhatsky.
153
154         Motivation: extract reusable code for timeline load/save.
155         FileUtils.js will contain common code. Not all code moved to FileUtils
156         to make review easier. This code will be moved in next patch.
157
158         Core abstractions: OutputStream and OutputStreamDelegate.
159
160         OutputStream is interface that is used to transfer entity divded
161         to chunks. Transfer process is explicitly initialized (startTransfer)
162         and finalized (finishTrnsfer).
163
164         OutputStreamDelegate is interface to receive notifications about
165         transfer process: onTransferStarted, onChunkTransferred, onTransferFinished.
166
167         ChunkedFileReader: utility class that loads file by chunks of specified
168         size and notifies given delegate. OutputStream is supplied as a
169         parameter of method "start".
170
171         ChunkedFileWriter: implementation of OutputStream that saves data
172         to file specified by file name and notifies given delegate.
173
174         * WebCore.gypi: Added 'FileUtils.js'.
175         * WebCore.vcproj/WebCore.vcproj: Added 'FileUtils.js'.
176         * inspector/compile-front-end.py: Added 'FileUtils.js'.
177         * inspector/front-end/FileUtils.js: Added.
178         (WebInspector.OutputStreamDelegate): Added.
179         (WebInspector.ChunkedFileReader): Added.
180         (WebInspector.createFileSelectorElement): Added utility method to construct
181         hidden input element to select file.
182         * inspector/front-end/HeapSnapshotLoader.js: Adopted new API.
183         * inspector/front-end/HeapSnapshotProxy.js: Adopted new API.
184         * inspector/front-end/HeapSnapshotView.js: Adopted new API.
185         (WebInspector.HeapSnapshotLoadFromFileDelegate):
186         Extracted from existing code.
187         (WebInspector.ChunkedFileWriter): Renamed and refactored.
188         (WebInspector.HeapSnapshotSaveToFileDelegate):
189         Extracted from existing code.
190         * inspector/front-end/ProfilesPanel.js: Adopted new API.
191
192 2012-08-03  Alexander Pavlov  <apavlov@chromium.org>
193
194         Web Inspector: Incorrect blob url href when inspecting
195         https://bugs.webkit.org/show_bug.cgi?id=93076
196
197         Reviewed by Vsevolod Vlasov.
198
199         Special-cased the "blob" scheme to return the original URL intact on completion.
200
201         * inspector/front-end/ResourceUtils.js:
202         (WebInspector.completeURL):
203
204 2012-08-03  Yury Semikhatsky  <yurys@chromium.org>
205
206         Web Inspector: add CSSRule memory instrumentation
207         https://bugs.webkit.org/show_bug.cgi?id=92962
208
209         Reviewed by Pavel Feldman.
210
211         Added memory footprint reporting method to CSSRule and its descendants.
212
213         * css/CSSCharsetRule.cpp:
214         (WebCore::CSSCharsetRule::reportDescendantMemoryUsage):
215         (WebCore):
216         * css/CSSCharsetRule.h:
217         (CSSCharsetRule):
218         * css/CSSComputedStyleDeclaration.cpp:
219         (WebCore::CSSComputedStyleDeclaration::reportMemoryUsage):
220         (WebCore):
221         * css/CSSComputedStyleDeclaration.h:
222         (CSSComputedStyleDeclaration):
223         * css/CSSFontFaceRule.cpp:
224         (WebCore::CSSFontFaceRule::reportDescendantMemoryUsage):
225         (WebCore):
226         * css/CSSFontFaceRule.h:
227         (CSSFontFaceRule):
228         * css/CSSImportRule.cpp:
229         (WebCore::CSSImportRule::reportDescendantMemoryUsage):
230         (WebCore):
231         * css/CSSImportRule.h:
232         (CSSImportRule):
233         * css/CSSMediaRule.cpp:
234         (WebCore::CSSMediaRule::reportDescendantMemoryUsage):
235         (WebCore):
236         * css/CSSMediaRule.h:
237         (CSSMediaRule):
238         * css/CSSPageRule.cpp:
239         (WebCore::CSSPageRule::reportDescendantMemoryUsage):
240         (WebCore):
241         * css/CSSPageRule.h:
242         (CSSPageRule):
243         * css/CSSRule.cpp:
244         (WebCore::CSSRule::reportMemoryUsage): we manually implement polymorphic
245         call here to avoid adding vtable pointer to all CSSRule objects. Descendants
246         are expected to report their memory via reportDescendantMemoryUsage. The name
247         is intentionally different from reportMemoryUsage to avoid accidential infitite
248         recursion: if the descendants overrode non-virtual CSSRule::reportMemoryUsage,
249         it would be easy to add a new descendant type to the switch in
250         CSSRule::reportMemoryUsage without providing proper override for reportMemoryUsage
251         and CSSRule::reportMemoryUsage would end up calling itself.
252         (WebCore):
253         (WebCore::CSSRule::reportBaseClassMemoryUsage): again we cannot use
254         MemoryClassInfo::visitBaseClass like we do for virtual methods because it would
255         lead to a recursive call of CSSRule::reportMemoryUsage. This is why we use
256         reportBaseClassMemoryUsage to allow descendants to report objects referenced
257         from their base class.
258         * css/CSSRule.h:
259         (WebCore):
260         (CSSRule):
261         * css/CSSRuleList.cpp:
262         (WebCore::StaticCSSRuleList::reportMemoryUsage):
263         (WebCore):
264         * css/CSSRuleList.h:
265         (WebCore):
266         (CSSRuleList):
267         (StaticCSSRuleList):
268         (LiveCSSRuleList):
269         * css/CSSStyleDeclaration.h:
270         (WebCore):
271         (CSSStyleDeclaration):
272         * css/CSSStyleRule.cpp:
273         (WebCore::CSSStyleRule::reportDescendantMemoryUsage):
274         (WebCore):
275         * css/CSSStyleRule.h:
276         (CSSStyleRule):
277         * css/CSSStyleSheet.cpp:
278         (StyleSheetCSSRuleList):
279         (WebCore::CSSStyleSheet::reportMemoryUsage):
280         * css/CSSUnknownRule.h:
281         (CSSUnknownRule):
282         (WebCore::CSSUnknownRule::reportDescendantMemoryUsage):
283         * css/PropertySetCSSStyleDeclaration.cpp:
284         (WebCore::PropertySetCSSStyleDeclaration::reportMemoryUsage):
285         (WebCore):
286         (WebCore::StyleRuleCSSStyleDeclaration::reportMemoryUsage):
287         (WebCore::InlineCSSStyleDeclaration::reportMemoryUsage):
288         * css/PropertySetCSSStyleDeclaration.h:
289         (PropertySetCSSStyleDeclaration):
290         (StyleRuleCSSStyleDeclaration):
291         (InlineCSSStyleDeclaration):
292         * css/WebKitCSSKeyframeRule.cpp:
293         (WebCore::WebKitCSSKeyframeRule::reportDescendantMemoryUsage):
294         (WebCore):
295         * css/WebKitCSSKeyframeRule.h:
296         (WebKitCSSKeyframeRule):
297         * css/WebKitCSSKeyframesRule.cpp:
298         (WebCore::WebKitCSSKeyframesRule::reportDescendantMemoryUsage):
299         (WebCore):
300         * css/WebKitCSSKeyframesRule.h:
301         (WebKitCSSKeyframesRule):
302         * css/WebKitCSSRegionRule.cpp:
303         (WebCore::WebKitCSSRegionRule::reportDescendantMemoryUsage):
304         (WebCore):
305         * css/WebKitCSSRegionRule.h:
306         (WebKitCSSRegionRule):
307
308 2012-08-03  Adam Barth  <abarth@webkit.org>
309
310         WebCore::DragController::cleanupAfterSystemDrag should null-check page
311         https://bugs.webkit.org/show_bug.cgi?id=61815
312
313         Reviewed by Eric Seidel.
314
315         * page/DragController.cpp:
316         (WebCore::DragController::dragEnteredOrUpdated):
317         (WebCore::DragController::doSystemDrag):
318
319 2012-08-03  Sergio Carlos Morales Angeles  <carloschilazo@gmail.com>
320
321         Delete text from password does nothing.
322         https://bugs.webkit.org/show_bug.cgi?id=92040
323
324         Reviewed by Ryosuke Niwa.
325
326         Use Editor::canDelete() to determine if field is editable or not.
327         Added password-delete-contents test.
328
329         Test: editing/deleting/password-delete-contents.html
330
331         * editing/EditorCommand.cpp:
332         (WebCore::enabledDelete):
333
334 2012-08-03  Jan Keromnes  <janx@linux.com>
335
336         Web Inspector: Make textModel private to textEditor
337         https://bugs.webkit.org/show_bug.cgi?id=92999
338
339         Reviewed by Pavel Feldman.
340
341         Making textModel private to the textEditor ensures that it is accessed
342         only through the textEditor, making the latter more modular.
343
344         Tests were changed accordingly.
345
346         * inspector/front-end/JavaScriptSourceFrame.js:
347         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
348         (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
349         (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
350         (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration):
351         (WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
352         * inspector/front-end/SourceFrame.js:
353         (WebInspector.SourceFrame):
354         (WebInspector.SourceFrame.prototype.setContent):
355         (WebInspector.SourceFrame.prototype.replaceAllWith):
356         (WebInspector.SourceFrame.prototype._collectRegexMatches):
357         (WebInspector.SourceFrame.prototype.addMessageToSource):
358         (WebInspector.SourceFrame.prototype.removeMessageFromSource):
359         (WebInspector.TextEditorDelegateForSourceFrame.prototype.commitEditing):
360         * inspector/front-end/TextEditor.js:
361         (WebInspector.TextEditor.prototype.setText):
362         (WebInspector.TextEditor.prototype.text):
363         (WebInspector.TextEditor.prototype.range):
364         (WebInspector.TextEditor.prototype.line):
365         (WebInspector.TextEditor.prototype.get linesCount):
366         (WebInspector.TextEditor.prototype.setAttribute):
367         (WebInspector.TextEditor.prototype.getAttribute):
368         (WebInspector.TextEditor.prototype.removeAttribute):
369         * inspector/front-end/UISourceCodeFrame.js:
370         (WebInspector.UISourceCodeFrame.prototype.afterTextChanged):
371
372 2012-08-03  Adam Barth  <abarth@webkit.org>
373
374         V8Proxy::retrieve(*) leads to really obfuscated code and should be removed
375         https://bugs.webkit.org/show_bug.cgi?id=93072
376
377         Reviewed by Eric Seidel.
378
379         Once upon a time, V8Proxy::retrieve did a bunch of checks before
380         returning the V8Proxy object (such as checking whether script was
381         enabled). Over time, we've removed all of these checks in order to fix
382         various bugs. Now all it does is check whether the Frame is 0. However,
383         because the function ends up returning 0 when its argument is 0, the
384         caller sill needs to have a null check.
385
386         This patch deletes all the variations of V8Proxy::retrieve(*) and
387         inlines them into their callers. In several cases, inlining the
388         function call showed that we were testing the Frame for 0 twice, and
389         I've removed the redundant null checks. In other cases, I've
390         uncontorted the callers to make the code more readable.
391
392         * bindings/scripts/CodeGeneratorV8.pm:
393         (GenerateToV8Converters):
394         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
395         (WebCore::V8TestActiveDOMObject::wrapSlow):
396         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
397         (WebCore::V8TestNamedConstructorConstructorCallback):
398         * bindings/scripts/test/V8/V8TestNode.cpp:
399         (WebCore::V8TestNode::wrapSlow):
400         * bindings/v8/PageScriptDebugServer.cpp:
401         (WebCore::PageScriptDebugServer::addListener):
402         * bindings/v8/ScheduledAction.cpp:
403         (WebCore::ScheduledAction::execute):
404         * bindings/v8/ScriptController.h:
405         (WebCore::ScriptController::windowShell):
406         * bindings/v8/V8DOMWrapper.cpp:
407         (WebCore::V8DOMWrapper::instantiateV8Object):
408         * bindings/v8/V8EventListener.cpp:
409         (WebCore::V8EventListener::callListenerFunction):
410         * bindings/v8/V8Helpers.cpp:
411         (WebCore::toV8Proxy):
412         * bindings/v8/V8LazyEventListener.cpp:
413         (WebCore::V8LazyEventListener::callListenerFunction):
414         (WebCore::V8LazyEventListener::prepareListenerObject):
415         * bindings/v8/V8Proxy.cpp:
416         (WebCore::V8Proxy::handleOutOfMemory):
417         (WebCore::V8Proxy::retrievePerContextData):
418         (WebCore::V8Proxy::mainWorldContext):
419         (WebCore::toV8Context):
420         * bindings/v8/V8Proxy.h:
421         (V8Proxy):
422         * bindings/v8/custom/V8DOMWindowCustom.cpp:
423         (WebCore::V8DOMWindow::addEventListenerCallback):
424         (WebCore::V8DOMWindow::removeEventListenerCallback):
425         * bindings/v8/custom/V8DocumentCustom.cpp:
426         (WebCore::toV8):
427         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
428         (WebCore::V8HTMLDocument::openCallback):
429         (WebCore::toV8):
430         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
431         (WebCore::toV8):
432
433 2012-08-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
434
435         Add *explicit* keyword to constructors in WebCore/accessibility
436         https://bugs.webkit.org/show_bug.cgi?id=93067
437
438         Reviewed by Kentaro Hara.
439
440         As a step to add *explicit* keyword to constructors which have a parameter,
441         *explicit* keyword is added to Source/WebCore/accessibility in order to avoid
442         implicit type conversion.
443
444         No new tests. Covered by existing tests.
445
446         * accessibility/AXObjectCache.h:
447         (AXObjectCache):
448         * accessibility/AccessibilityARIAGrid.h:
449         (AccessibilityARIAGrid):
450         * accessibility/AccessibilityARIAGridCell.h:
451         (AccessibilityARIAGridCell):
452         * accessibility/AccessibilityARIAGridRow.h:
453         (AccessibilityARIAGridRow):
454         * accessibility/AccessibilityList.h:
455         (AccessibilityList):
456         * accessibility/AccessibilityListBox.h:
457         (AccessibilityListBox):
458         * accessibility/AccessibilityMediaControls.h:
459         (AccessibilityMediaControl):
460         (AccessibilityMediaTimeline):
461         (AccessibilityMediaControlsContainer):
462         (AccessibilityMediaTimeDisplay):
463         * accessibility/AccessibilityMenuList.h:
464         (AccessibilityMenuList):
465         * accessibility/AccessibilityNodeObject.h:
466         (AccessibilityNodeObject):
467         * accessibility/AccessibilityProgressIndicator.h:
468         (AccessibilityProgressIndicator):
469         * accessibility/AccessibilityRenderObject.h:
470         (AccessibilityRenderObject):
471         * accessibility/AccessibilityScrollView.h:
472         (AccessibilityScrollView):
473         * accessibility/AccessibilityScrollbar.h:
474         (AccessibilityScrollbar):
475         * accessibility/AccessibilitySlider.h:
476         (AccessibilitySlider):
477         * accessibility/AccessibilityTable.h:
478         (AccessibilityTable):
479         * accessibility/AccessibilityTableCell.h:
480         (AccessibilityTableCell):
481         * accessibility/AccessibilityTableRow.h:
482         (AccessibilityTableRow):
483
484 2012-08-03  Abhishek Arya  <inferno@chromium.org>
485
486         Regression(r124564): Wrong inlineChildrenBlock->hasLayer() computed in RenderBlock::removeChild.
487         https://bugs.webkit.org/show_bug.cgi?id=90800
488
489         Reviewed by Eric Seidel.
490
491         r124564 reversed the sequence of setStyle and removeChildNode calls, but failed to cache the value
492         of inlineChildrenBlock->hasLayer(). So, it will be null when the layer is removed from parent in setStyle.
493         Fixed by the caching the bool value. 
494
495         Covered by existing test fast/block/layer-not-removed-from-parent-crash.html.
496
497         * rendering/RenderBlock.cpp:
498         (WebCore::RenderBlock::removeChild):
499
500 2012-08-03  Mario Sanchez Prada  <msanchez@igalia.com>
501
502         [GTK] Add a new and reusable enchant-based spellchecker in WebCore
503         https://bugs.webkit.org/show_bug.cgi?id=90269
504
505         Reviewed by Martin Robinson.
506
507         Move enchant specific code down to WebCore, into a new class
508         TextCheckerEnchant, that we can use from WK1 and WK2.
509
510         * GNUmakefile.am: Add flags to handle the SPELLCHECK feature.
511         * GNUmakefile.list.am: Added new files.
512         * platform/text/gtk/TextCheckerEnchant.cpp: Added.
513         (getAvailableDictionariesCallback):
514         (TextCheckerEnchant::TextCheckerEnchant):
515         (TextCheckerEnchant::~TextCheckerEnchant):
516         (TextCheckerEnchant::ignoreWord):
517         (TextCheckerEnchant::learnWord):
518         (TextCheckerEnchant::checkSpellingOfString):
519         (TextCheckerEnchant::getGuessesForWord):
520         (TextCheckerEnchant::updateSpellCheckingLanguages):
521         (TextCheckerEnchant::freeEnchantBrokerDictionaries):
522         * platform/text/gtk/TextCheckerEnchant.h: Added.
523         (WebCore):
524         (TextCheckerEnchant):
525         (WebCore::TextCheckerEnchant::create):
526
527 2012-08-03  Kwang Yul Seo  <skyul@company100.net>
528
529         Unreviewed r124536 followup, fix the assertion error on Chromium.
530
531         * html/parser/HTMLTreeBuilder.cpp:
532         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
533
534 2012-08-03  Ilya Tikhonovsky  <loislo@chromium.org>
535
536         Web Inspector: simple replace objectType with ownerObjectType in NMI code.
537         https://bugs.webkit.org/show_bug.cgi?id=93001
538
539         Reviewed by Yury Semikhatsky.
540
541         In all the cases when we are visiting members, objectType field is actually the object type of the member's owner object.
542
543         * dom/MemoryInstrumentation.h:
544         (WebCore::MemoryInstrumentation::InstrumentedPointer::InstrumentedPointer):
545         (InstrumentedPointer):
546         (WebCore::MemoryInstrumentation::addObject):
547         (WebCore::MemoryInstrumentation::addInstrumentedObject):
548         (WebCore::MemoryInstrumentation::addRawBuffer):
549         (WebCore::MemoryInstrumentation::OwningTraits::addInstrumentedObject):
550         (WebCore::MemoryInstrumentation::OwningTraits::addObject):
551         (WebCore::MemoryObjectInfo::MemoryObjectInfo):
552         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
553         (WebCore::MemoryInstrumentation::addObjectImpl):
554         (WebCore::MemoryInstrumentation::addHashMap):
555         (WebCore::MemoryInstrumentation::addHashSet):
556         (WebCore::MemoryInstrumentation::addInstrumentedCollection):
557         (WebCore::MemoryInstrumentation::addListHashSet):
558         (WebCore::MemoryInstrumentation::addVector):
559         (WebCore::::process):
560
561 2012-08-02  Ilya Tikhonovsky  <loislo@chromium.org>
562
563         Web Inspector: extend test coverage for nmi code and fix 2 bugs.
564         https://bugs.webkit.org/show_bug.cgi?id=92994
565
566         Reviewed by Yury Semikhatsky.
567
568         1) owner object type propagation.
569         If a class with object-type DOM has an instrumented member with object-type Other then it has to be recorded as DOM.
570         Sample: We have SharedBuffer class and we don't know the object-type for it but we know that it is owned by an object with object-type CachedResourceImage.
571
572         2) the first member of an instrumented non virtual class was skipped even if it was reported properly.
573         it happened because the first member has the same address as it's owner
574
575         * dom/MemoryInstrumentation.h:
576         (WebCore::MemoryInstrumentation::addRootObject):
577         (WebCore::MemoryInstrumentation::InstrumentedPointer::InstrumentedPointer):
578         (InstrumentedPointer):
579         (WebCore::MemoryInstrumentation::addInstrumentedObject):
580         (MemoryInstrumentation):
581         (WebCore::MemoryInstrumentation::OwningTraits::addInstrumentedObject):
582         (WebCore::MemoryObjectInfo::MemoryObjectInfo):
583         (WebCore::MemoryObjectInfo::reportObjectInfo):
584         (WebCore::MemoryClassInfo::addInstrumentedMember):
585         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
586         (WebCore::MemoryInstrumentation::addObjectImpl):
587         (WebCore::MemoryInstrumentation::addInstrumentedCollection):
588         (WebCore::::process):
589
590 2012-08-03  Kentaro Hara  <haraken@chromium.org>
591
592         [V8] Make v8NonStringValueToWebCoreString a static method
593         https://bugs.webkit.org/show_bug.cgi?id=93066
594
595         Reviewed by Adam Barth.
596
597         v8NonStringValueToWebCoreString() and v8NonStringValueToAtomicWebCoreString()
598         are not intended to be used from outside V8Binding.cpp.
599         They should be static methods.
600
601         No tests. No change in behavior.
602
603         * bindings/v8/V8Binding.cpp:
604         (WebCore::v8NonStringValueToWebCoreString):
605         (WebCore):
606         (WebCore::v8NonStringValueToAtomicWebCoreString):
607         * bindings/v8/V8Binding.h:
608         (WebCore::v8StringToWebCoreString):
609         (WebCore::v8StringToAtomicWebCoreString):
610
611 2012-08-02  Abhishek Arya  <inferno@chromium.org>
612
613         Crash due to layer not removed from parent for anonymous block.
614         https://bugs.webkit.org/show_bug.cgi?id=90800
615
616         Reviewed by Kent Tamura.
617
618         Reverse the order of setStyle and removeChildNode calls. This ensures that setting the style
619         properly removes its layer from the parent in RenderBoxModelObject::styleDidChange. Calling
620         removeChildNode before calling setStyle is problematic since the parent layer never gets
621         notified.
622
623         Test: fast/block/layer-not-removed-from-parent-crash.html
624
625         * rendering/RenderBlock.cpp:
626         (WebCore::RenderBlock::removeChild):
627
628 2012-08-02  Adam Barth  <abarth@webkit.org>
629
630         V8Proxy::retrieveFrameFor*Context are used only by BindingState and should be removed as separate functions
631         https://bugs.webkit.org/show_bug.cgi?id=93049
632
633         Reviewed by Eric Seidel.
634
635         No one calls these functions directly anymore. This patch removes them
636         from V8Proxy and inlines their logic into BindingState.cpp.
637
638         * bindings/v8/BindingState.cpp:
639         (WebCore::activeContext):
640         (WebCore):
641         (WebCore::activeWindow):
642         (WebCore::activeFrame):
643         (WebCore::firstFrame):
644         (WebCore::currentFrame):
645         * bindings/v8/V8Proxy.cpp:
646         * bindings/v8/V8Proxy.h:
647         (V8Proxy):
648
649 2012-08-02  Yoshifumi Inoue  <yosin@chromium.org>
650
651         Make order of attribute/method in HTMLTrackElement.idl as same as specification
652         https://bugs.webkit.org/show_bug.cgi?id=80102
653
654         Reviewed by Kentaro Hara.
655
656         No new tests. This patch doesn't change behavior.
657
658         * html/HTMLTrackElement.idl: Reorder attribute/method position.
659
660 2012-08-02  Kent Tamura  <tkent@chromium.org>
661
662         Fix crashes for <input> and <textarea> with display:run-in.
663         https://bugs.webkit.org/show_bug.cgi?id=87300
664
665         Reviewed by Abhishek Arya.
666
667         Introduce RenderObject::canBeReplacedWithInlineRunIn, and renderers which
668         should not be run-in override it so that it returns false.
669
670         Test: fast/runin/input-text-runin.html
671               fast/runin/textarea-runin.html
672
673         * rendering/RenderBlock.cpp:
674         (WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded):
675         Checks canBeReplacedWithInlineRunIn instead of checking tag names.
676         * rendering/RenderFileUploadControl.cpp:
677         (WebCore::RenderFileUploadControl::canBeReplacedWithInlineRunIn):
678         Added. Disallow run-in.
679         * rendering/RenderFileUploadControl.h:
680         (RenderFileUploadControl): Declare canBeReplacedWithInlineRunIn.
681         * rendering/RenderListBox.cpp:
682         (WebCore::RenderListBox::canBeReplacedWithInlineRunIn):
683         Added. Disallow run-in. This is not a behavior change.
684         * rendering/RenderListBox.h:
685         (RenderListBox): Declare canBeReplacedWithInlineRunIn.
686         * rendering/RenderMenuList.cpp:
687         (WebCore::RenderMenuList::canBeReplacedWithInlineRunIn):
688         Added. Disallow run-in. This is not a behavior change.
689         * rendering/RenderMenuList.h:
690         (RenderMenuList): Declare canBeReplacedWithInlineRunIn.
691         * rendering/RenderObject.cpp:
692         (WebCore::RenderObject::canBeReplacedWithInlineRunIn):
693         Added. Allow run-in by default.
694         * rendering/RenderObject.h:
695         (RenderObject): Declare canBeReplacedWithInlineRunIn.
696         * rendering/RenderProgress.cpp:
697         (WebCore::RenderProgress::canBeReplacedWithInlineRunIn):
698         Added. Disallow run-in. This is not a behavior change.
699         * rendering/RenderProgress.h:
700         (RenderProgress): Declare canBeReplacedWithInlineRunIn.
701         * rendering/RenderSlider.cpp:
702         (WebCore::RenderSlider::canBeReplacedWithInlineRunIn):
703         Added. Disallow run-in.
704         * rendering/RenderSlider.h:
705         (RenderSlider): Declare canBeReplacedWithInlineRunIn.
706         * rendering/RenderTextControl.cpp:
707         (WebCore::RenderTextControl::canBeReplacedWithInlineRunIn):
708         Added. Disallow run-in.
709         * rendering/RenderTextControl.h:
710         (RenderTextControl): Declare canBeReplacedWithInlineRunIn.
711
712 2012-08-02  Kihong Kwon  <kihong.kwon@samsung.com>
713
714         [EFL] Fix wrong assigned value of BatteryStatus
715         https://bugs.webkit.org/show_bug.cgi?id=93058
716
717         Reviewed by Kentaro Hara.
718
719         There is a wrong change in the bug 92964.
720         property variable have to be used after assigned value in the setBatteryClient.
721
722         * platform/efl/BatteryProviderEfl.cpp:
723         (WebCore::BatteryProviderEfl::setBatteryClient):
724
725 2012-08-02  Arvid Nilsson  <anilsson@rim.com>
726
727         [BlackBerry] Add default implementation of GraphicsLayerClient::contentsVisible()
728         https://bugs.webkit.org/show_bug.cgi?id=93036
729
730         Reviewed by George Staikos.
731
732         Returning true by default would cause memory usage to balloon, because
733         the LayerTiler would believe every tile is visible and always needs to
734         be rendered. Instead, we choose to return false by default, relying
735         entirely on reactive rendering through render jobs.
736
737         However this revealed a subtle bug. If the entire layer was invalidated
738         every frame, checkerboard would never resolve with this default
739         implementation.
740
741         Fixed by not clearing render jobs when the entire layer is invalidated,
742         thus making us robust against an incomplete contentsVisible
743         implementation.
744
745         Also removed dead code related to the deprecated
746         LayerTiler::m_tilesWebKitThread mechanism, which has been replaced by
747         the implicit visibility management resulting from render jobs.
748
749         With m_tilesWebKitThread out of the way, rename m_tilesCompositingThread
750         to be simply m_tiles.
751
752         PR 187458
753
754         This is not currently testable using BlackBerry testing infrastructure.
755
756         * platform/graphics/GraphicsLayerClient.h:
757         (WebCore::GraphicsLayerClient::contentsVisible): Gets a default implementation instead of being pure virtual.
758         * platform/graphics/blackberry/LayerTile.cpp:
759         (WebCore::LayerTile::LayerTile): Merged LayerTileData into LayerTile now that m_tilesWebKitThread is gone.
760         * platform/graphics/blackberry/LayerTile.h:
761         (LayerTile):
762         * platform/graphics/blackberry/LayerTiler.cpp:
763         (WebCore::LayerTiler::~LayerTiler):
764         (WebCore::LayerTiler::updateTextureContentsIfNeeded): Bug fix to make us robust against the new default implementation of GraphicsLayerClient::contentsVisible()
765         (WebCore::LayerTiler::shouldPerformRenderJob):
766         (WebCore::LayerTiler::layerVisibilityChanged):
767         (WebCore::LayerTiler::uploadTexturesIfNeeded):
768         (WebCore::LayerTiler::drawTexturesInternal):
769         (WebCore::LayerTiler::deleteTextures):
770         (WebCore::LayerTiler::pruneTextures):
771         (WebCore::LayerTiler::bindContentsTexture):
772         * platform/graphics/blackberry/LayerTiler.h:
773         (LayerTiler):
774
775 2012-08-02  Keishi Hattori  <keishi@webkit.org>
776
777         Slider should snap to datalist tick marks
778         https://bugs.webkit.org/show_bug.cgi?id=92640
779
780         Reviewed by Kent Tamura.
781
782         Input type=range slider snaps to datalist tick marks.
783
784         Test: fast/forms/datalist/range-snap-to-datalist.html
785
786         * html/HTMLInputElement.cpp:
787         (WebCore::HTMLInputElement::findClosestTickMarkValue): Just calls InputType::findClosestTickMarkValue.
788         (WebCore):
789         * html/HTMLInputElement.h:
790         (HTMLInputElement):
791         * html/InputType.cpp:
792         (WebCore):
793         (WebCore::InputType::findClosestTickMarkValue): Overridden by RangeInputType.
794         * html/InputType.h:
795         (InputType):
796         * html/RangeInputType.cpp:
797         (WebCore::RangeInputType::RangeInputType):
798         (WebCore):
799         (WebCore::RangeInputType::listAttributeTargetChanged): Mark m_tickMarkValues as dirty.
800         (WebCore::decimalCompare):
801         (WebCore::RangeInputType::updateTickMarkValues): Sets m_tickMarkValues to a list of sorted valid datalist values.
802         (WebCore::RangeInputType::findClosestTickMarkValue): Finds closest tick mark value to a given value.
803         * html/RangeInputType.h:
804         (RangeInputType):
805         * html/shadow/SliderThumbElement.cpp:
806         (WebCore):
807         (WebCore::SliderThumbElement::setPositionFromPoint): Snaps to the closest tick mark value if it is within a certain distance.
808
809 2012-08-02  Ryuan Choi  <ryuan.choi@samsung.com>
810
811         [EFL] Crash while loading plugin after r121467
812         https://bugs.webkit.org/show_bug.cgi?id=92943
813
814         Reviewed by Laszlo Gombos.
815
816         r121467 replaced POSIX dlopen to helpers in eina_module, but some codes
817         are not changed.
818
819         No new tests, behavior has not changed.
820
821         * plugins/efl/PluginPackageEfl.cpp:
822         (WebCore::PluginPackage::fetchInfo):
823         Changes dlsym to eina_module_symbol_get to follow changes of r121467.
824
825 2012-08-02  Adam Barth  <abarth@webkit.org>
826
827         V8 bindings code that tries to find its context should use BindingState functions rather than V8Proxy
828         https://bugs.webkit.org/show_bug.cgi?id=93038
829
830         Reviewed by Eric Seidel.
831
832         After this patch, most code in the V8 bindings that tries to determine
833         it's "context" goes through BindingState.h rather than V8Proxy. This
834         patch is a step towards unifying all these code paths.
835
836         * bindings/scripts/CodeGeneratorV8.pm:
837         (GenerateNamedConstructorCallback):
838         * bindings/v8/BindingState.cpp:
839         (WebCore::currentFrame):
840         (WebCore):
841         * bindings/v8/BindingState.h:
842         (WebCore):
843         * bindings/v8/ScriptController.cpp:
844         (WebCore::ScriptController::retrieveFrameForEnteredContext):
845         (WebCore::ScriptController::retrieveFrameForCurrentContext):
846         * bindings/v8/V8DOMWindowShell.cpp:
847         (WebCore::v8UncaughtExceptionHandler):
848         * bindings/v8/V8Proxy.cpp:
849         (WebCore::V8Proxy::reportUnsafeAccessTo):
850         * bindings/v8/V8Proxy.h:
851         (V8Proxy):
852         * bindings/v8/V8Utilities.cpp:
853         (WebCore::getScriptExecutionContext):
854         * bindings/v8/custom/V8AudioContextCustom.cpp:
855         (WebCore::V8AudioContext::constructorCallback):
856         * bindings/v8/custom/V8DOMWindowCustom.cpp:
857         (WebCore::handlePostMessageCallback):
858         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
859         (WebCore::V8HTMLDocument::writeCallback):
860         (WebCore::V8HTMLDocument::writelnCallback):
861         (WebCore::V8HTMLDocument::openCallback):
862         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
863         (WebCore::v8HTMLImageElementConstructorCallback):
864
865 2012-08-02  Sheriff Bot  <webkit.review.bot@gmail.com>
866
867         Unreviewed, rolling out r124540.
868         http://trac.webkit.org/changeset/124540
869         https://bugs.webkit.org/show_bug.cgi?id=93055
870
871         Broke compile on Chromium Win bot (Requested by dimich on
872         #webkit).
873
874         * Modules/indexeddb/IDBBackingStore.h:
875         (IDBBackingStore):
876         * Modules/indexeddb/IDBCallbacks.h:
877         (IDBCallbacks):
878         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
879         (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::PendingOpenCall):
880         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
881         (WebCore::IDBDatabaseBackendImpl::openInternal):
882         (WebCore::IDBDatabaseBackendImpl::metadata):
883         (WebCore::IDBDatabaseBackendImpl::setVersion):
884         (WebCore::IDBDatabaseBackendImpl::transactionFinished):
885         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
886         (WebCore::IDBDatabaseBackendImpl::registerFrontendCallbacks):
887         (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
888         (WebCore::IDBDatabaseBackendImpl::close):
889         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
890         (IDBDatabaseBackendImpl):
891         * Modules/indexeddb/IDBDatabaseCallbacks.h:
892         (IDBDatabaseCallbacks):
893         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
894         (WebCore::IDBFactoryBackendImpl::open):
895         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
896         (WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
897         (WebCore::IDBLevelDBBackingStore::createIDBDatabaseMetaData):
898         (WebCore::IDBLevelDBBackingStore::deleteDatabase):
899         * Modules/indexeddb/IDBLevelDBBackingStore.h:
900         (IDBLevelDBBackingStore):
901         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
902         (WebCore::IDBTransactionBackendImpl::commit):
903
904 2012-08-02  Arvid Nilsson  <anilsson@rim.com>
905
906         [BlackBerry] Upstream GraphicsLayerClient::contentsVisible()
907         https://bugs.webkit.org/show_bug.cgi?id=93040
908
909         Reviewed by George Staikos.
910
911         Our LayerTiler uses both proactive and reactive rendering to populate
912         tiles. If contentsVisible() is accurate, it will cause the right tiles
913         to be rendered. Failing that, when a dirty tile is found to be visible
914         on the compositing thread, a render job is scheduled.
915
916         This is not currently testable using BlackBerry testing infrastructure.
917
918         * platform/graphics/GraphicsLayerClient.h:
919         (GraphicsLayerClient): New BlackBerry-specific method "contentsVisible" added.
920         * rendering/RenderLayerBacking.cpp:
921         (WebCore):
922         (WebCore::RenderLayerBacking::contentsVisible): BlackBerry-specific implementation.
923
924 2012-08-02  Alexandre Elias  <aelias@google.com>
925
926         [chromium] deviceViewportSize cleanup
927         https://bugs.webkit.org/show_bug.cgi?id=92794
928
929         Reviewed by Adrienne Walker.
930
931         In the future, CSS layout size will become increasingly disassociated
932         from physical device size, and it will become impossible to infer one
933         from the other inside the compositor.  Therefore, this patch allows
934         deviceViewportSize to be explicitly passed in by the outside client.
935
936         I also renamed the existing viewportSize field to "layoutViewportSize"
937         for clarity, and converted its uses to deviceViewportSize since
938         that is more appropriate.
939
940         I had to add some default-value scaffolding to WebLayerTreeView in
941         order to avoid breaking ui/compositor.  We can delete it once that's
942         updated.
943
944         No new tests (covered by existing tests).
945
946         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
947         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
948         (WebCore::CCLayerTreeHost::setViewportSize):
949         (WebCore::CCLayerTreeHost::updateLayers):
950         (WebCore::CCLayerTreeHost::setDeviceScaleFactor):
951         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
952         (CCLayerTreeHost):
953         (WebCore::CCLayerTreeHost::layoutViewportSize):
954         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
955         (WebCore::CCLayerTreeHostImpl::canDraw):
956         (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
957         (WebCore::CCLayerTreeHostImpl::setViewportSize):
958         (WebCore::CCLayerTreeHostImpl::setDeviceScaleFactor):
959         (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
960         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
961         (CCLayerTreeHostImpl):
962         (WebCore::CCLayerTreeHostImpl::layoutViewportSize):
963
964 2012-08-02  Adam Barth  <abarth@webkit.org>
965
966         V8Proxy::currentContext() doesn't do anything and should be removed
967         https://bugs.webkit.org/show_bug.cgi?id=93041
968
969         Reviewed by Eric Seidel.
970
971         It's just a wrapper for GetCurrent().
972
973         * bindings/v8/DateExtension.cpp:
974         (WebCore::DateExtension::setAllowSleep):
975         * bindings/v8/V8NPUtils.cpp:
976         (WebCore::convertV8ObjectToNPVariant):
977         * bindings/v8/V8Proxy.cpp:
978         (WebCore::V8Proxy::retrieve):
979         (WebCore::V8Proxy::mainWorldContext):
980         * bindings/v8/V8Proxy.h:
981         (V8Proxy):
982         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
983         (WebCore::getJSListenerFunctions):
984
985 2012-08-02  David Grogan  <dgrogan@chromium.org>
986
987         IndexedDB: Core upgradeneeded logic
988         https://bugs.webkit.org/show_bug.cgi?id=92558
989
990         Reviewed by Ojan Vafai.
991
992         This is the backend webkit logic needed for integer versions. The rest
993         is in https://bugs.webkit.org/show_bug.cgi?id=89505.
994
995         I tried to make use of the existing processPendingCalls and added two
996         more queues, pendingOpenWithVersionCalls and
997         pendingSecondHalfOpenWithVersionCalls. The "second half" refers to
998         how there are two events that need to be fired in response to an
999         open-with-version call. The "second half" queue holds the open
1000         requests that should immediately follow the caller's upgradeneeded
1001         handler.
1002
1003         No new tests, there are so many they are in their own patch:
1004         https://bugs.webkit.org/show_bug.cgi?id=92560
1005
1006         Though this patch doesn't change any expected behavior anyway, lack of
1007         regressions is what we're hoping for here.
1008
1009         * Modules/indexeddb/IDBBackingStore.h:
1010         (IDBBackingStore):
1011         * Modules/indexeddb/IDBCallbacks.h:
1012         (WebCore::IDBCallbacks::onBlocked):
1013         (WebCore::IDBCallbacks::onUpgradeNeeded):
1014         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1015         (IDBDatabaseBackendImpl::PendingOpenCall):
1016         (IDBDatabaseBackendImpl::PendingOpenWithVersionCall):
1017         (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::create):
1018         (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::callbacks):
1019         (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::version):
1020         (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::PendingOpenWithVersionCall):
1021         (WebCore):
1022         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
1023         (WebCore::IDBDatabaseBackendImpl::openInternal):
1024         (WebCore::IDBDatabaseBackendImpl::metadata):
1025         (WebCore::IDBDatabaseBackendImpl::setVersion):
1026         (WebCore::IDBDatabaseBackendImpl::setIntVersionInternal):
1027         (WebCore::IDBDatabaseBackendImpl::transactionFinished):
1028         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndEventsFired):
1029         When an upgradeneeded event is fired in response to an
1030         open-with-version call, the version change transaction must receive its
1031         complete event before processPendingCalls fires a success event at
1032         IDBOpenDBRequest. In the future this should probably be changed
1033         instead to transactionFinishedAndAbortFired and
1034         transactionFinishedAndCompleteFired so that we'll know to fire a
1035         success or error event at IDBOpenDBRequest. Currently, instead of
1036         firing error when there's an abort, we don't fire anything.
1037
1038         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
1039         Now that this is called after a connection is opened, we unfortunately
1040         lose the invariant that there is only one existing connection when this
1041         is called, but nothing inside this function actually relied on that.
1042         Additionally, the secondHalfOpen calls only ever need to be serviced
1043         in one place: right after a version change transaction completes, so
1044         it could be moved out of here.
1045
1046         (WebCore::IDBDatabaseBackendImpl::registerFrontendCallbacks):
1047         Now that setVersion and deleteDatabase calls are queued up behind
1048         secondHalfOpen calls, we have to service those queues when
1049         secondHalfOpen calls complete, which is here.  So call
1050         processPendingCalls().
1051
1052         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
1053         (WebCore::IDBDatabaseBackendImpl::openConnectionWithVersion):
1054         (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
1055         (WebCore::IDBDatabaseBackendImpl::close):
1056         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1057         (IDBDatabaseBackendImpl):
1058         * Modules/indexeddb/IDBDatabaseCallbacks.h:
1059         (WebCore::IDBDatabaseCallbacks::onVersionChange):
1060         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
1061         (WebCore::IDBFactoryBackendImpl::open):
1062         This is refactored some so that the call to openConection{WithVersion}
1063         happens once, at the end.
1064
1065         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
1066         (WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
1067         (WebCore::IDBLevelDBBackingStore::createIDBDatabaseMetaData):
1068         (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseIntVersion):
1069         (WebCore):
1070         (WebCore::IDBLevelDBBackingStore::deleteDatabase):
1071         * Modules/indexeddb/IDBLevelDBBackingStore.h:
1072         (IDBLevelDBBackingStore):
1073         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
1074         (WebCore::IDBTransactionBackendImpl::commit):
1075         See above comments about transactionFinishedAndEventsFired. I tried
1076         moving the call to transactionFinished after the events were fired but
1077         that failed some asserts. But changing those asserts is still an
1078         alternative to splitting up transactionFinished as is done here.
1079
1080 2012-08-02  Rob Buis  <rwlbuis@webkit.org>
1081
1082         SVG text selection doesn't work with hyperlinked text
1083         https://bugs.webkit.org/show_bug.cgi?id=29166
1084
1085         Reviewed by Eric Seidel.
1086
1087         Cleanup SVGAElement. There is no need to test for middle mouse button here, this
1088         is handled elsewhere, so remove isMiddleMouseButtonEvent. Similarly handleLinkClick
1089         is not used anymore by HTMLAnchorElement, remove it. Finally, _self indeed is not needed.
1090
1091         No new tests, since no change in behaviour.
1092
1093         * WebCore.order:
1094         * html/HTMLAnchorElement.cpp:
1095         * html/HTMLAnchorElement.h:
1096         (WebCore):
1097         * svg/SVGAElement.cpp:
1098         (WebCore::SVGAElement::defaultEventHandler):
1099
1100 2012-08-02  Kwang Yul Seo  <skyul@company100.net>
1101
1102         Move causesFosterParenting() to HTMLStackItem
1103         https://bugs.webkit.org/show_bug.cgi?id=93048
1104
1105         Reviewed by Adam Barth.
1106
1107         Changed to share causesFosterParenting() between HTMLTreeBuilder and HTMLConstructionSite
1108         by moving this function to HTMLStackItem.
1109
1110         No functional change, so no new tests.
1111
1112         * html/parser/HTMLConstructionSite.cpp:
1113         (WebCore::HTMLConstructionSite::shouldFosterParent):
1114         * html/parser/HTMLStackItem.h:
1115         (WebCore::HTMLStackItem::causesFosterParenting):
1116         (HTMLStackItem):
1117         * html/parser/HTMLTreeBuilder.cpp:
1118         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1119
1120 2012-08-02  Kwang Yul Seo  <skyul@company100.net>
1121
1122         Read tag names and attributes from the saved tokens in HTMLTreeBuilder::callTheAdoptionAgency(AtomicHTMLToken*)
1123         https://bugs.webkit.org/show_bug.cgi?id=93047
1124
1125         Reviewed by Adam Barth.
1126
1127         This is a follow-up patch for r123577.
1128         Changed to retrieve the stack item of commonAncestor and read the local name from the saved token.
1129
1130         No new tests, covered by existing tests.
1131
1132         * html/parser/HTMLTreeBuilder.cpp:
1133         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1134
1135 2012-08-02  Vincent Scheib  <scheib@chromium.org>
1136
1137         Remove old Pointer Lock API.
1138         https://bugs.webkit.org/show_bug.cgi?id=88892
1139
1140         Reviewed by Adam Barth.
1141
1142         Removing the old Pointer Lock API as one of the final cleanup
1143         changes for the Update to Fullscreen style locking Spec meta
1144         bug https://bugs.webkit.org/show_bug.cgi?id=84402.
1145
1146         This change primarily removes idl, access in navigator,
1147         one event, and supporting infrastructure in page/PointerLock.
1148
1149         In PointerLockController changes were already noted clearly with
1150         TODOs differentiating old and new api sections.
1151
1152         Test: pointer-lock/pointerlockchange-event-on-lock-lost.html
1153
1154         * WebCore.gypi:
1155         * dom/Element.cpp:
1156         (WebCore::Element::webkitRequestPointerLock):
1157         * dom/EventNames.h:
1158         (WebCore):
1159         * page/Navigator.cpp:
1160         * page/Navigator.h:
1161         (WebCore):
1162         (Navigator):
1163         * page/Navigator.idl:
1164         * page/PointerLock.cpp: Removed.
1165         * page/PointerLock.h: Removed.
1166         * page/PointerLock.idl: Removed.
1167         * page/PointerLockController.cpp:
1168         (WebCore::PointerLockController::requestPointerLock):
1169         (WebCore::PointerLockController::didAcquirePointerLock):
1170         (WebCore::PointerLockController::didNotAcquirePointerLock):
1171         (WebCore::PointerLockController::didLosePointerLock):
1172         * page/PointerLockController.h:
1173         (PointerLockController):
1174
1175 2012-08-02  Ryosuke Niwa  <rniwa@webkit.org>
1176
1177         scripts in formaction should be stripped upon paste
1178         https://bugs.webkit.org/show_bug.cgi?id=92298
1179
1180         Reviewed by Eric Seidel.
1181
1182         Strip formaction attribute values when the URL is of javascript protocol.
1183
1184         Test: editing/pasteboard/paste-noscript-xhtml.html
1185               editing/pasteboard/paste-noscript.html
1186
1187         * dom/Element.cpp:
1188         (WebCore::isAttributeToRemove): Explicitly compare with href and nohref instead of comparing
1189         the ends of strings since comparing two AtomicString is much faster.
1190
1191 2012-08-02  Elliott Sprehn  <esprehn@gmail.com>
1192
1193         Built in quotes don't use lang attribute
1194         https://bugs.webkit.org/show_bug.cgi?id=92918
1195
1196         Reviewed by Alexey Proskuryakov.
1197
1198         Previously even though there was a table in RenderQuote of languages mapped
1199         to quotes we always used basic quotes. This patch removes the broken tree
1200         walking and uses Element::computeInheritedLanguage fixing this.
1201
1202         Tests: fast/css-generated-content/quotes-lang-expected.html
1203                fast/css-generated-content/quotes-lang.html
1204                fast/css-generated-content/quotes-xml-lang-expected.html
1205                fast/css-generated-content/quotes-xml-lang.html
1206
1207         * rendering/RenderQuote.cpp:
1208         (WebCore::RenderQuote::originalText):
1209         (WebCore::RenderQuote::quotesData): New method that determines the right QuotesData to use.
1210         (WebCore):
1211         * rendering/RenderQuote.h:
1212         (RenderQuote):
1213
1214 2012-08-02  Adam Barth  <abarth@webkit.org>
1215
1216         Add back a header I mistakenly removed in my previous commit.
1217
1218         * WebCore.xcodeproj/project.pbxproj:
1219
1220 2012-08-02  Adrienne Walker  <enne@google.com>
1221
1222         [chromium] Remove dependency on Scrollbar.h from ScrollbarLayerChromium
1223         https://bugs.webkit.org/show_bug.cgi?id=93024
1224
1225         Reviewed by James Robinson.
1226
1227         Change part enum from the Scrollbar version to WebScrollbar's.
1228
1229         Tested by composited layout tests.
1230
1231         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
1232         (WebCore::ScrollbarBackgroundPainter::create):
1233         (WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter):
1234         (ScrollbarBackgroundPainter):
1235         (WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
1236
1237 2012-08-02  Adam Barth  <abarth@webkit.org>
1238
1239         BindingSecurityBase serves no purpose and should be removed
1240         https://bugs.webkit.org/show_bug.cgi?id=93025
1241
1242         Reviewed by Eric Seidel.
1243
1244         Now that we don't use templates in the generic bindings, we can merge
1245         BindingSecurity and BindingSecurityBase. This patch also removes some
1246         functions that are no longer used (and reduces the number of
1247         #includes).
1248
1249         No behavior change.
1250
1251         * GNUmakefile.list.am:
1252         * WebCore.gypi:
1253         * bindings/generic/BindingSecurity.h:
1254         (WebCore):
1255         (BindingSecurity):
1256         * bindings/generic/BindingSecurityBase.cpp: Removed.
1257         * bindings/generic/BindingSecurityBase.h: Removed.
1258         * bindings/v8/V8Binding.h:
1259         * bindings/v8/V8Utilities.cpp:
1260         * bindings/v8/custom/V8MutationObserverCustom.cpp:
1261
1262 2012-08-02  Ryosuke Niwa  <rniwa@webkit.org>
1263
1264         Let XCode have its own away and also sort the files.
1265
1266         * WebCore.xcodeproj/project.pbxproj:
1267
1268 2012-08-02  Tien-Ren Chen  <trchen@chromium.org>
1269
1270         [chromium] Add CCScrollbarAnimationController class for compositor scrollbar animation
1271         https://bugs.webkit.org/show_bug.cgi?id=91688
1272
1273         Reviewed by Adrienne Walker.
1274
1275         Add CCScrollbarAnimationController that serves as the middle man
1276         between the scrolling layer and scrollbar layer. Now all scroll offset
1277         information are pushed through the controller, and individual platform
1278         can provide specialized controller for extra processing.
1279
1280         A basic fadeout controller for Android scrollbar is included.
1281
1282         New test: ScrollbarLayerChromiumTest.scrollOffsetSynchronization
1283                   CCScrollbarAnimationControllerLinearFade.*
1284
1285         * WebCore.gypi:
1286         * page/FrameView.cpp:
1287         (WebCore::FrameView::calculateScrollbarModesForLayout):
1288         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1289         (WebCore::createScrollbarLayer):
1290         * platform/graphics/chromium/TreeSynchronizer.cpp:
1291         (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
1292         (WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):
1293         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1294         (WebCore::CCLayerImpl::scrollBy):
1295         (WebCore::CCLayerImpl::setMaxScrollPosition):
1296         (WebCore):
1297         (WebCore::CCLayerImpl::horizontalScrollbarLayer):
1298         (WebCore::CCLayerImpl::setHorizontalScrollbarLayer):
1299         (WebCore::CCLayerImpl::verticalScrollbarLayer):
1300         (WebCore::CCLayerImpl::setVerticalScrollbarLayer):
1301         * platform/graphics/chromium/cc/CCLayerImpl.h:
1302         (WebCore):
1303         (CCLayerImpl):
1304         (WebCore::CCLayerImpl::scrollbarAnimationController):
1305         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1306         (WebCore::CCLayerTreeHostImpl::animate):
1307         (WebCore::CCLayerTreeHostImpl::pinchGestureBegin):
1308         (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
1309         (WebCore::CCLayerTreeHostImpl::pinchGestureEnd):
1310         (WebCore::CCLayerTreeHostImpl::animateScrollbars):
1311         (WebCore):
1312         (WebCore::CCLayerTreeHostImpl::animateScrollbarsRecursive):
1313         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1314         (CCLayerTreeHostImpl):
1315         * platform/graphics/chromium/cc/CCScrollbarAnimationController.cpp: Added.
1316         (WebCore):
1317         (WebCore::CCScrollbarAnimationController::create):
1318         (WebCore::CCScrollbarAnimationController::CCScrollbarAnimationController):
1319         (WebCore::CCScrollbarAnimationController::~CCScrollbarAnimationController):
1320         (WebCore::CCScrollbarAnimationController::getScrollLayerBounds):
1321         (WebCore::CCScrollbarAnimationController::updateScrollOffset):
1322         * platform/graphics/chromium/cc/CCScrollbarAnimationController.h: Added.
1323         (WebCore):
1324         (CCScrollbarAnimationController):
1325         (WebCore::CCScrollbarAnimationController::animate):
1326         (WebCore::CCScrollbarAnimationController::didPinchGestureBegin):
1327         (WebCore::CCScrollbarAnimationController::didPinchGestureUpdate):
1328         (WebCore::CCScrollbarAnimationController::didPinchGestureEnd):
1329         (WebCore::CCScrollbarAnimationController::setHorizontalScrollbarLayer):
1330         (WebCore::CCScrollbarAnimationController::horizontalScrollbarLayer):
1331         (WebCore::CCScrollbarAnimationController::setVerticalScrollbarLayer):
1332         (WebCore::CCScrollbarAnimationController::verticalScrollbarLayer):
1333         * platform/graphics/chromium/cc/CCScrollbarAnimationControllerAndroid.cpp: Added.
1334         (WebCore):
1335         (WebCore::CCScrollbarAnimationController::create):
1336         (WebCore::CCScrollbarAnimationControllerAndroid::CCScrollbarAnimationControllerAndroid):
1337         (WebCore::CCScrollbarAnimationControllerAndroid::~CCScrollbarAnimationControllerAndroid):
1338         (WebCore::CCScrollbarAnimationControllerAndroid::animate):
1339         (WebCore::CCScrollbarAnimationControllerAndroid::didPinchGestureUpdate):
1340         (WebCore::CCScrollbarAnimationControllerAndroid::didPinchGestureEnd):
1341         (WebCore::CCScrollbarAnimationControllerAndroid::updateScrollOffset):
1342         (WebCore::CCScrollbarAnimationControllerAndroid::opacityAtTime):
1343         * platform/graphics/chromium/cc/CCScrollbarAnimationControllerAndroid.h: Added.
1344         (WebCore):
1345         (CCScrollbarAnimationControllerAndroid):
1346         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
1347         (WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
1348         (WebCore):
1349         (WebCore::CCScrollbarLayerImpl::CCScrollbar::value):
1350         (WebCore::CCScrollbarLayerImpl::CCScrollbar::currentPos):
1351         (WebCore::CCScrollbarLayerImpl::CCScrollbar::totalSize):
1352         (WebCore::CCScrollbarLayerImpl::CCScrollbar::maximum):
1353         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
1354         (WebCore::CCScrollbarLayerImpl::orientation):
1355         (WebCore::CCScrollbarLayerImpl::setCurrentPos):
1356         (WebCore::CCScrollbarLayerImpl::setTotalSize):
1357         (WebCore::CCScrollbarLayerImpl::setMaximum):
1358         (CCScrollbarLayerImpl):
1359
1360 2012-06-15  David Barton  <dbarton@mathscribe.com>
1361
1362         MathML: nested square root symbols have varying descenders
1363         https://bugs.webkit.org/show_bug.cgi?id=43819
1364
1365         Reviewed by Eric Seidel.
1366
1367         This bug stems from the use of offsetHeight() on a renderer that's possibly a
1368         RenderInline, in getBoxModelObjectHeight() in RenderMathMLBlock.h.
1369         RenderInline::offsetHeight() actually returns linesBoundingBox().height(), which can be
1370         overly large, especially for the big STIX fonts that include a few mathematical symbols
1371         with unusually tall ascenders or descenders. A better solution for MathML in general is
1372         the CSS properties { -webkit-line-box-contain: glyphs replaced; line-height: 0; }. This
1373         gives tight glyph-based formatting in radical expressions, subscripts, superscripts,
1374         underscripts, overscripts, numerators, denominators, etc. To make this work, inline
1375         elements such as <mn> and <mi> must be wrapped inside implicit <mrow>s or just
1376         RenderMathMLBlocks, when a tight height is desired. We also replace
1377         getBoxModelObjectWidth(), which uses offsetWidth(), with contentLogicalWidth(). Finally,
1378         we enable the STIXGeneral font for use inside layout tests.
1379
1380         Tested by existing LayoutTests/mathml/presentation/ files including roots.xhtml.
1381
1382         * css/mathml.css:
1383         (math):
1384         (mtext):
1385         (mroot > * + *):
1386         (mtd):
1387         * rendering/mathml/RenderMathMLBlock.cpp:
1388         (WebCore::RenderMathMLBlock::preferredLogicalHeightAfterSizing):
1389         (WebCore::RenderMathMLBlock::baselinePosition):
1390         * rendering/mathml/RenderMathMLBlock.h:
1391         * rendering/mathml/RenderMathMLFraction.cpp:
1392         (WebCore::RenderMathMLFraction::baselinePosition):
1393         * rendering/mathml/RenderMathMLOperator.cpp:
1394         (WebCore::RenderMathMLOperator::createStackableStyle):
1395         (WebCore::RenderMathMLOperator::baselinePosition):
1396         * rendering/mathml/RenderMathMLRoot.cpp:
1397         (WebCore::RenderMathMLRoot::addChild):
1398         (WebCore::RenderMathMLRoot::computePreferredLogicalWidths):
1399         (WebCore::RenderMathMLRoot::paint):
1400         * rendering/mathml/RenderMathMLRoot.h:
1401         * rendering/mathml/RenderMathMLSquareRoot.cpp:
1402         * rendering/mathml/RenderMathMLSquareRoot.h:
1403         * rendering/mathml/RenderMathMLSubSup.cpp:
1404         (WebCore::RenderMathMLSubSup::layout):
1405         * rendering/mathml/RenderMathMLUnderOver.cpp:
1406         (WebCore::RenderMathMLUnderOver::baselinePosition):
1407         * rendering/mathml/RenderMathMLUnderOver.h:
1408
1409 2012-08-02  Adrienne Walker  <enne@google.com>
1410
1411         [chromium] Make CCScrollbarLayerImpl handle lost contexts properly
1412         https://bugs.webkit.org/show_bug.cgi?id=93021
1413
1414         Reviewed by James Robinson.
1415
1416         The resource ids that CCScrollbarLayerImpl holds onto need to be
1417         discarded during a lost context as the resource provider they came
1418         from is also destroyed.
1419
1420         Make a scrollbarGeometry function that wraps all uses of the
1421         m_geometry member to make it possible to test CCScrollbarLayerImpl
1422         without depending on WebCore.
1423
1424         Test: CCLayerTreeHostImplTest.dontUseOldResourcesAfterLostContext
1425
1426         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
1427         (WebCore::CCScrollbarLayerImpl::scrollbarGeometry):
1428         (WebCore):
1429         (WebCore::CCScrollbarLayerImpl::appendQuads):
1430         (WebCore::CCScrollbarLayerImpl::didLoseContext):
1431         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
1432         (CCScrollbarLayerImpl):
1433
1434 2012-08-02  Oliver Hunt  <oliver@apple.com>
1435
1436         A few objects aren't being safely protected from GC in all cases
1437         https://bugs.webkit.org/show_bug.cgi?id=93031
1438
1439         Reviewed by Filip Pizlo.
1440
1441         I haven't seen evidence that anyone is hitting bugs due to this, but any
1442         GC error can lead to later -- hard to diagnose -- bugs if they result in
1443         resurrecting dead objects.
1444
1445         * bindings/js/JSCustomXPathNSResolver.cpp:
1446         (WebCore::JSCustomXPathNSResolver::create):
1447         (WebCore::JSCustomXPathNSResolver::JSCustomXPathNSResolver):
1448         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1449         * bindings/js/JSCustomXPathNSResolver.h:
1450         (JSCustomXPathNSResolver):
1451         * bindings/js/JSDictionary.cpp:
1452         (WebCore::JSDictionary::tryGetProperty):
1453         * bindings/js/JSDictionary.h:
1454         (WebCore::JSDictionary::JSDictionary):
1455         (WebCore::JSDictionary::initializerObject):
1456
1457 2012-08-02  Emil A Eklund  <eae@chromium.org>
1458
1459         Range::isPointInRange incorrectly throws WRONG_DOCUMENT_ERR
1460         https://bugs.webkit.org/show_bug.cgi?id=93009
1461
1462         Reviewed by Ojan Vafai.
1463
1464         The latest working draft of the DOM4 spec has all but killed the
1465         WRONG_DOCUMENT_ERR exception. Update isPointInRange to return false
1466         instead of throwing an exception when the range and point are in
1467         different documents. This matches the Mozilla behavior.
1468
1469         Test: fast/html/range-point-in-range-for-different-documents.html
1470
1471         * dom/Range.cpp:
1472         (WebCore::Range::isPointInRange):
1473         Return false instead of throwing WRONG_DOCUMENT_ERR when the point is in
1474         a different document.
1475
1476 2012-08-02  Erik Arvidsson  <arv@chromium.org>
1477
1478         DOM4: className should be defined on Element and not on HTMLElement
1479         https://bugs.webkit.org/show_bug.cgi?id=93014
1480
1481         Reviewed by Adam Barth.
1482
1483         DOM4 specs that Element should have the className WebIDL attribute. This moves the
1484         attribute to the correct IDL file.
1485
1486         Test: fast/dom/Element/class-name.html
1487
1488         * dom/Element.idl:
1489         * html/HTMLElement.idl:
1490
1491 2012-08-02  Erik Arvidsson  <arv@chromium.org>
1492
1493         [V8] Handle case where Error.prototype returns an empty object
1494         https://bugs.webkit.org/show_bug.cgi?id=91792
1495
1496         Reviewed by Kentaro Hara.
1497
1498         In some edge cases we get an empty object back from Error.prototype.
1499
1500         No new tests. I cannot reproduce this.
1501
1502         * bindings/v8/V8BindingPerContextData.cpp:
1503         (WebCore::V8BindingPerContextData::constructorForTypeSlowCase):
1504
1505 2012-08-02  Eric Seidel  <eric@webkit.org>
1506
1507         Add back ASSERT(!needsLayout) to RenderTableSection which is now valid
1508         https://bugs.webkit.org/show_bug.cgi?id=92954
1509
1510         Unreviewed, follow-up per Mitz's request.
1511
1512         * rendering/RenderTableSection.cpp:
1513         (WebCore::RenderTableSection::paint):
1514
1515 2012-08-02  James Robinson  <jamesr@chromium.org>
1516
1517         [chromium] Remove unused includes from compositor code
1518         https://bugs.webkit.org/show_bug.cgi?id=92930
1519
1520         Reviewed by Adrienne Walker.
1521
1522         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
1523         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
1524         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
1525
1526 2012-08-02  Adam Barth  <abarth@webkit.org>
1527
1528         The generic bindings shouldn't use templates
1529         https://bugs.webkit.org/show_bug.cgi?id=93016
1530
1531         Reviewed by Eric Seidel.
1532
1533         We originally created the generic bindings to share code between the
1534         JavaScriptCore and V8 bindings. However, the code came out sort of ugly
1535         because we used templates (with the idea that templates would let us
1536         use more than one scripting engine).
1537
1538         This patch rips out the templates in an attempt to make the code
1539         prettier and therefore easier to use in both V8 and JSC. I've tried to
1540         keep this patch small by remaning things mostly in place. In the next
1541         patch, I'll move a bunch of code out of headers and into cpp files.
1542
1543         No behavior change.
1544
1545         * GNUmakefile.am:
1546         * UseV8.cmake:
1547         * WebCore.gyp/WebCore.gyp:
1548         * WebCore.gypi:
1549         * WebCore.pri:
1550         * bindings/generic/BindingSecurity.h:
1551         (WebCore):
1552         (BindingSecurity):
1553         (WebCore::BindingSecurity::canAccessWindow):
1554         (WebCore::BindingSecurity::canAccessFrame):
1555         (WebCore::BindingSecurity::shouldAllowAccessToNode):
1556         (WebCore::BindingSecurity::allowPopUp):
1557         (WebCore::BindingSecurity::allowSettingFrameSrcToJavascriptUrl):
1558         (WebCore::BindingSecurity::allowSettingSrcToJavascriptURL):
1559         * bindings/generic/GenericBinding.h:
1560         (WebCore::completeURL):
1561         * bindings/scripts/CodeGeneratorV8.pm:
1562         (GenerateDomainSafeFunctionGetter):
1563         (GenerateNormalAttrGetter):
1564         (GenerateReplaceableAttrSetter):
1565         (GenerateFunctionCallback):
1566         (GenerateImplementation):
1567         * bindings/scripts/test/V8/V8Float64Array.cpp:
1568         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1569         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
1570         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1571         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1572         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1573         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1574         * bindings/scripts/test/V8/V8TestException.cpp:
1575         * bindings/scripts/test/V8/V8TestInterface.cpp:
1576         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1577         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1578         * bindings/scripts/test/V8/V8TestNode.cpp:
1579         * bindings/scripts/test/V8/V8TestObj.cpp:
1580         (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
1581         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
1582         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1583         * bindings/v8/BindingState.cpp: Renamed from Source/WebCore/bindings/v8/specialization/V8BindingState.cpp.
1584         (WebCore):
1585         (WebCore::BindingState::instance):
1586         (WebCore::activeWindow):
1587         (WebCore::firstWindow):
1588         (WebCore::activeFrame):
1589         (WebCore::firstFrame):
1590         (WebCore::immediatelyReportUnsafeAccessTo):
1591         * bindings/v8/BindingState.h: Renamed from Source/WebCore/bindings/v8/specialization/V8BindingState.h.
1592         (WebCore):
1593         (BindingState):
1594         * bindings/v8/ScriptController.cpp:
1595         (WebCore::ScriptController::canAccessFromCurrentOrigin):
1596         * bindings/v8/V8Binding.h:
1597         (WebCore):
1598         * bindings/v8/V8DOMWindowShell.cpp:
1599         * bindings/v8/V8Proxy.cpp:
1600         * bindings/v8/V8Utilities.cpp:
1601         (WebCore::callingOrEnteredFrame):
1602         (WebCore::completeURL):
1603         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1604         (WebCore::WindowSetTimeoutImpl):
1605         (WebCore::V8DOMWindow::eventAccessorGetter):
1606         (WebCore::V8DOMWindow::eventAccessorSetter):
1607         (WebCore::V8DOMWindow::locationAccessorSetter):
1608         (WebCore::V8DOMWindow::openerAccessorSetter):
1609         (WebCore::V8DOMWindow::addEventListenerCallback):
1610         (WebCore::V8DOMWindow::removeEventListenerCallback):
1611         (WebCore::V8DOMWindow::showModalDialogCallback):
1612         (WebCore::V8DOMWindow::openCallback):
1613         (WebCore::V8DOMWindow::namedSecurityCheck):
1614         (WebCore::V8DOMWindow::indexedSecurityCheck):
1615         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
1616         (WebCore::V8Document::locationAccessorSetter):
1617         * bindings/v8/custom/V8EntryCustom.cpp:
1618         * bindings/v8/custom/V8EntrySyncCustom.cpp:
1619         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
1620         (WebCore::V8HTMLFrameElement::locationAccessorSetter):
1621         * bindings/v8/custom/V8HistoryCustom.cpp:
1622         (WebCore::V8History::indexedSecurityCheck):
1623         (WebCore::V8History::namedSecurityCheck):
1624         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1625         * bindings/v8/custom/V8InjectedScriptManager.cpp:
1626         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
1627         * bindings/v8/custom/V8LocationCustom.cpp:
1628         (WebCore::V8Location::hashAccessorSetter):
1629         (WebCore::V8Location::hostAccessorSetter):
1630         (WebCore::V8Location::hostnameAccessorSetter):
1631         (WebCore::V8Location::hrefAccessorSetter):
1632         (WebCore::V8Location::pathnameAccessorSetter):
1633         (WebCore::V8Location::portAccessorSetter):
1634         (WebCore::V8Location::protocolAccessorSetter):
1635         (WebCore::V8Location::searchAccessorSetter):
1636         (WebCore::V8Location::reloadAccessorGetter):
1637         (WebCore::V8Location::replaceAccessorGetter):
1638         (WebCore::V8Location::assignAccessorGetter):
1639         (WebCore::V8Location::reloadCallback):
1640         (WebCore::V8Location::replaceCallback):
1641         (WebCore::V8Location::assignCallback):
1642         (WebCore::V8Location::toStringCallback):
1643         (WebCore::V8Location::indexedSecurityCheck):
1644         (WebCore::V8Location::namedSecurityCheck):
1645         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1646         * bindings/v8/custom/V8NodeCustom.cpp:
1647
1648 2012-08-02  Abhishek Arya  <inferno@chromium.org>
1649
1650         No isChildAllowed checked when adding RenderFullScreen as the child..
1651         https://bugs.webkit.org/show_bug.cgi?id=92995
1652
1653         Reviewed by Eric Seidel.
1654
1655         Test: fullscreen/fullscreen-child-not-allowed-crash.html
1656
1657         * dom/Document.cpp:
1658         (WebCore::Document::webkitWillEnterFullScreenForElement): pass the object's parent
1659         pointer as an additional argument.
1660         * dom/NodeRenderingContext.cpp:
1661         (WebCore::NodeRendererFactory::createRendererIfNeeded): pass the to be parent |parentRenderer|
1662         as the argument. 
1663         * rendering/RenderFullScreen.cpp:
1664         (RenderFullScreen::wrapRenderer): make sure that parent allows RenderFullScreen as the child.
1665         * rendering/RenderFullScreen.h: 
1666         (RenderFullScreen): support the object's parent
1667         pointer as an additional argument.
1668
1669 2012-08-01  James Robinson  <jamesr@chromium.org>
1670
1671         [chromium] Wrap shared context getters in WebKit API and avoid WebCore::GraphicsContext3D use in compositor internals
1672         https://bugs.webkit.org/show_bug.cgi?id=92917
1673
1674         Reviewed by Adrienne Walker.
1675
1676         This uses Platform API wrappers to access the shared WebGraphicsContext3D / Ganesh contexts from the compositor
1677         to evaluate accelerated filters or do accelerated painting.
1678
1679         Filters changes covered by css3/filters/*-hw.html layout tests.
1680
1681         * WebCore.gypi:
1682         * platform/chromium/support/WebSharedGraphicsContext3D.cpp:
1683         (WebKit):
1684         (WebKit::WebSharedGraphicsContext3D::mainThreadContext):
1685         (WebKit::WebSharedGraphicsContext3D::mainThreadGrContext):
1686         (WebKit::WebSharedGraphicsContext3D::compositorThreadContext):
1687         (WebKit::WebSharedGraphicsContext3D::compositorThreadGrContext):
1688         (WebKit::WebSharedGraphicsContext3D::haveCompositorThreadContext):
1689         (WebKit::WebSharedGraphicsContext3D::createCompositorThreadContext):
1690         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
1691         (WebCore::createAcceleratedCanvas):
1692         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
1693         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
1694         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
1695         (WebKit):
1696         (FrameBufferSkPictureCanvasLayerTextureUpdater):
1697         * platform/graphics/chromium/LayerRendererChromium.cpp:
1698         (WebCore::applyFilters):
1699         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
1700         (WebCore::CCRenderSurfaceFilters::apply):
1701         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.h:
1702         (WebKit):
1703         (CCRenderSurfaceFilters):
1704
1705 2012-08-02  Beth Dakin  <bdakin@apple.com>
1706
1707         https://bugs.webkit.org/show_bug.cgi?id=93020
1708         REGRESSION (tiled scrolling): Full-screen video is broken if page is 
1709         scrolled
1710         -and corresponding-
1711         <rdar://problem/11629778>
1712
1713         Reviewed by Anders Carlsson.
1714
1715         The bug here is that ScrollingTreeNodeMac::setScrollLayerPosition() 
1716         uses the CALayer (PlatformLayer) directly to set the position. That 
1717         means that the GraphicsLayer that owns that PlatformLayer does not 
1718         have updated position information. That results in this bug when we 
1719         switch from fast scrolling to main thread scrolling, because at that 
1720         point, the GraphicsLayer needs to have the correct information. So 
1721         make sure to update the main thread scroll position and layer 
1722         position before transitioning to main thread scrolling.
1723         * page/scrolling/ScrollingCoordinator.cpp:
1724         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1725
1726 2012-08-02  Addy Osmani  <addyo@chromium.org>
1727
1728         Web Inspector: Rename 'User agent' to 'Overrides' in settings screen
1729         https://bugs.webkit.org/show_bug.cgi?id=92990
1730
1731         Reviewed by Pavel Feldman.
1732
1733         Simple setting rename of User agent -> Overrides
1734
1735         * English.lproj/localizedStrings.js:
1736         * inspector/front-end/SettingsScreen.js:
1737
1738 2012-08-02  Philip Rogers  <pdr@google.com>
1739
1740         Do not dispatch modification events in SVG attribute synchronization
1741         https://bugs.webkit.org/show_bug.cgi?id=92604
1742
1743         Reviewed by Ryosuke Niwa.
1744
1745         Previously, calling hasAttribute() during layout could hit a
1746         layout-during-layout bug because calling hasAttribute() could dispatch a 
1747         subtree modification event which could synchronously force a layout. hasAttribute()
1748         exhibits this behavior because property synchronization is done lazily.
1749
1750         This patch skips dispatching subtree modification events during attribute
1751         synchronization.
1752
1753         Additionally, this patch contains a refactoring of lazy attribute setting. We
1754         now have a single place where lazy attributes are set (setSynchronizedLazyAttribute)
1755         and lazy attribute flags have been moved to just Element and ElementAttributeData.
1756
1757         Test: svg/custom/path-domsubtreemodified-crash.html
1758
1759         * dom/Element.cpp:
1760         (WebCore::Element::setAttribute):
1761         (WebCore::Element::setSynchronizedLazyAttribute):
1762         (WebCore):
1763         (WebCore::Element::setAttributeInternal):
1764         * dom/Element.h:
1765         (Element):
1766         * dom/ElementAttributeData.cpp:
1767         (WebCore::ElementAttributeData::addAttribute):
1768         (WebCore::ElementAttributeData::removeAttribute):
1769         * dom/ElementAttributeData.h:
1770         (ElementAttributeData):
1771         * dom/StyledElement.cpp:
1772         (WebCore::StyledElement::updateStyleAttribute):
1773         * svg/properties/SVGAnimatedPropertyMacros.h:
1774         (WebCore::SVGSynchronizableAnimatedProperty::synchronize):
1775
1776 2012-08-02  Konrad Piascik  <kpiascik@rim.com>
1777
1778         Web Inspector: Override the DeviceOrientation
1779         https://bugs.webkit.org/show_bug.cgi?id=91008
1780
1781         Reviewed by Pavel Feldman.
1782
1783         Re-added the m_page member variable to DeviceOrientationController and
1784         added InspectorInstrumentation to see if the DeviceOrientationData
1785         should be overridden or not.
1786
1787         Added UI to the web inspector front-end to allow users to override the
1788         device orientation.  This is currently hidden behind an experiment.
1789
1790         Test: inspector/device-orientation-success.html
1791
1792         * English.lproj/localizedStrings.js:
1793         * dom/DeviceOrientationController.cpp:
1794         (WebCore::DeviceOrientationController::DeviceOrientationController):
1795         (WebCore::DeviceOrientationController::create):
1796         (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
1797         (WebCore::provideDeviceOrientationTo):
1798         * dom/DeviceOrientationController.h:
1799         (DeviceOrientationController):
1800         * inspector/Inspector.json:
1801         * inspector/InspectorInstrumentation.cpp:
1802         (WebCore):
1803         (WebCore::InspectorInstrumentation::overrideDeviceOrientationImpl):
1804         * inspector/InspectorInstrumentation.h:
1805         (WebCore):
1806         (InspectorInstrumentation):
1807         (WebCore::InspectorInstrumentation::overrideDeviceOrientation):
1808         * inspector/InspectorPageAgent.cpp:
1809         (WebCore::InspectorPageAgent::setDeviceOrientationOverride):
1810         (WebCore):
1811         (WebCore::InspectorPageAgent::clearDeviceOrientationOverride):
1812         (WebCore::InspectorPageAgent::canOverrideDeviceOrientation):
1813         (WebCore::InspectorPageAgent::overrideDeviceOrientation):
1814         * inspector/InspectorPageAgent.h:
1815         * inspector/front-end/Settings.js:
1816         (WebInspector.ExperimentsSettings):
1817         * inspector/front-end/SettingsScreen.js:
1818         (WebInspector.UserAgentSettingsTab):
1819         (WebInspector.UserAgentSettingsTab.prototype._createInput):
1820         (WebInspector.UserAgentSettingsTab.prototype._createDeviceMetricsElement):
1821         (WebInspector.UserAgentSettingsTab.prototype._createGeolocationOverrideElement):
1822         (WebInspector.UserAgentSettingsTab.prototype._onDeviceOrientationOverrideCheckboxClicked):
1823         (WebInspector.UserAgentSettingsTab.prototype._applyDeviceOrientationUserInput):
1824         (WebInspector.UserAgentSettingsTab.prototype._setDeviceOrientation.set if):
1825         (WebInspector.UserAgentSettingsTab.prototype._setDeviceOrientation):
1826         (WebInspector.UserAgentSettingsTab.prototype._createDeviceOrientationOverrideElement):
1827         * inspector/front-end/UserAgentSupport.js:
1828         (WebInspector.UserAgentSupport.DeviceOrientation):
1829         (WebInspector.UserAgentSupport.DeviceOrientation.prototype.toSetting):
1830         (WebInspector.UserAgentSupport.DeviceOrientation.parseSetting):
1831         (WebInspector.UserAgentSupport.DeviceOrientation.parseUserInput):
1832         (WebInspector.UserAgentSupport.DeviceOrientation.clearDeviceOrientationOverride):
1833         * inspector/front-end/inspector.js:
1834         (WebInspector.doLoadedDone):
1835
1836 2012-08-02  Arnaud Renevier  <a.renevier@sisa.samsung.com>
1837
1838         TypedArray set method is slow when called with another typed array
1839         https://bugs.webkit.org/show_bug.cgi?id=92556
1840
1841         Reviewed by Kenneth Russell.
1842
1843         When setting multiples values to a typed array from an array like
1844         element, try to determine if the argument is a typed array. If so,
1845         cast the argument to a typed array, and read each element with .item()
1846         method. That avoid reading the value as a JSValue, and speedups set
1847         method by approximatively 10x.
1848
1849         Introduce setWebGLArrayWithTypedArrayArgument template function which
1850         checks if argument is a typed array. If so, it copies the data to
1851         target typed array and returns true. Otherwise, it returns false.
1852
1853         Introduce copyTypedArrayBuffer template function which copies data
1854         from a typed array to another one. This function is also used from
1855         constructArrayBufferViewWithTypedArrayArgument.
1856
1857         * bindings/js/JSArrayBufferViewHelper.h:
1858         (WebCore):
1859         (WebCore::copyTypedArrayBuffer):
1860         (WebCore::setWebGLArrayWithTypedArrayArgument):
1861         (WebCore::setWebGLArrayHelper):
1862         (WebCore::constructArrayBufferViewWithTypedArrayArgument):
1863         * bindings/js/JSFloat32ArrayCustom.cpp:
1864         (WebCore::JSFloat32Array::set):
1865         * bindings/js/JSFloat64ArrayCustom.cpp:
1866         (WebCore::JSFloat64Array::set):
1867         * bindings/js/JSInt16ArrayCustom.cpp:
1868         (WebCore::JSInt16Array::set):
1869         * bindings/js/JSInt32ArrayCustom.cpp:
1870         (WebCore::JSInt32Array::set):
1871         * bindings/js/JSInt8ArrayCustom.cpp:
1872         (WebCore::JSInt8Array::set):
1873         * bindings/js/JSUint16ArrayCustom.cpp:
1874         (WebCore::JSUint16Array::set):
1875         * bindings/js/JSUint32ArrayCustom.cpp:
1876         (WebCore::JSUint32Array::set):
1877         * bindings/js/JSUint8ArrayCustom.cpp:
1878         (WebCore::JSUint8Array::set):
1879         * bindings/js/JSUint8ClampedArrayCustom.cpp:
1880         (WebCore::JSUint8ClampedArray::set):
1881
1882 2012-08-02  Chris Fleizach  <cfleizach@apple.com>
1883
1884         AXEnabled = false for AXIncrementors inside text fields
1885         https://bugs.webkit.org/show_bug.cgi?id=93008
1886
1887         Reviewed by Anders Carlsson.
1888
1889         Mock objects should return "enabled" by default, since they are valid objects.
1890
1891         * accessibility/AccessibilityMockObject.h:
1892         (WebCore::AccessibilityMockObject::isEnabled):
1893         (AccessibilityMockObject):
1894
1895 2012-08-02  Eric Seidel  <eric@webkit.org>
1896
1897         Add back ASSERT(!needsLayout) to RenderTableSection which is now valid
1898         https://bugs.webkit.org/show_bug.cgi?id=92954
1899
1900         Reviewed by Julien Chaffraix.
1901
1902         * rendering/RenderTableSection.cpp:
1903         (WebCore::RenderTableSection::paint):
1904
1905 2012-08-02  Kevin Ellis  <kevers@chromium.org>
1906
1907         Month-year selector on calendar picker should be touch friendly.
1908         https://bugs.webkit.org/show_bug.cgi?id=92678
1909
1910         Reviewed by Kent Tamura.
1911
1912         Previously the month-year popup menu was implemented using a listbox,
1913         which does not support CSS customization.  Entries in the listbox
1914         were too shallow to reliably target with touch gestures.  The
1915         replacement popup is CSS configurable with larger entries on devices
1916         that support touch input.
1917
1918         Manually tested with and without touch support in English, Japanese
1919         and Arabic.
1920
1921         * Resources/calendarPicker.css:
1922         (.month-selector-popup): Update to use scrollable div instead of listbox.
1923         (.month-selector-popup-contents): Render popup as a table within a scrollable div.
1924         (.month-selector-popup-entry): Formatting entries in the month-year popup.
1925         (.selected-month-year): Highlight the selected month-year.
1926         (@media (pointer:coarse)): Enlarge entries in the popup meu on devices that support touch.
1927         * Resources/calendarPicker.js:
1928         (YearMonthController.prototype.attachTo): Change selector popup from a list-box to a div.
1929         (YearMonthController.prototype._redraw): Populate table based popup rather than listbox.
1930         (YearMonthController.prototype._showPopup): Set scroll position and resize for scrollbar.
1931         (YearMonthController.prototype._closePopup): Restore focus to the calendar.
1932         (YearMonthController.prototype._getSelection): Added to retrieve the selected month-year.
1933         (YearMonthController.prototype._handleMouseMove): Added to update selected month-year on hover.
1934         (YearMonthController.prototype._handleMonthPopupKey): Add keyboard navigation.
1935         (YearMonthController.prototype._handleYearMonthChange): Retrieve value from selected month-year.
1936
1937 2012-08-02  Vsevolod Vlasov  <vsevik@chromium.org>
1938
1939         Web Inspector: [Regression] context menu does not open on Sources panel tabs on mac
1940         https://bugs.webkit.org/show_bug.cgi?id=93000
1941
1942         Reviewed by Pavel Feldman.
1943
1944         * inspector/front-end/UIUtils.js:
1945         (WebInspector._elementDragStart):
1946
1947 2012-08-02  Kwang Yul Seo  <skyul@company100.net>
1948
1949         Check if the last table element's parent node is an element when determining the foster parent element.
1950         https://bugs.webkit.org/show_bug.cgi?id=92977
1951
1952         Reviewed by Adam Barth.
1953
1954         According to the HTML5 spec, if the last table element in the stack of open elements has no parent,
1955         or ITS PARENT NODE IS NOT AN ELEMENT, then the foster parent element is the element
1956         before the last table element in the stack of open elements.
1957
1958         Changed to check if the table element's parent node is an element.
1959
1960         Test: fast/parser/foster-parent.html
1961
1962         * html/parser/HTMLConstructionSite.cpp:
1963         (WebCore::HTMLConstructionSite::findFosterSite):
1964
1965 2012-08-02  Philippe Normand  <pnormand@igalia.com>
1966
1967         [GStreamer] Use GST_DEBUG instead of LOG_VERBOSE
1968         https://bugs.webkit.org/show_bug.cgi?id=89350
1969
1970         Reviewed by Martin Robinson.
1971
1972         Wrap the media player's logging calls to a new macro that also
1973         hooks into GStreamer's logging facilities. This way the developer
1974         gets the best of both worlds, leaving the choice between GST_DEBUG
1975         and WEBKIT_DEBUG environment variables.
1976
1977         * platform/graphics/gstreamer/GStreamerUtilities.h:
1978         (WebCore):
1979         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1980         (WebCore::initializeGStreamerAndRegisterWebKitElements):
1981         (WebCore::MediaPlayerPrivateGStreamer::load):
1982         (WebCore::MediaPlayerPrivateGStreamer::commitLoad):
1983         (WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
1984         (WebCore::MediaPlayerPrivateGStreamer::play):
1985         (WebCore::MediaPlayerPrivateGStreamer::pause):
1986         (WebCore::MediaPlayerPrivateGStreamer::duration):
1987         (WebCore::MediaPlayerPrivateGStreamer::seek):
1988         (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
1989         (WebCore::MediaPlayerPrivateGStreamer::setRate):
1990         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
1991         (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):
1992         (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
1993         (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
1994         (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
1995         (WebCore::MediaPlayerPrivateGStreamer::didLoadingProgress):
1996
1997 2012-08-02  Antti Koivisto  <antti@apple.com>
1998
1999         Inline stylesheets can confuse style sharing
2000         https://bugs.webkit.org/show_bug.cgi?id=92970
2001
2002         Reviewed by Dan Bernstein.
2003
2004         Consider document 
2005         
2006         <div class="i30"></div>
2007         <style>.i30 { background-color:green; }</style>
2008         <div class="i30"></div>
2009         
2010         When processing the <style> element the scope optimization marks the first div as needing style recalc. 
2011         Next the parser adds the second div to the tree and immediately calculates its style. Since it looks exactly 
2012         like the first div the style sharing optimization copies the style from there. The pending recalc of the
2013         first div is resolved by a timer but the second div is left with the old style.
2014         
2015         Fix by disallowing style sharing from elements with pending style recalc.
2016
2017         Test: fast/css/style-sharing-inline-stylesheet.html
2018
2019         * css/StyleResolver.cpp:
2020         (WebCore::StyleResolver::canShareStyleWithElement):
2021
2022 2012-08-02  Tommy Widenflycht  <tommyw@google.com>
2023
2024         MediaStream API: Add RTCPeerConnectionHandler infrastructure
2025         https://bugs.webkit.org/show_bug.cgi?id=92866
2026
2027         Reviewed by Adam Barth.
2028
2029         Introducing RTCPeerConnectionHandler & RTCPeerConnectionHandlerClient,
2030         together with the Chromium WebKit interface, following the pattern of
2031         the previous PeerConnection00Handler but with the optimizations from MediaStreamCenter.
2032
2033         Not yet testable due to not enough code landed.
2034
2035         * CMakeLists.txt:
2036         * GNUmakefile.list.am:
2037         * Modules/mediastream/RTCPeerConnection.cpp:
2038         (WebCore::RTCPeerConnection::create):
2039         (WebCore::RTCPeerConnection::RTCPeerConnection):
2040         * Modules/mediastream/RTCPeerConnection.h:
2041         (RTCPeerConnection):
2042         * WebCore.gypi:
2043         * platform/mediastream/RTCPeerConnectionHandler.cpp: Added.
2044         (WebCore):
2045         (RTCPeerConnectionHandlerDummy):
2046         (WebCore::RTCPeerConnectionHandler::create):
2047         (WebCore::RTCPeerConnectionHandlerDummy::RTCPeerConnectionHandlerDummy):
2048         (WebCore::RTCPeerConnectionHandlerDummy::~RTCPeerConnectionHandlerDummy):
2049         (WebCore::RTCPeerConnectionHandlerDummy::initialize):
2050         * platform/mediastream/RTCPeerConnectionHandler.h: Copied from Source/WebCore/Modules/mediastream/RTCPeerConnection.h.
2051         (WebCore):
2052         (RTCPeerConnectionHandler):
2053         (WebCore::RTCPeerConnectionHandler::~RTCPeerConnectionHandler):
2054         (WebCore::RTCPeerConnectionHandler::RTCPeerConnectionHandler):
2055         * platform/mediastream/RTCPeerConnectionHandlerClient.h: Copied from Source/WebCore/Modules/mediastream/RTCPeerConnection.h.
2056         (WebCore):
2057         (RTCPeerConnectionHandlerClient):
2058         (WebCore::RTCPeerConnectionHandlerClient::~RTCPeerConnectionHandlerClient):
2059         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: Added.
2060         (WebCore):
2061         (WebCore::RTCPeerConnectionHandler::create):
2062         (WebCore::RTCPeerConnectionHandlerChromium::RTCPeerConnectionHandlerChromium):
2063         (WebCore::RTCPeerConnectionHandlerChromium::~RTCPeerConnectionHandlerChromium):
2064         (WebCore::RTCPeerConnectionHandlerChromium::initialize):
2065         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: Added.
2066         (WebCore):
2067         (RTCPeerConnectionHandlerChromium):
2068
2069 2012-08-02  Kent Tamura  <tkent@chromium.org>
2070
2071         Move number localization code in LocaleICU.cpp to new class
2072         https://bugs.webkit.org/show_bug.cgi?id=92976
2073
2074         Reviewed by Kentaro Hara.
2075
2076         The number localization code by character mapping is usefull for non-ICU
2077         platforms.
2078
2079         No new tests. This is just a refactoring, and is covered by
2080         Source/WebKit/chromium/tests/LocalizedNumberICUTest.cpp.
2081
2082         * WebCore.gypi: Add NumberLocalizer.{cpp,h}.
2083         * platform/text/LocaleICU.cpp:
2084         (WebCore::LocaleICU::decimalSymbol):
2085         Renamed from setDecimalSymbol. This function returns the resultant
2086         string instead of setting it to a data member.
2087         (WebCore::LocaleICU::decimalTextAttribute):
2088         Renamed from setDecimalTextAttributel. This function returns the
2089         resultant string instead of setting it to the specified string.
2090         (WebCore::LocaleICU::initializeNumberLocalizerData):
2091         Renamed from initializeDecimalFormat.
2092         Calls NumberLocaizer::setNumberLocalizerData.
2093         (WebCore::LocaleICU::localizedDecimalSeparator):
2094         Rename initializeDecimalFormat to initializeNumberLocalizerData.
2095         * platform/text/LocaleICU.h:
2096         (LocaleICU): Remove some members, and inherit NumberLocalizer.
2097         * platform/text/NumberLocalizer.cpp: Added. Move the code from LocaleICU.cpp
2098         (WebCore):
2099         (WebCore::NumberLocalizer::~NumberLocalizer):
2100         (WebCore::NumberLocalizer::setNumberLocalizerData): Added.
2101         (WebCore::NumberLocalizer::convertToLocalizedNumber):
2102         (WebCore::matches):
2103         (WebCore::NumberLocalizer::detectSignAndGetDigitRange):
2104         (WebCore::NumberLocalizer::matchedDecimalSymbolIndex):
2105         (WebCore::NumberLocalizer::convertFromLocalizedNumber):
2106         (WebCore::NumberLocalizer::localizedDecimalSeparator):
2107         * platform/text/NumberLocalizer.h: Added.
2108         (NumberLocalizer):
2109         (WebCore::NumberLocalizer::NumberLocalizer):
2110
2111 2012-08-02  Alexander Pavlov  <apavlov@chromium.org>
2112
2113         Web Inspector: Move DOM breakpoints-related context menu items into a submenu
2114         https://bugs.webkit.org/show_bug.cgi?id=92989
2115
2116         Reviewed by Vsevolod Vlasov.
2117
2118         A "Break on..." submenu is added to the element context menu, to host all DOM breakpoint items.
2119
2120         * English.lproj/localizedStrings.js:
2121         * inspector/front-end/DOMBreakpointsSidebarPane.js:
2122         (WebInspector.DOMBreakpointsSidebarPane):
2123         (WebInspector.DOMBreakpointsSidebarPane.prototype.populateNodeContextMenu):
2124
2125 2012-08-02  Dominik Röttsches  <dominik.rottsches@intel.com>
2126
2127         [Cairo] Add complex font drawing using HarfbuzzNG
2128         https://bugs.webkit.org/show_bug.cgi?id=91864
2129
2130         Reviewed by Martin Robinson.
2131
2132         Unfortunately the Freetype based approach that avoids allocations and UTF8 conversion
2133         fails to produce correct results for some tests.
2134
2135         No new tests, at least
2136           fast/dom/52776.html
2137           fast/text/atsui-negative-spacing-features.html
2138           fast/text/atsui-spacing-features.html
2139         expose this problem.
2140
2141         * platform/graphics/harfbuzz/ng/HarfBuzzNGFaceCairo.cpp:
2142         (WebCore::harfbuzzGetGlyph): Revert to initial cairo_scaled_font based approach.
2143
2144 2012-08-02  Eugene Klyuchnikov  <eustas.big@gmail.com>
2145
2146         Web Inspector: Fix protocol version check.
2147         https://bugs.webkit.org/show_bug.cgi?id=91497
2148
2149         Reviewed by Pavel Feldman.
2150
2151         Generated method 'supportsInspectorProtocolVersion' should return
2152         false when requested  minor version is *greater* than actual
2153         minor version.
2154
2155         * inspector/generate-inspector-protocol-version: Fixed stub text
2156
2157 2012-08-02  Alexei Filippov  <alexeif@chromium.org>
2158
2159         Web Inspector: count RenderStyle objects in the native memory profiler
2160         https://bugs.webkit.org/show_bug.cgi?id=91759
2161
2162         Reviewed by Yury Semikhatsky.
2163
2164         The patch adds instrumentation to the following classes:
2165           - RenderStyle
2166           - StyleRareInheritedData
2167           - StyleRareNonInheritedData
2168
2169         * bindings/js/ScriptWrappable.h:
2170         * bindings/v8/ScriptWrappable.h:
2171         * dom/MemoryInstrumentation.h:
2172         (WebCore):
2173         (WebCore::MemoryInstrumentation::OwningTraits::addObject):
2174         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
2175         (WebCore::MemoryInstrumentation::addObjectImpl):
2176         * dom/Node.cpp:
2177         (WebCore::Node::reportMemoryUsage):
2178         * dom/Node.h:
2179         (WebCore):
2180         * rendering/style/RenderStyle.cpp:
2181         (WebCore::RenderStyle::reportMemoryUsage):
2182         (WebCore):
2183         * rendering/style/RenderStyle.h:
2184         (WebCore):
2185         * rendering/style/StyleRareInheritedData.cpp:
2186         (WebCore::StyleRareInheritedData::reportMemoryUsage):
2187         (WebCore):
2188         * rendering/style/StyleRareInheritedData.h:
2189         (WebCore):
2190         (StyleRareInheritedData):
2191         * rendering/style/StyleRareNonInheritedData.cpp:
2192         (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
2193         (WebCore):
2194         * rendering/style/StyleRareNonInheritedData.h:
2195         (WebCore):
2196         (StyleRareNonInheritedData):
2197
2198 2012-08-02  Alexei Filippov  <alexeif@chromium.org>
2199
2200         Web Inspector: rename host->origin in the inspector protocol DOMStorage entry
2201         https://bugs.webkit.org/show_bug.cgi?id=92979
2202
2203         Reviewed by Yury Semikhatsky.
2204
2205         * inspector/Inspector.json:
2206         * inspector/InspectorDOMStorageResource.cpp:
2207         (WebCore::InspectorDOMStorageResource::bind):
2208         * inspector/front-end/DOMStorage.js:
2209         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
2210
2211 2012-08-02  Kihong Kwon  <kihong.kwon@samsung.com>
2212
2213         [EFL] Change return value of battey level
2214         https://bugs.webkit.org/show_bug.cgi?id=92964
2215
2216         Reviewed by Simon Hausmann.
2217
2218         Change return value of navigator.webkitBattery.level from 0~100 to 0~1.0.
2219         Battery level have to returns 0~1.0 by Battery Status API spec.
2220
2221         * platform/efl/BatteryProviderEfl.cpp:
2222         (WebCore::BatteryProviderEfl::setBatteryClient):
2223
2224 2012-08-02  Yury Semikhatsky  <yurys@chromium.org>
2225
2226         Web Inspector: remove extraObjectSize parameter from MemoryClassInfo constructor
2227         https://bugs.webkit.org/show_bug.cgi?id=92981
2228
2229         Reviewed by Alexander Pavlov.
2230
2231         Refactored MemoryInstrumentation to get rid of extraSize parameter from
2232         MemoryObjectInfo constructor and MemoryObjectInfo::reportObjectInfo. The
2233         extra size should always be reported as an object that occupies these extra
2234         bytes.
2235
2236         * dom/ElementAttributeData.cpp:
2237         (WebCore::ElementAttributeData::reportMemoryUsage):
2238         (WebCore):
2239         * dom/ElementAttributeData.h:
2240         (WebCore):
2241         (ElementAttributeData):
2242         * dom/MemoryInstrumentation.h:
2243         (WebCore::MemoryObjectInfo::reportObjectInfo):
2244         (WebCore::MemoryClassInfo::MemoryClassInfo):
2245
2246 2012-08-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2247
2248         Unreviewed, rolling out r124439.
2249         http://trac.webkit.org/changeset/124439
2250         https://bugs.webkit.org/show_bug.cgi?id=92980
2251
2252         Broke Chromium Mac Release compile (Requested by apavlov on
2253         #webkit).
2254
2255         * CMakeLists.txt:
2256         * GNUmakefile.list.am:
2257         * Modules/mediastream/RTCPeerConnection.cpp:
2258         (WebCore::RTCPeerConnection::create):
2259         (WebCore::RTCPeerConnection::RTCPeerConnection):
2260         * Modules/mediastream/RTCPeerConnection.h:
2261         * WebCore.gypi:
2262         * platform/mediastream/RTCPeerConnectionHandler.cpp: Removed.
2263         * platform/mediastream/RTCPeerConnectionHandler.h: Removed.
2264         * platform/mediastream/RTCPeerConnectionHandlerClient.h: Removed.
2265         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: Removed.
2266         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: Removed.
2267
2268 2012-08-02  Simon Hausmann  <simon.hausmann@nokia.com>
2269
2270         [Qt] Uninitialized memory read in QObject runtime bridge
2271         https://bugs.webkit.org/show_bug.cgi?id=92972
2272
2273         Reviewed by Kenneth Rohde Christiansen.
2274
2275         The vargs array has an initial size of 0 and when calling a method with no return value
2276         and no arguments, vargs remains empty. Therefore unconditional access to vargs[0] results
2277         in access to uninitialized memory.
2278
2279         No new tests, covered by valgrind in existing qobjectbridge tests.
2280
2281         * bridge/qt/qt_runtime.cpp:
2282         (JSC::Bindings::QtRuntimeMetaMethod::call):
2283         * bridge/qt/qt_runtime_qt4.cpp:
2284         (JSC::Bindings::QtRuntimeMetaMethod::call):
2285
2286 2012-08-02  Zoltan Herczeg  <zherczeg@webkit.org>
2287
2288         Alignment issue for readTime in PluginDatabase.cpp
2289         https://bugs.webkit.org/show_bug.cgi?id=92746
2290
2291         Reviewed by Simon Hausmann.
2292
2293         When the byte stream is written, nothing guarantees that
2294         the time_t data is aligned. This issue caused alignment
2295         traps on ARM CPUs.
2296
2297         No new tests. Covered by existing tests.
2298
2299         * plugins/PluginDatabase.cpp:
2300         (WebCore::readTime):
2301
2302 2012-08-02  Tommy Widenflycht  <tommyw@google.com>
2303
2304         MediaStream API: Add RTCPeerConnectionHandler infrastructure
2305         https://bugs.webkit.org/show_bug.cgi?id=92866
2306
2307         Reviewed by Kentaro Hara.
2308
2309         Introducing RTCPeerConnectionHandler & RTCPeerConnectionHandlerClient,
2310         together with the Chromium WebKit interface, following the pattern of
2311         the previous PeerConnection00Handler but with the optimizations from MediaStreamCenter.
2312
2313         Not yet testable due to not enough code landed.
2314
2315         * CMakeLists.txt:
2316         * GNUmakefile.list.am:
2317         * Modules/mediastream/RTCPeerConnection.cpp:
2318         (WebCore::RTCPeerConnection::create):
2319         (WebCore::RTCPeerConnection::RTCPeerConnection):
2320         * Modules/mediastream/RTCPeerConnection.h:
2321         (RTCPeerConnection):
2322         * WebCore.gypi:
2323         * platform/mediastream/RTCPeerConnectionHandler.cpp: Added.
2324         (WebCore):
2325         (RTCPeerConnectionHandlerDummy):
2326         (WebCore::RTCPeerConnectionHandler::create):
2327         (WebCore::RTCPeerConnectionHandlerDummy::RTCPeerConnectionHandlerDummy):
2328         (WebCore::RTCPeerConnectionHandlerDummy::~RTCPeerConnectionHandlerDummy):
2329         (WebCore::RTCPeerConnectionHandlerDummy::initialize):
2330         * platform/mediastream/RTCPeerConnectionHandler.h: Copied from Source/WebCore/Modules/mediastream/RTCPeerConnection.h.
2331         (WebCore):
2332         (RTCPeerConnectionHandler):
2333         (WebCore::RTCPeerConnectionHandler::~RTCPeerConnectionHandler):
2334         (WebCore::RTCPeerConnectionHandler::RTCPeerConnectionHandler):
2335         * platform/mediastream/RTCPeerConnectionHandlerClient.h: Copied from Source/WebCore/Modules/mediastream/RTCPeerConnection.h.
2336         (WebCore):
2337         (RTCPeerConnectionHandlerClient):
2338         (WebCore::RTCPeerConnectionHandlerClient::~RTCPeerConnectionHandlerClient):
2339         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: Added.
2340         (WebCore):
2341         (WebCore::RTCPeerConnectionHandler::create):
2342         (WebCore::RTCPeerConnectionHandlerChromium::RTCPeerConnectionHandlerChromium):
2343         (WebCore::RTCPeerConnectionHandlerChromium::~RTCPeerConnectionHandlerChromium):
2344         (WebCore::RTCPeerConnectionHandlerChromium::initialize):
2345         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: Added.
2346         (WebCore):
2347         (RTCPeerConnectionHandlerChromium):
2348
2349 2012-08-02  Yury Semikhatsky  <yurys@chromium.org>
2350
2351         Web Inspector: rename reportMemoryUsage to reportDescendantMemoryUsage in StyleRuleBase descendants
2352         https://bugs.webkit.org/show_bug.cgi?id=92966
2353
2354         Reviewed by Alexander Pavlov.
2355
2356         Renamed reportMemoryUsage to reportDescendantMemoryUsage in all descendants of
2357         StyleRuleBase to avoid accidental recursive calls to StyleRuleBase::reportMemoryUsage
2358         when a new type of rule is added.
2359
2360         * css/StyleRule.cpp:
2361         (WebCore::StyleRuleBase::reportMemoryUsage):
2362         (WebCore::StyleRule::reportDescendantMemoryUsage):
2363         (WebCore::StyleRulePage::reportDescendantMemoryUsage):
2364         (WebCore::StyleRuleFontFace::reportDescendantMemoryUsage):
2365         (WebCore::StyleRuleBlock::reportDescendantMemoryUsage):
2366         (WebCore::StyleRuleMedia::reportDescendantMemoryUsage):
2367         (WebCore::StyleRuleRegion::reportDescendantMemoryUsage):
2368         * css/StyleRule.h:
2369         (StyleRule):
2370         (StyleRuleFontFace):
2371         (StyleRulePage):
2372         (StyleRuleBlock):
2373         (StyleRuleMedia):
2374         (StyleRuleRegion):
2375         * css/StyleRuleImport.cpp:
2376         (WebCore::StyleRuleImport::reportDescendantMemoryUsage):
2377         * css/StyleRuleImport.h:
2378         (StyleRuleImport):
2379         * css/WebKitCSSKeyframesRule.cpp:
2380         (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
2381         * css/WebKitCSSKeyframesRule.h:
2382         (StyleRuleKeyframes):
2383
2384 2012-08-02  Hironori Bono  <hbono@chromium.org>
2385
2386         [Chromium] Implement hyphenation for Chromium
2387         https://bugs.webkit.org/show_bug.cgi?id=48610
2388
2389         Reviewed by Eric Seidel.
2390
2391         This change adds a couple of methods canHyphenate and computeLastHyphenLocation
2392         to Platform so Chromium can implement them. Also, this change uses these methods
2393         to implement the hyphenation methods of WebCore. (This change does not change
2394         any behaviors until Chromium implements these methods.)
2395
2396         No new tests because this change is for fixing a couple of existing layout tests
2397         'fast/text/hyphenate-character.html' and 'fast/text/hyphens.html'.
2398
2399         * WebCore.gypi:
2400         * platform/text/chromium/Hyphenation.cpp: Added.
2401         (WebCore):
2402         (WebCore::canHyphenate): Called Platform::canHyphenation().
2403         (WebCore::lastHyphenLocation): Called Platform::computeLastHyphenLocation().
2404
2405 2012-08-02  ulan@chromium.org  <ulan@chromium.org>
2406
2407         [chromium] Improve garbage collector hint if page uses Canvas contexts
2408         https://bugs.webkit.org/show_bug.cgi?id=92856
2409
2410         Reviewed by Kentaro Hara.
2411
2412         Request GC by sending context disposed and idle notification to V8 instead
2413         of sending low memory notification. It is faster as it causes one GC
2414         instead of seven GCs caused by low memory notification.
2415
2416         * bindings/v8/V8Binding.cpp:
2417         (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
2418         * bindings/v8/V8Binding.h:
2419         (V8BindingPerIsolateData):
2420         (WebCore::V8BindingPerIsolateData::setShouldCollectGarbageSoon):
2421         (WebCore::V8BindingPerIsolateData::clearShouldCollectGarbageSoon):
2422         (WebCore::V8BindingPerIsolateData::shouldCollectGarbageSoon):
2423         * bindings/v8/V8Proxy.cpp:
2424         (WebCore::V8Proxy::hintForGCIfNecessary):
2425         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2426         (WebCore::V8HTMLCanvasElement::getContextCallback):
2427
2428 2012-08-02  Mihnea Ovidenie  <mihnea@adobe.com>
2429
2430         CSSRegions: Crash when reattaching a region to a named flow.
2431         https://bugs.webkit.org/show_bug.cgi?id=91307
2432
2433         Reviewed by Abhishek Arya.
2434
2435         The lifetime of a flow thread  has changed from not being destroyed (until the RenderView is destroyed) to being destroyed,
2436         under certain conditions, no attached regions and no content, before RenderView is destroyed.
2437         When the flow thread does not have any content and the region to be detached is the last region for the flow thread,
2438         the flow thread is destroyed.
2439         In this case, if the same region has to be attached again to the flow thread, the flow thread needs to be
2440         recreated, otherwise the crash will result.
2441
2442         Test: fast/regions/region-flow-reattach-crash.html
2443
2444         * rendering/RenderRegion.cpp:
2445         (WebCore::RenderRegion::attachRegion):
2446         We skip the attach if we are in the middle of document destruction.
2447         We recreate the flow thread to which the region is intended to be attached only if the region was
2448         not previously marked as invalid in relation to the flow thread (because the region was part of a
2449         circular dependency).
2450         (WebCore::RenderRegion::detachRegion): After the region is detached from flow thread,
2451         null the region internal pointer to the flow thread to mark that the region is not
2452         attached.
2453
2454 2012-08-02  Tommy Widenflycht  <tommyw@google.com>
2455
2456         MediaStream API: Move RTCConfiguration to its proper place
2457         https://bugs.webkit.org/show_bug.cgi?id=92867
2458
2459         Reviewed by Adam Barth.
2460
2461         This patch moves RTCConfiguration to Source/WebCore/platform/mediastream,
2462         and adds its WebKit interface for chromium.
2463
2464         No functional code changes.
2465
2466         * GNUmakefile.list.am:
2467         * Modules/mediastream/RTCPeerConnection.cpp:
2468         * WebCore.gypi:
2469         * platform/chromium/support/WebRTCConfiguration.cpp: Added.
2470         (WebKit):
2471         (WebKit::WebRTCICEServer::WebRTCICEServer):
2472         (WebKit::WebRTCICEServer::assign):
2473         (WebKit::WebRTCICEServer::reset):
2474         (WebKit::WebRTCICEServer::uri):
2475         (WebKit::WebRTCICEServer::credential):
2476         (WebKit::WebRTCConfiguration::WebRTCConfiguration):
2477         (WebKit::WebRTCConfiguration::assign):
2478         (WebKit::WebRTCConfiguration::reset):
2479         (WebKit::WebRTCConfiguration::numberOfServers):
2480         (WebKit::WebRTCConfiguration::server):
2481         * platform/mediastream/RTCConfiguration.h: Added.
2482         (WebCore):
2483         (RTCIceServer):
2484         (WebCore::RTCIceServer::create):
2485         (WebCore::RTCIceServer::~RTCIceServer):
2486         (WebCore::RTCIceServer::uri):
2487         (WebCore::RTCIceServer::credential):
2488         (WebCore::RTCIceServer::RTCIceServer):
2489         (RTCConfiguration):
2490         (WebCore::RTCConfiguration::create):
2491         (WebCore::RTCConfiguration::~RTCConfiguration):
2492         (WebCore::RTCConfiguration::appendServer):
2493         (WebCore::RTCConfiguration::numberOfServers):
2494         (WebCore::RTCConfiguration::server):
2495         (WebCore::RTCConfiguration::RTCConfiguration):
2496
2497 2012-08-02  Alexander Shalamov  <alexander.shalamov@intel.com>
2498
2499         [EFL] Browser crashes when non-progress element with -webkit-appearance:progress-bar is rendered
2500         https://bugs.webkit.org/show_bug.cgi?id=92747
2501
2502         Reviewed by Hajime Morita.
2503
2504         When https://bugs.webkit.org/show_bug.cgi?id=40158 was fixed, all ports
2505         were fixed except EFL port. This patch fixes assert that is hit when
2506         non-progress element is rendered with -webkit-appearance:progress-bar style.
2507
2508         * platform/efl/RenderThemeEfl.cpp:
2509         (WebCore::RenderThemeEfl::paintProgressBar):
2510
2511 2012-08-02  Yoshifumi Inoue  <yosin@chromium.org>
2512
2513         REGRESSION(r102741): [Forms] In selects, when disabled, browser skips first option if not in optgroup, then selects first option in optgroup
2514         https://bugs.webkit.org/show_bug.cgi?id=92833
2515
2516         Reviewed by Kent Tamura.
2517
2518         This patch changes implementation of HTMLOptionElement::disabled() to
2519         follow the "disabled" concept of option element in HTML5 specification[1],
2520         the option element is disabled if option element has "disabled"
2521         attribute or parent optgroup element has "disabled" attribute. Before
2522         this patch, HTMLOptionElement::disabled() checks presenting "disabled"
2523         attribute in option element itself and any parent element.
2524
2525         Before this patch, HTMLSelectElement::recalcListItems() didn't considers
2526         non-disabled option as default selected option if select element is
2527         disabled because HTMLOptionElement::disabled() returned true if select
2528         element is disabled.
2529
2530         After this patch, HTMLOptionElement::disabled() is independent from
2531         select element. HTMLSelectElement::recalcListItems() considers
2532         non-disabled option as default selected option.
2533
2534         [1] http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#concept-option-disabled
2535
2536         Tests: fast/forms/basic-selects.html: Fixed expectation to right thing.
2537
2538         * css/html.css:
2539         (select[disabled]>option): Added to render option elements in disabled
2540         select element to disabled color as before this patch.
2541         * html/HTMLOptionElement.cpp:
2542         (WebCore::HTMLOptionElement::disabled): Changed to check parent element
2543         is optgroup.
2544         * html/HTMLSelectElement.cpp:
2545         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): On mouse up
2546         and down, don't update selection if select element is disabled.
2547         * rendering/RenderListBox.cpp:
2548         (WebCore::RenderListBox::paintItemForeground): Added checking select
2549         element is disabled. Before this patch, it was done by HTMLOptionElement::disabled().
2550
2551 2012-08-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2552
2553         Unreviewed, rolling out r124406.
2554         http://trac.webkit.org/changeset/124406
2555         https://bugs.webkit.org/show_bug.cgi?id=92951
2556
2557         it set the Mac bots on fire (Requested by pizlo on #webkit).
2558
2559         * bindings/js/ScriptDebugServer.cpp:
2560         (WebCore::ScriptDebugServer::setBreakpoint):
2561         (WebCore::ScriptDebugServer::removeBreakpoint):
2562         (WebCore::ScriptDebugServer::hasBreakpoint):
2563         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
2564         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
2565         (WebCore::ScriptDebugServer::callEvent):
2566         (WebCore::ScriptDebugServer::atStatement):
2567         (WebCore::ScriptDebugServer::returnEvent):
2568         (WebCore::ScriptDebugServer::exception):
2569         (WebCore::ScriptDebugServer::willExecuteProgram):
2570         (WebCore::ScriptDebugServer::didExecuteProgram):
2571         (WebCore::ScriptDebugServer::didReachBreakpoint):
2572         * bindings/js/ScriptDebugServer.h:
2573         (ScriptDebugServer):
2574
2575 2012-08-01  Ilya Tikhonovsky  <loislo@chromium.org>
2576
2577         Web Inspector: test native memory instrumentation code with help of unittests
2578         https://bugs.webkit.org/show_bug.cgi?id=92743
2579
2580         Reviewed by Yury Semikhatsky.
2581
2582         Test a part of existing Native Memory Instrumentation code with help of unit tests.
2583         6 tests were added and two bugs were fixed.
2584         a drive-by improvement: the method MemoryInstrumentation::addInstrumentedObject
2585         was marked as private and addRootObject was introduced instead of it.
2586         The new function also calls processDeferedPointers.
2587
2588         * bindings/v8/ScriptProfiler.cpp:
2589         (WebCore::ScriptProfiler::collectBindingMemoryInfo):
2590         * dom/MemoryInstrumentation.h:
2591         (WebCore::MemoryInstrumentation::addRootObject):
2592         (MemoryInstrumentation):
2593         (WebCore::MemoryInstrumentation::addInstrumentedObject):
2594         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
2595         (WebCore):
2596         (WebCore::MemoryInstrumentation::addObjectImpl):
2597         * inspector/InspectorMemoryAgent.cpp:
2598         (WebCore):
2599         * inspector/MemoryInstrumentationImpl.h:
2600         (MemoryInstrumentationImpl):
2601         (WebCore::MemoryInstrumentationImpl::totalSize):
2602         (WebCore::MemoryInstrumentationImpl::reportedSizeForAllTypes):
2603
2604 2012-08-01  Ryosuke Niwa  <rniwa@webkit.org>
2605
2606         Chromium Android build fix after r124402.
2607         Initialize the out variables as suggested by the compiler.
2608
2609         * Modules/indexeddb/IDBLevelDBCoding.cpp:
2610         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::decode):
2611         (WebCore::IDBLevelDBCoding::DatabaseNameKey::decode):
2612         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::decode):
2613         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::decode):
2614         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::decode):
2615         (WebCore::IDBLevelDBCoding::IndexFreeListKey::decode):
2616         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::decode):
2617         (WebCore::IDBLevelDBCoding::IndexNamesKey::decode):
2618
2619 2012-08-01  Keishi Hattori  <keishi@webkit.org>
2620
2621         Fix typo in colorSuggestionPicker.js
2622         https://bugs.webkit.org/show_bug.cgi?id=92936
2623
2624         Reviewed by Kent Tamura.
2625
2626         Fixes typo.
2627
2628         Test: platform/chromium/fast/forms/color/color-suggestion-picker-with-scrollbar-appearance.html
2629
2630         * Resources/colorSuggestionPicker.js:
2631         (getScrollbarWidth):
2632
2633 2012-08-01  Shinya Kawanaka  <shinyak@chromium.org>
2634
2635         The elements in Shadow DOM of input should not be modifiable.
2636         https://bugs.webkit.org/show_bug.cgi?id=92200
2637
2638         Reviewed by Kent Tamura.
2639
2640         Since we don't have "-webkit-user-modify: read-only !important;" for the elements in Shadow DOM of
2641         input element, user can change them and it causes a crash.
2642
2643         We should have "-webkit-user-modify: read-only !important;" for those elements.
2644
2645         Test: fast/forms/input-user-modify.html
2646
2647         * css/html.css:
2648         (input::-webkit-textfield-decoration-container):
2649         (input[type="search"]::-webkit-search-cancel-button):
2650         (input[type="search"]::-webkit-search-decoration):
2651         (input[type="search"]::-webkit-search-results-decoration):
2652         (input[type="search"]::-webkit-search-results-button):
2653         (input::-webkit-inner-spin-button):
2654         (input::-webkit-input-speech-button):
2655         (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
2656         (input[type="file"]::-webkit-file-upload-button):
2657         (input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container):
2658         (input[type="range"]::-webkit-slider-runnable-track):
2659         (input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
2660         (input[type="color"]::-webkit-color-swatch-wrapper):
2661         (input[type="color"]::-webkit-color-swatch):
2662         (input::-webkit-calendar-picker-indicator):
2663
2664 2012-08-01  Peter Wang  <peter.wang@torchmobile.com.cn>
2665
2666         Web Inspector: [JSC] implement setting breakpoints by line:column
2667         https://bugs.webkit.org/show_bug.cgi?id=53003
2668
2669         Reviewed by Geoffrey Garen.
2670
2671         As JSC is enabled to provide column info of statement, ScriptDebugServer can use it to
2672         support "Pretty Print" debug mode.
2673
2674         No new test case for this patch.
2675
2676         * bindings/js/ScriptDebugServer.cpp:
2677         (WebCore::ScriptDebugServer::setBreakpoint):
2678         (WebCore::ScriptDebugServer::removeBreakpoint):
2679         (WebCore):
2680         (WebCore::ScriptDebugServer::updateCurrentStatementPosition):
2681         (WebCore::ScriptDebugServer::hasBreakpoint):
2682         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
2683         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
2684         (WebCore::ScriptDebugServer::callEvent):
2685         (WebCore::ScriptDebugServer::atStatement):
2686         (WebCore::ScriptDebugServer::returnEvent):
2687         (WebCore::ScriptDebugServer::exception):
2688         (WebCore::ScriptDebugServer::willExecuteProgram):
2689         (WebCore::ScriptDebugServer::didExecuteProgram):
2690         (WebCore::ScriptDebugServer::didReachBreakpoint):
2691         * bindings/js/ScriptDebugServer.h:
2692         (ScriptDebugServer):
2693
2694 2012-08-01  Xingnan Wang  <xingnan.wang@intel.com>
2695
2696         IndexedDB: ObjectStoreMetaDataKey::m_metaDataType should use byte type
2697         https://bugs.webkit.org/show_bug.cgi?id=92725
2698
2699         Reviewed by Kentaro Hara.
2700
2701         No new tests - Low level functions covered by existing layout tests and also covered by Chromium
2702         webkit_unit_tests IDBLevelIDBCodingTest.*.
2703
2704         * Modules/indexeddb/IDBLevelDBCoding.cpp:
2705         (IDBLevelDBCoding):
2706         (WebCore::IDBLevelDBCoding::decodeByte):
2707         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::decode):
2708         (WebCore::IDBLevelDBCoding::DatabaseNameKey::decode):
2709         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::decode):
2710         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
2711         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::metaDataType):
2712         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::decode):
2713         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::decode):
2714         (WebCore::IDBLevelDBCoding::IndexFreeListKey::decode):
2715         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::decode):
2716         (WebCore::IDBLevelDBCoding::IndexNamesKey::decode):
2717         * Modules/indexeddb/IDBLevelDBCoding.h:
2718         (IDBLevelDBCoding):
2719
2720 2012-08-01  James Robinson  <jamesr@chromium.org>
2721
2722         [chromium] Use new-style tracing macros with explicit category
2723         https://bugs.webkit.org/show_bug.cgi?id=92928
2724
2725         Reviewed by Adam Barth.
2726
2727         The chromium tracing system supports using a string identifier for trace categories that can be used to filter
2728         events. This switches over to setting an explicit category for all traces and removes the old-style
2729         TRACE_EVENT() macro.
2730
2731         * bindings/v8/ScheduledAction.cpp:
2732         (WebCore::ScheduledAction::execute):
2733         * platform/ScrollAnimatorNone.cpp:
2734         (WebCore::ScrollAnimatorNone::scroll):
2735         (WebCore::ScrollAnimatorNone::animationTimerFired):
2736         * platform/chromium/TraceEvent.h:
2737         * platform/graphics/chromium/ProgramBinding.cpp:
2738         (WebCore::ProgramBindingBase::init):
2739         * platform/graphics/skia/ImageSkia.cpp:
2740         (WebCore::drawResampledBitmap):
2741         (WebCore::paintSkBitmap):
2742         (WebCore::Image::drawPattern):
2743         * platform/graphics/skia/NativeImageSkia.cpp:
2744         (WebCore::NativeImageSkia::resizedBitmap):
2745         * platform/graphics/skia/PlatformContextSkia.cpp:
2746         (WebCore::PlatformContextSkia::bitmap):
2747         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
2748         (WebCore::BMPImageDecoder::decode):
2749         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2750         (WebCore::GIFImageDecoder::decode):
2751         * platform/image-decoders/ico/ICOImageDecoder.cpp:
2752         (WebCore::ICOImageDecoder::decode):
2753         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2754         (WebCore::JPEGImageDecoder::decode):
2755         * platform/image-decoders/png/PNGImageDecoder.cpp:
2756         (WebCore::PNGImageDecoder::decode):
2757         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
2758         (WebCore::WEBPImageDecoder::decode):
2759
2760 2012-08-01  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2761
2762         [EFL] Crash at WebCore::toRenderSlider
2763         https://bugs.webkit.org/show_bug.cgi?id=92893
2764
2765         Reviewed by Hajime Morita.
2766
2767         Added a type check before casting a render object to RenderSlider as 
2768         an arbitrary element can have for example webkit-appearance: slider-horizontal.
2769
2770         No new tests. Existing test fast/forms/range/slider-appearance-crash.html covers the case.
2771
2772         * platform/efl/RenderThemeEfl.cpp:
2773         (WebCore::RenderThemeEfl::paintThemePart):
2774
2775 2012-08-01  Koji Ishii  <kojiishi@gmail.com>
2776
2777         Cache support for OpenTypeVerticalData
2778         https://bugs.webkit.org/show_bug.cgi?id=81332
2779
2780         Reviewed by Tony Chang.
2781
2782         This patch adds FontCache to cache OpenTypeVerticalData class
2783         instances that was introduced in bug 81326.
2784
2785         We need one instance of the class per OpenType font file, and we don't
2786         have a class to hold such instances today.
2787
2788         ENABLE_OPENTYPE_VERTICAL isn't enabled for any platforms yet, so this
2789         patch isn't on any code path. Apple Windows port (bug 48459) is going
2790         to use this code, and probably Chromium (51450, 69282) as well.
2791
2792         "FIXME" comment in SimpleFontData.h will be implemented in 48459.
2793
2794         No new tests are required. No behavior changes.
2795
2796         * platform/graphics/FontCache.cpp:
2797         (WebCore::FontCache::getCachedFontPlatformData): Ignore leading "@" on Windows to disable Windows feature for vertical flow.
2798         (WebCore):
2799         (WebCore::FontCache::getVerticalData): Get cached OpenTypeVerticalData from FontPlatformData, or crete one.
2800         (WebCore::FontCache::purgeInactiveFontData): Purge inactive OpenTypeVerticalData.
2801         * platform/graphics/FontCache.h:
2802         (WebCore):
2803         * platform/graphics/SimpleFontData.h:
2804         (SimpleFontData):
2805         (WebCore::SimpleFontData::verticalData): A dummy implementation for purgeInactiveFontData() to work.
2806         * platform/graphics/opentype/OpenTypeVerticalData.h: Added m_inFontCache for mark & sweep.
2807         (OpenTypeVerticalData):
2808
2809 2012-08-01  James Robinson  <jamesr@chromium.org>
2810
2811         [chromium] Move compositor HUD font atlas initialization code out of compositor core
2812         https://bugs.webkit.org/show_bug.cgi?id=92924
2813
2814         Reviewed by Adrienne Walker.
2815
2816         This moves the HUD font atlas initialization code out of the compositor implementation to cut out Font-related
2817         dependencies. The new flow is that an embedder can pass a font atlas to the CCLayerTreeHost, after which the
2818         atlas is provided the HUD layer (if any) on the next commit. The HUD layer renders text using the font atlas if
2819         it has any if the settings require text.
2820
2821         HUD tested manually, we don't have automated tests for this debugging-only feature.
2822
2823         * platform/graphics/chromium/CompositorHUDFontAtlas.cpp:
2824         (WebCore):
2825         (WebCore::CompositorHUDFontAtlas::generateFontAtlas):
2826         * platform/graphics/chromium/CompositorHUDFontAtlas.h:
2827         (CompositorHUDFontAtlas):
2828         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.cpp:
2829         (WebCore::HeadsUpDisplayLayerChromium::create):
2830         (WebCore::HeadsUpDisplayLayerChromium::HeadsUpDisplayLayerChromium):
2831         (WebCore::HeadsUpDisplayLayerChromium::setFontAtlas):
2832         (WebCore):
2833         (WebCore::HeadsUpDisplayLayerChromium::createCCLayerImpl):
2834         (WebCore::HeadsUpDisplayLayerChromium::pushPropertiesTo):
2835         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.h:
2836         (HeadsUpDisplayLayerChromium):
2837         * platform/graphics/chromium/cc/CCFontAtlas.cpp:
2838         (WebCore::CCFontAtlas::CCFontAtlas):
2839         * platform/graphics/chromium/cc/CCFontAtlas.h:
2840         (WebCore):
2841         (WebCore::CCFontAtlas::create):
2842         (CCFontAtlas):
2843         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
2844         (WebCore::CCHeadsUpDisplayLayerImpl::CCHeadsUpDisplayLayerImpl):
2845         (WebCore::CCHeadsUpDisplayLayerImpl::setFontAtlas):
2846         (WebCore):
2847         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
2848         (WebCore::CCHeadsUpDisplayLayerImpl::create):
2849         (CCHeadsUpDisplayLayerImpl):
2850         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2851         (WebCore::CCLayerTreeHost::setFontAtlas):
2852         (WebCore):
2853         (WebCore::CCLayerTreeHost::willCommit):
2854         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2855         (WebCore):
2856         (CCLayerTreeHost):
2857
2858 2012-08-01  Antoine Labour  <piman@chromium.org>
2859
2860         [chromium] factor out the optimization pass in CCRenderSurfaceFilters::apply
2861         https://bugs.webkit.org/show_bug.cgi?id=92453
2862
2863         Reviewed by James Robinson.
2864
2865         This separates the "optimization" pass in CCRenderSurfaceFilters::apply
2866         to resolve a succession of color matrix filters into a single operation.
2867         This allows testing of that code.
2868         This introduces a new generic color matrix WebFilterOperation, which can
2869         also be used on its own.
2870
2871         New test: CCRenderSurfaceFiltersTest.
2872
2873         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
2874         (WebCore::CCRenderSurfaceFilters::optimize):
2875         (WebCore):
2876         (WebCore::CCRenderSurfaceFilters::apply):
2877         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.h:
2878         (CCRenderSurfaceFilters):
2879
2880 2012-08-01  Jian Li  <jianli@chromium.org>
2881
2882         Add new CSS property "-webkit-widget-region" to expose dashboard region support for other port
2883         https://bugs.webkit.org/show_bug.cgi?id=90298
2884
2885         Reviewed by Adam Barth.
2886
2887         The css property "-webkit-widget-region" is essentially a synonym of
2888         "-webkit-dashboard-region" that allows us to expose dashboard region
2889         support for other port. This patch also adds a new feature define
2890         ENABLE(WIDGET_REGION) such that "-webkit-dashboard-region" is only
2891         provided under ENABLE(DASHBOARD_SUPPORT) as it is now and
2892         "-webkit-widget-region" is only exposed under ENABLE(WIDGET_REGION).
2893
2894         Change almost all the code pieces guarded by ENABLE(DASHBOARD_SUPPORT)
2895         to make them also guarded by ENABLE(WIDGET_REGION), except those
2896         that are specific to Apple/WebKit.
2897
2898         Currently ENABLE(WIDGET_REGION) has been turned on by default for
2899         Mac/WebKit and chromium ports.
2900
2901         Test: fast/css/widget-region-parser.html
2902
2903         * Configurations/FeatureDefines.xcconfig: Add ENABLE_WIDGET_REGION define.
2904         * DerivedSources.make:
2905         * GNUmakefile.am: Add ENABLE_WIDGET_REGION define.
2906         * WebCore.exp.in:
2907         * css/CSSComputedStyleDeclaration.cpp: Handle CSSPropertyWebkitWidgetRegion.
2908         (WebCore):
2909         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2910         * css/CSSParser.cpp: Parse "-webkit-widget-region".
2911         (WebCore::CSSParser::parseValue):
2912         (WebCore):
2913         (WebCore::CSSParser::parseDashboardRegions):
2914         * css/CSSProperty.cpp: Handle CSSPropertyWebkitWidgetRegion.
2915         (WebCore::CSSProperty::isInheritedProperty):
2916         * css/CSSPrimitiveValue.cpp:
2917         (WebCore):
2918         (WebCore::CSSPrimitiveValue::customCssText):
2919         (WebCore::CSSPrimitiveValue::cloneForCSSOM):
2920         * css/CSSPropertyNames.in: Add "-webkit-widget-region" property.
2921         * css/DashboardRegion.h:
2922         (DashboardRegion):
2923         * css/StyleResolver.cpp: Handle CSSPropertyWebkitWidgetRegion.
2924         * dom/Document.cpp:
2925         (WebCore::Document::Document):
2926         (WebCore):
2927         * dom/Document.h:
2928         (WebCore):
2929         (Document):
2930         * page/Chrome.cpp:
2931         (WebCore):
2932         * page/ChromeClient.h:
2933         (ChromeClient):
2934         * page/FrameView.cpp:
2935         (WebCore::FrameView::layout):
2936         (WebCore):
2937         (WebCore::FrameView::paintContents):
2938         * page/FrameView.h:
2939         (FrameView):
2940         * rendering/RenderInline.cpp:
2941         (WebCore):
2942         * rendering/RenderInline.h:
2943         (RenderInline):
2944         * rendering/RenderLayer.cpp:
2945         (WebCore::RenderLayer::scrollTo):
2946         (WebCore::RenderLayer::setHasHorizontalScrollbar):
2947         (WebCore::RenderLayer::setHasVerticalScrollbar):
2948         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
2949         * rendering/RenderListBox.cpp:
2950         (WebCore::RenderListBox::setHasVerticalScrollbar):
2951         * rendering/RenderObject.cpp:
2952         (WebCore::RenderObject::styleWillChange):
2953         (WebCore):
2954         * rendering/RenderObject.h:
2955         (RenderObject):
2956         * rendering/style/RenderStyle.cpp:
2957         (WebCore::RenderStyle::diff):
2958         (WebCore):
2959         * rendering/style/RenderStyle.h:
2960         * rendering/style/StyleDashboardRegion.h:
2961         * rendering/style/StyleRareNonInheritedData.cpp:
2962         (WebCore::StyleRareNonInheritedData::operator==):
2963         * rendering/style/StyleRareNonInheritedData.h:
2964         (WebCore):
2965         (StyleRareNonInheritedData):
2966
2967 2012-08-01  Arnaud Renevier  <a.renevier@sisa.samsung.com>
2968
2969         [V8] TypedArray binding performance improvements
2970         https://bugs.webkit.org/show_bug.cgi?id=92557
2971
2972         Reviewed by Kenneth Russell.
2973
2974         Improve TypedArray bindings performance:
2975         - create arrays with createUninitialized when possible. Typed Array
2976         construction is about 10% faster.
2977         - when creating a typed array from a same typed array, memcpy data
2978         from source to target.
2979
2980         In order to detect if argument array is the same type as
2981         implementation array, we pass the javascript wrapper type as a new
2982         type argument to template function constructWebGLArray.
2983
2984         Introduce wrapArrayBufferView which wraps typed array into a v8::Value
2985
2986         No new tests: Performance tests are already handled by
2987         Bindings/typed-array-construct-from-same-type.html and
2988         Bindings/typed-array-construct-from-typed.html
2989
2990         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2991         (WebCore):
2992         (WebCore::constructWebGLArray):
2993         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
2994         (WebCore::V8Float32Array::constructorCallback):
2995         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
2996         (WebCore::V8Float64Array::constructorCallback):
2997         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
2998         (WebCore::V8Int16Array::constructorCallback):
2999         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
3000         (WebCore::V8Int32Array::constructorCallback):
3001         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
3002         (WebCore::V8Int8Array::constructorCallback):
3003         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
3004         (WebCore::V8Uint16Array::constructorCallback):
3005         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
3006         (WebCore::V8Uint32Array::constructorCallback):
3007         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
3008         (WebCore::V8Uint8Array::constructorCallback):
3009         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
3010         (WebCore::V8Uint8ClampedArray::constructorCallback):
3011
3012 2012-08-01  Antoine Labour  <piman@chromium.org>
3013
3014         [chromium] Fix lost context handling on hud layer
3015         https://bugs.webkit.org/show_bug.cgi?id=92915
3016
3017         Reviewed by Adrienne Walker.
3018
3019         On lost context we need to release CCScopedTextures, otherwise later on
3020         we will try to re-allocate it using a stale CCResourceProvider.
3021
3022         Test CCLayerTreeHostImplTest.dontUseOldResourcesAfterLostContext
3023         extended.
3024
3025         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
3026         (WebCore::CCHeadsUpDisplayLayerImpl::didLoseContext):
3027         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
3028
3029 2012-08-01  Kwang Yul Seo  <skyul@company100.net>
3030
3031         Read tag names and attributes from the saved tokens in HTMLElementStack
3032         https://bugs.webkit.org/show_bug.cgi?id=92830
3033
3034         Reviewed by Adam Barth.
3035
3036         This is a follow-up patch for r123577.
3037         Replaced top()->hasTagName(x) with topStackItem()->hasTagName(x).
3038         Also replaced item->element()->hasTagName(x) with item->hasTagName(x).
3039
3040         No new tests, covered by existing tests.
3041
3042         * html/parser/HTMLElementStack.cpp:
3043         (WebCore::HTMLElementStack::pop):
3044         (WebCore::HTMLElementStack::popUntil):
3045         (WebCore::HTMLElementStack::pushHTMLHtmlElement):
3046         (WebCore::HTMLElementStack::pushHTMLHeadElement):
3047         (WebCore::HTMLElementStack::pushHTMLBodyElement):
3048         (WebCore::HTMLElementStack::push):
3049         (WebCore::HTMLElementStack::insertAbove):
3050         (WebCore::HTMLElementStack::popCommon):
3051
3052 2012-08-01  Antoine Labour  <piman@chromium.org>
3053
3054         [chromium] remove unused fields from LayerRendererCapabilities
3055         https://bugs.webkit.org/show_bug.cgi?id=92906
3056
3057         Reviewed by James Robinson.
3058
3059         No new tests (just removing dead code).
3060
3061         * platform/graphics/chromium/LayerRendererChromium.cpp:
3062         (WebCore::LayerRendererChromium::initialize):
3063         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3064         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
3065         (LayerRendererCapabilities):
3066
3067 2012-08-01  James Robinson  <jamesr@chromium.org>
3068
3069         [chromium] Move compositor HUD font atlas generation out of compositor core
3070         https://bugs.webkit.org/show_bug.cgi?id=92901
3071
3072         Reviewed by Adrienne Walker.
3073
3074         This moves the font atlas generation out of CCFontAtlas into a separate helper class and ports the CCFontAtlas
3075         text drawing code over to use skia directly.
3076
3077         * WebCore.gypi:
3078         * platform/graphics/chromium/CompositorHUDFontAtlas.cpp: Added.
3079         (WebCore):
3080         (WebCore::wrapPositionIfNeeded):
3081         (WebCore::CompositorHUDFontAtlas::generateFontAtlas):
3082         * platform/graphics/chromium/CompositorHUDFontAtlas.h: Added.
3083         (WebCore):
3084         (CompositorHUDFontAtlas):
3085         * platform/graphics/chromium/cc/CCFontAtlas.cpp:
3086         (WebCore::CCFontAtlas::CCFontAtlas):
3087         (WebCore::CCFontAtlas::~CCFontAtlas):
3088         (WebCore::CCFontAtlas::initialize):
3089         (WebCore::CCFontAtlas::drawText):
3090         (WebCore::CCFontAtlas::drawOneLineOfTextInternal):
3091         (WebCore::CCFontAtlas::drawDebugAtlas):
3092         * platform/graphics/chromium/cc/CCFontAtlas.h:
3093         (WebCore):
3094         (CCFontAtlas):
3095         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
3096
3097 2012-08-01  Peter Beverloo  <peter@chromium.org>
3098
3099         [Text Autosizing] Provide an API for influencing the font scale factor
3100         https://bugs.webkit.org/show_bug.cgi?id=92882
3101
3102         Reviewed by Adam Barth.
3103
3104         Add the font scale factor to settings, and provide an API in
3105         window.internal.settings to change it from layout tests.
3106
3107         The font scale factor applied to Text Autosizing influences the sizing
3108         of text, and will influence the scaling of boosted blocks once the
3109         implementation progresses. For Android, it will be set to the font size
3110         chosen in the user's system-wide preferences.
3111
3112         Test: fast/text-autosizing/font-scale-factor.html
3113
3114         * page/Settings.cpp:
3115         (WebCore::Settings::Settings):
3116         (WebCore):
3117         (WebCore::Settings::setTextAutosizingFontScaleFactor):
3118         * page/Settings.h:
3119         (Settings):
3120         (WebCore::Settings::textAutosizingFontScaleFactor):
3121         * rendering/TextAutosizer.cpp:
3122         (WebCore::TextAutosizer::processBlock):
3123         * testing/InternalSettings.cpp:
3124         (WebCore::InternalSettings::Backup::Backup):
3125         (WebCore::InternalSettings::Backup::restoreTo):
3126         (WebCore::InternalSettings::setTextAutosizingFontScaleFactor):
3127         (WebCore):
3128         * testing/InternalSettings.h:
3129         (Backup):
3130         (InternalSettings):
3131         * testing/InternalSettings.idl:
3132
3133 2012-08-01  Mike West  <mkwst@chromium.org>
3134
3135         CSP should correctly block plugin resources rendered in PluginDocuments.
3136         https://bugs.webkit.org/show_bug.cgi?id=92675
3137
3138         Reviewed by Adam Barth.
3139
3140         In certain cases, plugins aren't loaded directly, but are stuffed into a
3141         newly-created PluginDocument before rendering. While we were already
3142         correctly populating information that allowed us to make decisions about
3143         that document's security origin, and already dealing with sandbox
3144         status by creating a 'SinkDocument' that ignored plugin data, we weren't
3145         correctly inheriting the parent frame's Content Security Policy. This
3146         patch ensures that PluginDocuments correctly inherit their parent's
3147         Content Security Policy, meaning that the plugin is blocked or allowed
3148         according to the policy of the protected resource in which the
3149         PluginDocument is embedded.
3150
3151         Tests: http/tests/security/contentSecurityPolicy/object-src-url-allowed.html
3152                http/tests/security/contentSecurityPolicy/object-src-url-blocked.html
3153
3154         * dom/Document.cpp:
3155         (WebCore::Document::initContentSecurityPolicy):
3156             Populate a created PluginDocument with its frame's parent's Content
3157             Security Policy.
3158
3159 2012-08-01  Florin Malita  <fmalita@chromium.org>
3160
3161         SVG animation not working for elements inserted after parsing is finished
3162         https://bugs.webkit.org/show_bug.cgi?id=92025
3163
3164         Reviewed by Nikolas Zimmermann.
3165
3166         Time containers for SVG elements inserted after document parsing is finished need to be
3167         initialized on insertion (since they've missed the Document::implicitClose() initialization
3168         point).
3169
3170         Test: svg/animations/deferred-insertion.html
3171
3172         * svg/SVGSVGElement.cpp:
3173         (WebCore::SVGSVGElement::insertedInto):
3174
3175 2012-08-01  Vincent Scheib  <scheib@chromium.org>
3176
3177         Block pointer lock for sandboxed iframes.
3178         https://bugs.webkit.org/show_bug.cgi?id=92796
3179
3180         Reviewed by Adam Barth.
3181
3182         Sandboxed iframe documents should be blocked from using the
3183         pointer lock API until there is specification agreement
3184         on what attribute to use to allow the feature. After
3185         specification this restriction can be relaxed, but not
3186         restricting it now would require breaking applications
3187         later.
3188
3189         Test: http/tests/pointer-lock/iframe-sandboxed.html
3190
3191         * dom/SecurityContext.h:
3192         * page/PointerLockController.cpp:
3193         (WebCore::PointerLockController::requestPointerLock):
3194
3195 2012-08-01  Patrick Gansterer  <paroga@webkit.org>
3196
3197         Replace WTF::getCurrentLocalTime() with GregorianDateTime::setToCurrentLocalTime()
3198         https://bugs.webkit.org/show_bug.cgi?id=92286
3199
3200         Reviewed by Geoffrey Garen.
3201
3202         Add a method to GregorianDateTime to set its values to the current locale time.
3203         Replacing all occurrences of getCurrentLocalTime with the new function allows
3204         us to remove getCurrentLocalTime in a next step.
3205
3206         * html/FTPDirectoryDocument.cpp:
3207         (WebCore::processFileDateString):
3208         * loader/archive/mhtml/MHTMLArchive.cpp:
3209         (WebCore::MHTMLArchive::generateMHTMLData):
3210
3211 2012-08-01  Ojan Vafai  <ojan@chromium.org>
3212
3213         Remove code duplication in determining if display is inline or replaced
3214         https://bugs.webkit.org/show_bug.cgi?id=92880
3215
3216         Reviewed by Julien Chaffraix.
3217
3218         Deduplicate lists of display types by using private helpers.
3219
3220         No new tests. No change in behavior.
3221
3222         * rendering/style/RenderStyle.h:
3223
3224 2012-08-01  Tommy Widenflycht  <tommyw@google.com>
3225
3226         MediaStream API: Add ExtraData capability to MediaStreamSource
3227         https://bugs.webkit.org/show_bug.cgi?id=92860
3228
3229         Reviewed by Adam Barth.
3230
3231         The Chromium port needs to store some related data in MediaStreamSource objects.
3232
3233         Not testable from a LayoutTest.
3234
3235         * platform/chromium/support/WebMediaStreamSource.cpp:
3236         (ExtraDataContainer):
3237         (WebKit::ExtraDataContainer::ExtraDataContainer):
3238         (WebKit::ExtraDataContainer::extraData):
3239         (WebKit):
3240         (WebKit::WebMediaStreamSource::extraData):
3241         (WebKit::WebMediaStreamSource::setExtraData):
3242         * platform/mediastream/MediaStreamSource.h:
3243         (ExtraData):
3244         (WebCore::MediaStreamSource::ExtraData::~ExtraData):
3245         (MediaStreamSource):
3246         (WebCore::MediaStreamSource::extraData):
3247         (WebCore::MediaStreamSource::setExtraData):
3248
3249 2012-08-01  Joshua Bell  <jsbell@chromium.org>
3250
3251         IndexedDB: IDBCursor.continue(key) does not throw for key "behind" cursor
3252         https://bugs.webkit.org/show_bug.cgi?id=92562
3253
3254         Reviewed by Ojan Vafai.
3255
3256         Per spec, IDBCursor.continue(key) should throw for forward cursors
3257         if key <= current key, and for reverse cursors if key >= current key.
3258         Code was present on the back end but the error code was ignored, possibly
3259         broken in a recent refactor, and there were no tests for this case.
3260
3261         Test: storage/indexeddb/cursor-continue-dir.html
3262
3263         * Modules/indexeddb/IDBCursor.cpp:
3264         (WebCore::IDBCursor::advance): Handle async transaction termination.
3265         (WebCore::IDBCursor::continueFunction): Move checks here from backend.
3266         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
3267         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl): Don't need direction param.
3268         (WebCore::IDBCursorBackendImpl::continueFunction): Remove checks.
3269         * Modules/indexeddb/IDBCursorBackendImpl.h: Only IDBBackingStore::cursor needs direction now.
3270         (WebCore::IDBCursorBackendImpl::create):
3271         (IDBCursorBackendImpl):
3272         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
3273         (WebCore::IDBIndexBackendImpl::openCursorInternal): Drop unused param.
3274         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3275         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): Ditto.
3276
3277 2012-08-01  Rick Byers  <rbyers@chromium.org>
3278
3279         Don't request a clickCount of 1 on mouseMove event generated by tap gestures
3280         https://bugs.webkit.org/show_bug.cgi?id=92779
3281
3282         Reviewed by Adam Barth.
3283
3284         mousemove events don't have a click count, so we shouldn't be passing 1
3285         here.  Note this makes no real difference in practice since the value is
3286         ignored - fixed strictly for pedantics.
3287         
3288         Test: fast/events/touch/gesture/gesture-click
3289
3290         * page/EventHandler.cpp:
3291         (WebCore::EventHandler::handleGestureTap):
3292
3293 2012-08-01  Kihong Kwon  <kihong.kwon@samsung.com>
3294
3295         Dropping webkit prefix from Vibration API
3296         https://bugs.webkit.org/show_bug.cgi?id=92840
3297
3298         Reviewed by Adam Barth.
3299
3300         Remove webkit prefix from navigator.webkitVibrate().
3301         - Vibration API have been entered CR already.
3302         - Firefox already implements Vibration API.
3303
3304         No new tests. Covered by fast/dom/navigator-vibration.html
3305
3306         * Modules/vibration/NavigatorVibration.cpp:
3307         (WebCore::NavigatorVibration::vibrate):
3308         * Modules/vibration/NavigatorVibration.h:
3309         (NavigatorVibration):
3310         * Modules/vibration/NavigatorVibration.idl:
3311
3312 2012-08-01  Kwang Yul Seo  <skyul@company100.net>
3313
3314         Read tag names and attributes from the saved tokens in HTMLFormattingElementList::closestElementInScopeWithName(const AtomicString&)
3315         https://bugs.webkit.org/show_bug.cgi?id=92841
3316
3317         Reviewed by Adam Barth.
3318
3319         This is a follow-up patch for r123577.
3320         Replaced entry.element()->hasLocalName(targetName) with entry.stackItem()->hasLocalName(targetName).
3321
3322         No new tests, covered by existing tests.
3323
3324         * html/parser/HTMLFormattingElementList.cpp:
3325         (WebCore::HTMLFormattingElementList::closestElementInScopeWithName):
3326
3327 2012-08-01  Kwang Yul Seo  <skyul@company100.net>
3328
3329         HTMLTreeBuilder passes a wrong token when pushing the head element
3330         https://bugs.webkit.org/show_bug.cgi?id=92838
3331
3332         Reviewed by Adam Barth.
3333
3334         When the tree builder pushes the head element in the "after head" insertion mode,
3335         it creates a HTMLStackItem from a wrong token.
3336
3337         Added HTMLConstructionSite::headStackItem() to retrieve the stack item for the head
3338         element. Modified the tree builder to pass the correct stack item when pushing the head
3339         element in the "after head" insertion mode.
3340
3341         No new tests, covered by existing tests.
3342
3343         * html/parser/HTMLConstructionSite.cpp:
3344         (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
3345         * html/parser/HTMLConstructionSite.h:
3346         (WebCore::HTMLConstructionSite::head):
3347         (WebCore::HTMLConstructionSite::headStackItem):
3348         (HTMLConstructionSite):
3349         * html/parser/HTMLTreeBuilder.cpp:
3350         (WebCore::HTMLTreeBuilder::processStartTag):
3351
3352 2012-08-01  Andrei Bucur  <abucur@adobe.com>
3353
3354         [CSS Regions] The regionLayoutUpdate event should be dispatched on the NamedFlow object
3355         https://bugs.webkit.org/show_bug.cgi?id=88778
3356
3357         Reviewed by Adam Barth.
3358
3359         Spec: http://www.w3.org/TR/css3-regions/#region-flow-layout-events
3360
3361         This patch implements the regionLayoutUpdate event per May 3rd CSS Regions spec recommendation.
3362         Before this patch the event was dispatched individually on each region whenever its overflow state changed. The trigger conditions are preserved with the following additions:
3363         - the event is dispatched when the last region is removed
3364         - the event is not dispatched when the named flow switches to the NULL state
3365         Also, the NamedFlow objects are not deleted if they switch to the NULL state and have listeners attached. In that scenario the JS wrapper will not release the reference
3366         until the parent Document is destroyed.
3367
3368         Tests: The old tests have been modified to use the event on the NamedFlow object rather the one on the Region. New tests have been added to verify the
3369         correct behavior in the special states of the NamedFlow (no region chain, NULL state).
3370
3371         * dom/Document.cpp:
3372         (WebCore::Document::addListenerTypeIfNeeded): Listeners are not added on Nodes any more so the regionLayoutUpdate type was removed from the list.
3373         * dom/Document.h:
3374         * dom/EventTarget.h:
3375         (WebCore):
3376         * dom/EventTargetFactory.in:
3377         * dom/Node.cpp:
3378         * dom/Node.h:
3379         (Node):
3380         * dom/WebKitNamedFlow.cpp:
3381         (WebCore::WebKitNamedFlow::eventTargetData):
3382         (WebCore):
3383         (WebCore::WebKitNamedFlow::ensureEventTargetData):
3384         (WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent): The 3rd May WD says the event is bubbling. However this doesn't make sense as this object doesn't belong to the DOM tree. This was fixed in the ED.
3385         (WebCore::WebKitNamedFlow::interfaceName):
3386         (WebCore::WebKitNamedFlow::scriptExecutionContext):
3387         (WebCore::WebKitNamedFlow::base): Getter for the owner Document used by the wrapper to determine if the object is reachable.
3388         * dom/WebKitNamedFlow.h:
3389         (WebCore):
3390         (WebKitNamedFlow):
3391         (WebCore::WebKitNamedFlow::refEventTarget):
3392         (WebCore::WebKitNamedFlow::derefEventTarget):
3393         * dom/WebKitNamedFlow.idl:
3394         * rendering/RenderFlowThread.cpp:
3395         (WebCore::RenderFlowThread::RenderFlowThread):
3396         (WebCore::RenderFlowThread::layout): The event dispatching is now handled by the implementation of RenderFlowThread.
3397         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
3398         * rendering/RenderFlowThread.h:
3399         * rendering/RenderNamedFlowThread.cpp:
3400         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
3401         (WebCore::RenderNamedFlowThread::removeRegionFromThread): The layout doesn't detect changes caused by removing the last region. This case is handled separately.
3402         (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
3403         (WebCore):
3404         (WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired):
3405         * rendering/RenderNamedFlowThread.h:
3406         (RenderNamedFlowThread):
3407         * rendering/RenderRegion.cpp:
3408         (WebCore::RenderRegion::RenderRegion):
3409         * rendering/RenderRegion.h:
3410         (RenderRegion):
3411
3412 2012-07-31  Robert Hogan  <robert@webkit.org>
3413
3414         CSS 2.1 failure: margin-collapse-012 fails
3415         https://bugs.webkit.org/show_bug.cgi?id=80219
3416
3417         Reviewed by Eric Seidel.
3418
3419         Tests: css2.1/20110323/margin-collapse-012.htm
3420                fast/css/margin-collapse-abspos-negmargin.htm
3421
3422         I also ran this against the full margin-collapse-* CSS 2.1 suite without regressions.
3423
3424         Per http://www.w3.org/TR/CSS21/box.html#collapsing-margins don't collapse the margins of 
3425         positioned blocks. Instead, just use the margin of the sibling/container to offset the 
3426         positioned block's logical top - its own margin gets added in later at 
3427         RenderBox::computePositionedLogicalHeightUsing().
3428
3429         * rendering/RenderBlock.cpp:
3430         (WebCore::RenderBlock::adjustPositionedBlock):
3431
3432 2012-08-01  Sheriff Bot  <webkit.review.bot@gmail.com>
3433
3434         Unreviewed, rolling out r124334.
3435         http://trac.webkit.org/changeset/124334
3436         https://bugs.webkit.org/show_bug.cgi?id=92879
3437
3438         Broke MemoryInstrumentationTest.sizeOf from webkit_unit_tests
3439         on Chromium canaries (Requested by apavlov1 on #webkit).
3440
3441         * bindings/v8/ScriptProfiler.cpp:
3442         (WebCore::ScriptProfiler::collectBindingMemoryInfo):
3443         * dom/MemoryInstrumentation.h:
3444         (WebCore::MemoryInstrumentation::addInstrumentedObject):
3445         (MemoryInstrumentation):
3446         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
3447         * inspector/InspectorMemoryAgent.cpp:
3448         (WebCore):
3449         * inspector/MemoryInstrumentationImpl.h:
3450         (MemoryInstrumentationImpl):
3451         (WebCore::MemoryInstrumentationImpl::totalTypeSize):
3452
3453 2012-08-01  Han Shen  <shenhan@google.com>
3454
3455         Fix gcc 4.7 compile warnings.
3456         https://bugs.webkit.org/show_bug.cgi?id=92797
3457
3458         Reviewed by Kentaro Hara.
3459
3460         GCC 4.7 gives (more strict) warnings on uninitialized variables,
3461         fixed by providing initilization values.
3462
3463         Tested by gcc 4.7 building. No change in behavior.
3464
3465         * platform/graphics/filters/arm/NEONHelpers.h:
3466         (WebCore::loadRGBA8AsFloat): Add initilizaton value for local variable.
3467
3468 2012-08-01  Ryosuke Niwa  <rniwa@webkit.org>