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