8816a12a8682a32a969c3f8dbccb3c8f1b3230cc
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-01-11  Emil A Eklund  <eae@chromium.org>
2
3         offsetWidth/height incorrect for images when zoomed
4         https://bugs.webkit.org/show_bug.cgi?id=106624
5
6         Reviewed by Levi Weintraub.
7         
8         offsetWidth and height are incorrect for images at certain zoom
9         levels due to flooring the values ones adjusted for zoom.
10         By rounding the value instead we avoid the problem and return
11         the right size.
12
13         Test: fast/images/zoomed-offset-size.html
14
15         * dom/Element.cpp:
16         (WebCore::Element::offsetWidth):
17         (WebCore::Element::offsetHeight):
18         (WebCore::Element::clientWidth):
19         (WebCore::Element::clientHeight):
20         Change to round (as opposed to floor) the zoom adjusted value.
21         
22         * rendering/RenderObject.h:
23         (WebCore::adjustLayoutUnitForAbsoluteZoom):
24         * rendering/style/RenderStyle.h:
25         (WebCore::adjustLayoutUnitForAbsoluteZoom):
26         Add LayoutUnit version of adjustForAbsoluteZoom to avoid float
27         conversion.
28
29 2013-01-14  Mark Pilgrim  <pilgrim@chromium.org>
30
31         [Chromium] Move AudioDestinationChromium into WebCore
32         https://bugs.webkit.org/show_bug.cgi?id=106803
33
34         Reviewed by Adam Barth.
35
36         This doesn't really belong in WebKit/chromium/src since it defines
37         things directly in the WebCore namespace.
38
39         * WebCore.gypi:
40         * platform/audio/chromium/AudioDestinationChromium.cpp: Added.
41         (WebCore):
42         (WebCore::AudioDestination::create):
43         (WebCore::AudioDestinationChromium::AudioDestinationChromium):
44         (WebCore::AudioDestinationChromium::~AudioDestinationChromium):
45         (WebCore::AudioDestinationChromium::start):
46         (WebCore::AudioDestinationChromium::stop):
47         (WebCore::AudioDestination::hardwareSampleRate):
48         (WebCore::AudioDestinationChromium::render):
49         (WebCore::AudioDestinationChromium::provideInput):
50         * platform/audio/chromium/AudioDestinationChromium.h: Added.
51         (WebCore):
52         (AudioDestinationChromium):
53         (WebCore::AudioDestinationChromium::isPlaying):
54         (WebCore::AudioDestinationChromium::sampleRate):
55
56 2013-01-14  Adrian Perez de Castro  <aperez@igalia.com>
57
58         [GTK] Fix indentation for GStreamer supported MIME types list
59         https://bugs.webkit.org/show_bug.cgi?id=106812
60
61         Reviewed by Philippe Normand.
62
63         No tests. No change in behavior.
64
65         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
66
67 2013-01-14  John Bauman  <jbauman@chromium.org>
68
69         Use correct size for DrawingBuffer readback
70         https://bugs.webkit.org/show_bug.cgi?id=106744
71
72         Reviewed by Kenneth Russell.
73
74         The value getInternalFramebufferSize is bogus if there's a
75         DrawingBuffer, so use size() instead.
76
77         * platform/graphics/chromium/DrawingBufferChromium.cpp:
78         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
79
80 2013-01-14  Joshua Bell  <jsbell@chromium.org>
81
82         Bindings: Remove special cases for DOMString[]
83         https://bugs.webkit.org/show_bug.cgi?id=106506
84
85         Remove special in binding code generators that map DOMString[] to DOMStringList.
86         Array (T[]) and sequence (sequence<T>) are supported enough now that to be used
87         for Internals, which is the only IDL that needed updating.
88
89         Reviewed by Adam Barth.
90
91         Tests: fast/forms/file/selected-files-from-history-state.html
92                fast/forms/state-restore-broken-state.html
93                fast/forms/state-restore-skip-stateless.html
94
95         Bindings test results updated for JS/V8.
96
97         * bindings/scripts/CodeGenerator.pm: Remove redundant IsArrayType (use GetArrayType instead)
98         (IsRefPtrType): Array and Sequence types are not RefPtr types.
99         * bindings/scripts/CodeGeneratorJS.pm:
100         (IndexGetterReturnsStrings): Remove special case for DOMString[].
101         (AddIncludesForType): Skip Array types, just like Sequence types. (Should probably recurse
102         for the base type, but not needed for now.)
103         (GenerateParametersCheckExpression): s/IsArrayType/GetArrayType/
104         (GetNativeType): Remove special case for DOMString[].
105         (GetNativeTypeForCallbacks): Ditto.
106         (JSValueToNative): Ditto.
107         * bindings/scripts/CodeGeneratorV8.pm:
108         (GenerateParametersCheckExpression): s/IsArrayType/GetArrayType/
109         (GetNativeType): Remove special case for DOMString[].
110         (JSValueToNative): Ditto.
111         (GetV8HeaderName): Ditto.
112         (IsWrapperType):
113         * bindings/scripts/test/JS/JSTestObj.cpp:
114         (WebCore):
115         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
116         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
117         (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
118         (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
119         * bindings/scripts/test/JS/JSTestObj.h:
120         (WebCore):
121         * bindings/scripts/test/TestObj.idl: Added explicit new cases for DOMStringList
122         * bindings/scripts/test/V8/V8TestObj.cpp:
123         (WebCore::TestObjV8Internal::overloadedMethod7Callback):
124         (WebCore::TestObjV8Internal::overloadedMethod9Callback):
125         (WebCore::TestObjV8Internal::stringArrayFunctionCallback):
126         (TestObjV8Internal):
127         (WebCore::TestObjV8Internal::domStringListFunctionCallback):
128         (WebCore):
129         (WebCore::ConfigureV8TestObjTemplate):
130         * testing/Internals.cpp:
131         (WebCore::Internals::formControlStateOfPreviousHistoryItem):
132         (WebCore::Internals::setFormControlStateOfPreviousHistoryItem):
133         (WebCore::Internals::iconURLs):
134         (WebCore::Internals::getReferencedFilePaths):
135         * testing/Internals.h:
136         (Internals):
137         * testing/Internals.idl: Produce DOMString[], consume sequence<DOMString> to match tests.
138
139 2013-01-14  Elliott Sprehn  <esprehn@chromium.org>
140
141         Clean up WebVTTNodeType code
142         https://bugs.webkit.org/show_bug.cgi?id=106714
143
144         Reviewed by Tony Chang.
145
146         There's no reason for so many methods just to compare some enums.
147         The existing code can also be simplified quite a bit.
148
149         No new tests, just refactoring.
150
151         * css/SelectorChecker.cpp:
152         (WebCore::SelectorChecker::checkOne):
153         * css/StyleResolver.cpp:
154         (WebCore::StyleResolver::collectMatchingRules):
155         (WebCore::StyleResolver::canShareStyleWithElement):
156         * dom/Element.cpp:
157         (WebCore::Element::webVTTNodeType):
158         (WebCore::Element::setWebVTTNodeType):
159         * dom/Element.h:
160         (Element):
161         * dom/ElementRareData.h:
162         (WebCore::ElementRareData::setWebVTTNodeType):
163         (WebCore::ElementRareData::webVTTNodeType):
164         (ElementRareData):
165         * dom/NodeRareData.h:
166         (WebCore::NodeRareData::NodeRareData):
167         (NodeRareData):
168         * html/track/TextTrack.h:
169         * html/track/TextTrackCue.cpp:
170         (WebCore::TextTrackCue::markFutureAndPastNodes):
171
172 2013-01-14  Antti Koivisto  <antti@apple.com>
173
174         REGRESSION (r139218): Flaky assertion in WebCore::StorageTask::StorageTask releasing memory
175         https://bugs.webkit.org/show_bug.cgi?id=106718
176
177         Reviewed by Andreas Kling.
178
179         Type assertion was missing a new type.
180
181         * storage/StorageTask.cpp:
182         (WebCore::StorageTask::StorageTask):
183
184 2013-01-14  Yury Semikhatsky  <yurys@chromium.org>
185
186         [REGRESSION] Dev Tools popup for Workers forgets sizes/shows tiny in top left
187         https://bugs.webkit.org/show_bug.cgi?id=106807
188
189         Reviewed by Pavel Feldman.
190
191         Open dedicated worker inspector 600x600 by default and remember its size
192         after resizing.
193
194         * inspector/front-end/Settings.js:
195         * inspector/front-end/WorkerManager.js:
196
197 2013-01-14  Kentaro Hara  <haraken@chromium.org>
198
199         [V8] Make an Isolate parameter mandatory in associateObjectWithWrapper()
200         https://bugs.webkit.org/show_bug.cgi?id=106784
201
202         Reviewed by Adam Barth.
203
204         No tests. No change in behavior.
205
206         * bindings/v8/V8DOMWrapper.h:
207         (V8DOMWrapper):
208
209 2013-01-14  Kentaro Hara  <haraken@chromium.org>
210
211         [V8] Make an Isolate parameter mandatory in ScriptDebugServer::interruptAndRun()
212         https://bugs.webkit.org/show_bug.cgi?id=106779
213
214         Reviewed by Adam Barth.
215
216         This is one of steps to make an Isolate parameter mandatory.
217
218         No tests. No change in behavior.
219
220         * bindings/v8/ScriptDebugServer.h:
221         (ScriptDebugServer):
222
223 2013-01-14  Kentaro Hara  <haraken@chromium.org>
224
225         [V8] Make an Isolate parameter mandatory in wrap()
226         https://bugs.webkit.org/show_bug.cgi?id=106783
227
228         Reviewed by Adam Barth.
229
230         Now it's safe to make an Isolate parameter in wrap().
231
232         No tests. No change in behavior.
233
234         * bindings/scripts/CodeGeneratorV8.pm:
235         (GenerateHeader):
236         * bindings/scripts/test/V8/V8Float64Array.h:
237         (WebCore):
238         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
239         (WebCore::wrap):
240         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
241         (WebCore::wrap):
242         * bindings/scripts/test/V8/V8TestEventConstructor.h:
243         (WebCore::wrap):
244         * bindings/scripts/test/V8/V8TestEventTarget.h:
245         (WebCore::wrap):
246         * bindings/scripts/test/V8/V8TestException.h:
247         (WebCore::wrap):
248         * bindings/scripts/test/V8/V8TestInterface.h:
249         (WebCore::wrap):
250         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
251         (WebCore::wrap):
252         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
253         (WebCore::wrap):
254         * bindings/scripts/test/V8/V8TestNode.h:
255         (WebCore::wrap):
256         * bindings/scripts/test/V8/V8TestObj.h:
257         (WebCore::wrap):
258         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
259         (WebCore::wrap):
260         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
261         (WebCore::wrap):
262
263 2013-01-14  Tommy Widenflycht  <tommyw@google.com>
264
265         MediaStream API: Update MediaStreamTrack::readyState to match specification
266         https://bugs.webkit.org/show_bug.cgi?id=106781
267
268         Reviewed by Adam Barth.
269
270         MediaStreamTrack::readyState now returns a string like the rest of the RTC classes.
271
272         Existing tests expanded to cover patch.
273
274         * Modules/mediastream/MediaStream.cpp:
275         (WebCore::processTrack):
276         * Modules/mediastream/MediaStreamTrack.cpp:
277         (WebCore::MediaStreamTrack::readyState):
278         (WebCore::MediaStreamTrack::ended):
279         (WebCore):
280         * Modules/mediastream/MediaStreamTrack.h:
281         (MediaStreamTrack):
282         * Modules/mediastream/MediaStreamTrack.idl:
283
284 2013-01-14  Vsevolod Vlasov  <vsevik@chromium.org>
285
286         Web Inspector: Audit Tool's False Positive on Set-Cookie header
287         https://bugs.webkit.org/show_bug.cgi?id=106794
288
289         Reviewed by Pavel Feldman.
290
291         Header value is now returned as undefined if there is no such header as it was before regression.
292
293         Test: http/tests/inspector/audits/set-cookie-header-audit-no-false-positive.html
294
295         * inspector/front-end/AuditRules.js:
296         (WebInspector.AuditRules.CSSRuleBase.prototype.sheetsCallback): Drive-by fix, callback should be called even when there is no headers. 
297         * inspector/front-end/NetworkRequest.js:
298         (WebInspector.NetworkRequest.prototype._headerValue):
299
300 2013-01-14  Eric Carlson  <eric.carlson@apple.com>
301
302         Do not pass nil when initializing legible output
303         https://bugs.webkit.org/show_bug.cgi?id=106799
304
305         Reviewed by Jessie Berlin.
306
307         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
308         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): -[AVPlayerItemLegibleOutput initWithDependencyFactory:mediaSubtypesForNativeRepresentation:]
309             wants an empty NSArray rather than nil.
310
311 2013-01-14  Andrey Adaikin  <aandrey@chromium.org>
312
313         Web Inspector: [Canvas] UI: add control buttons for doing the replay steps
314         https://bugs.webkit.org/show_bug.cgi?id=106788
315
316         Reviewed by Pavel Feldman.
317
318         Adding UI control buttons for doing the Canvas replay steps.
319         Drive-by: fixed a bug in DataGrid (found by the JSCompiler).
320
321         * inspector/front-end/CanvasProfileView.js:
322         (WebInspector.CanvasProfileView):
323         (WebInspector.CanvasProfileView.prototype._createControlButton):
324         (WebInspector.CanvasProfileView.prototype._onReplayStepClick):
325         (WebInspector.CanvasProfileView.prototype._onReplayFirstStepClick):
326         (WebInspector.CanvasProfileView.prototype._onReplayLastStepClick):
327         (WebInspector.CanvasProfileView.prototype._enableWaitIcon):
328         (WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
329         (WebInspector.CanvasProfileView.prototype._replayTraceLog):
330         (WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
331         (WebInspector.CanvasProfileType.prototype._updateDecorationElement):
332         * inspector/front-end/DOMExtension.js:
333         (Element.prototype.enableStyleClass):
334         * inspector/front-end/DataGrid.js:
335         (WebInspector.DataGrid.prototype.setRootNode):
336         (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
337         (WebInspector.DataGrid.prototype.moveToNextIfNeeded):
338         (WebInspector.DataGrid.prototype._editingCommitted):
339         (WebInspector.DataGridNode):
340         * inspector/front-end/canvasProfiler.css:
341         (.canvas-replay-image):
342         (.canvas-replay-image.wait):
343         (.canvas-replay-controls):
344         (.canvas-replay-log):
345         (.canvas-control-button):
346         (.canvas-control-button:active):
347         (.canvas-control-button:disabled):
348         (.canvas-control-button img):
349         (.canvas-replay-first-step img):
350         (.canvas-replay-next-step img):
351         (.canvas-replay-prev-step img):
352         (.canvas-replay-last-step img):
353
354 2013-01-14  Tommy Widenflycht  <tommyw@google.com>
355
356         MediaStream API: Update the track accessors on MediaStream to match the latest specification
357         https://bugs.webkit.org/show_bug.cgi?id=106660
358
359         Reviewed by Adam Barth.
360
361         The spec has significantly changed how tracks are accessed from a MediaStream:
362         http://dev.w3.org/2011/webrtc/editor/getusermedia.html
363
364         In short: the attributes audioTrack/videoTrack that returned special MediaStreamTrackLists have been
365         replaced by the functions getAudioTracks()/getVideoTracks that return standard sequences of
366         MediaStreamTracks.
367
368         Existing tests updated and expanded to cover patch.
369
370         * CMakeLists.txt:
371         * GNUmakefile.list.am:
372         * Modules/mediastream/MediaStream.cpp:
373         (WebCore::MediaStream::create):
374         (WebCore::MediaStream::MediaStream):
375         (WebCore::MediaStream::~MediaStream):
376         (WebCore::MediaStream::readyState):
377         (WebCore):
378         (WebCore::MediaStream::addTrack):
379         (WebCore::MediaStream::removeTrack):
380         (WebCore::MediaStream::getTrackById):
381         (WebCore::MediaStream::streamEnded):
382         (WebCore::MediaStream::contextDestroyed):
383         (WebCore::MediaStream::scheduleDispatchEvent):
384         (WebCore::MediaStream::scheduledEventTimerFired):
385         * Modules/mediastream/MediaStream.h:
386         (MediaStream):
387         (WebCore::MediaStream::getAudioTracks):
388         (WebCore::MediaStream::getVideoTracks):
389         * Modules/mediastream/MediaStream.idl:
390         * Modules/mediastream/MediaStreamTrackList.cpp: Removed.
391         * Modules/mediastream/MediaStreamTrackList.h: Removed.
392         * Modules/mediastream/MediaStreamTrackList.idl: Removed.
393         * Modules/webaudio/AudioContext.cpp:
394         (WebCore::AudioContext::createMediaStreamSource):
395         * WebCore.gypi:
396         * dom/EventTargetFactory.in:
397         * platform/mediastream/MediaStreamDescriptor.h:
398         (WebCore::MediaStreamDescriptor::addAudioComponent):
399         (WebCore::MediaStreamDescriptor::removeAudioComponent):
400         (WebCore::MediaStreamDescriptor::addVideoComponent):
401         (WebCore::MediaStreamDescriptor::removeVideoComponent):
402
403 2013-01-14  Kentaro Hara  <haraken@chromium.org>
404
405         [V8] Add m_isolate to ScriptController, WorkerScriptController and V8DOMWindowShell
406         https://bugs.webkit.org/show_bug.cgi?id=106771
407
408         Reviewed by Adam Barth.
409
410         This is one of the steps to pass an Isolate everywhere.
411
412         No tests. No change in behavior.
413
414         * bindings/v8/ScriptController.cpp:
415         (WebCore::ScriptController::ScriptController):
416         (WebCore::ScriptController::windowShell):
417         * bindings/v8/ScriptController.h:
418         (ScriptController):
419         * bindings/v8/V8DOMWindowShell.cpp:
420         (WebCore::V8DOMWindowShell::create):
421         (WebCore::V8DOMWindowShell::V8DOMWindowShell):
422         (WebCore::V8DOMWindowShell::initializeIfNeeded):
423         (WebCore::V8DOMWindowShell::installDOMWindow):
424         * bindings/v8/V8DOMWindowShell.h:
425         (V8DOMWindowShell):
426         * bindings/v8/V8Initializer.cpp:
427         (WebCore::V8Initializer::initializeMainThreadIfNeeded):
428         (WebCore::V8Initializer::initializeWorker):
429         * bindings/v8/V8Initializer.h:
430         (V8Initializer):
431         * bindings/v8/WorkerScriptController.cpp:
432         (WebCore::WorkerScriptController::WorkerScriptController):
433         (WebCore::WorkerScriptController::initializeContextIfNeeded):
434
435 2013-01-14  Alexander Pavlov  <apavlov@chromium.org>
436
437         Web Inspector: [Styles] Color names parsed inside "background-image" values
438         https://bugs.webkit.org/show_bug.cgi?id=106770
439
440         Reviewed by Pavel Feldman.
441
442         Test: inspector/styles/url-color-swatch.html
443
444         Spaces were not allowed in url(...) CSS property values.
445
446         * inspector/front-end/StylesSidebarPane.js:
447
448 2013-01-14  Kentaro Hara  <haraken@chromium.org>
449
450         [V8] Pass an Isolate to associateObjectWithWrapper()
451         https://bugs.webkit.org/show_bug.cgi?id=106773
452
453         Reviewed by Adam Barth.
454
455         In preparation for making an Isolate parameter mandatory
456         in associateObjectWithWrapper(), this patch passes an
457         Isolate to associateObjectWithWrapper().
458
459         No tests. No change in behavior.
460
461         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
462         (WebCore::V8ArrayBuffer::constructorCallbackCustom):
463         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
464         (WebCore::wrapArrayBufferView):
465         (WebCore::constructWebGLArray):
466         * bindings/v8/custom/V8AudioContextCustom.cpp:
467         (WebCore::V8AudioContext::constructorCallbackCustom):
468         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
469         (WebCore::V8DOMFormData::constructorCallbackCustom):
470         * bindings/v8/custom/V8DataViewCustom.cpp:
471         (WebCore::V8DataView::constructorCallbackCustom):
472         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
473         (WebCore::v8HTMLImageElementConstructorCallback):
474         * bindings/v8/custom/V8IntentCustom.cpp:
475         (WebCore::V8Intent::constructorCallbackCustom):
476         * bindings/v8/custom/V8MessageChannelCustom.cpp:
477         (WebCore::V8MessageChannel::constructorCallbackCustom):
478         * bindings/v8/custom/V8MutationObserverCustom.cpp:
479         (WebCore::V8MutationObserver::constructorCallbackCustom):
480         * bindings/v8/custom/V8WebKitPointCustom.cpp:
481         (WebCore::V8WebKitPoint::constructorCallbackCustom):
482         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
483         (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
484
485 2013-01-14  Kentaro Hara  <haraken@chromium.org>
486
487         [V8] Call Isolate::GetCurrent() in a callback from WebCore
488         https://bugs.webkit.org/show_bug.cgi?id=106766
489
490         Reviewed by Adam Barth.
491
492         The objective is to pass an Isolate everywhere.
493         Given that a callback from WebCore is an entry point to V8,
494         we can call Isolate::GetCurrent() at the head of the callback
495         and pass it to other places. (In practice, handleEvent() is
496         the only callback used in the current WebKit.)
497
498         No tests. No change in behavior.
499
500         * bindings/scripts/CodeGeneratorV8.pm:
501         (GenerateCallbackImplementation):
502         (NativeToJSValue):
503         * bindings/scripts/test/V8/V8TestCallback.cpp:
504         (WebCore::V8TestCallback::callbackWithNoParam):
505         (WebCore::V8TestCallback::callbackWithClass1Param):
506         (WebCore::V8TestCallback::callbackWithClass2Param):
507         (WebCore::V8TestCallback::callbackWithStringList):
508         (WebCore::V8TestCallback::callbackWithBoolean):
509         (WebCore::V8TestCallback::callbackRequiresThisToPass):
510
511 2013-01-14  Tommy Widenflycht  <tommyw@google.com>
512
513         MediaStream API: Change MediaStream::readyState to an boolean attribute called ended.
514         https://bugs.webkit.org/show_bug.cgi?id=106568
515
516         Reviewed by Adam Barth.
517
518         See specification: http://dev.w3.org/2011/webrtc/editor/getusermedia.html
519
520         Existings tests updated to cover patch.
521
522         * Modules/mediastream/LocalMediaStream.cpp:
523         (WebCore::LocalMediaStream::stop):
524         * Modules/mediastream/MediaStream.cpp:
525         (WebCore::MediaStream::ended):
526         (WebCore::MediaStream::streamEnded):
527         * Modules/mediastream/MediaStream.h:
528         (MediaStream):
529         (WebCore::MediaStream::isLocal):
530         * Modules/mediastream/MediaStream.idl:
531         * Modules/mediastream/MediaStreamTrackList.cpp:
532         (WebCore::MediaStreamTrackList::add):
533         (WebCore::MediaStreamTrackList::remove):
534
535 2013-01-14  Alexander Pavlov  <apavlov@chromium.org>
536
537         Web Inspector: [Styles] HTML color names not converted to RGB/HEX/HSL when "Color format" feature used
538         https://bugs.webkit.org/show_bug.cgi?id=106767
539
540         Reviewed by Vsevolod Vlasov.
541
542         We used to render named colors as names regardless of the selected color format option.
543
544         * inspector/front-end/StylesSidebarPane.js:
545         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
546
547 2013-01-14  Andrei Bucur  <abucur@adobe.com>
548
549         Crash caused by incomplete cleanup of regions information for anonymous block
550         https://bugs.webkit.org/show_bug.cgi?id=106191
551
552         Reviewed by Abhishek Arya.
553
554         When an anonymous block is no longer required it is removed from the render tree and deleted. For example, this can happen when an anonymous block children change
555         from inlines to blocks. The patch updates the removeLeftoverAnonymousBlock function to delete the flow thread information attached to the obsolete anonymous block.
556         The removeFromRenderFlowThread() function is recursive and it needs to be called after the anonymous block children were reparented and the child list cleared.
557         I've also placed the children reset operation before clearing the parent because the latter also deletes the inRenderFlowThread flag from the object and it makes
558         flow thread ownership detection impossible.
559
560         Tests: fast/regions/remove-leftover-anon-block-crash.html
561
562         * rendering/RenderBlock.cpp:
563         (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
564
565 2013-01-14  Kentaro Hara  <haraken@chromium.org>
566
567         [V8] Make an Isolate parameter mandatory in v8DateOrNull()
568         https://bugs.webkit.org/show_bug.cgi?id=106765
569
570         Reviewed by Adam Barth.
571
572         This is one of the efforts to kill all optional Isolate parameters.
573
574         No tests. No change in behavior.
575
576         * bindings/v8/V8Binding.h:
577         (WebCore::v8DateOrNull):
578
579 2013-01-14  Pablo Flouret  <pablof@motorola.com>
580
581         Allow nesting of at-rules
582         https://bugs.webkit.org/show_bug.cgi?id=106696
583
584         Reviewed by Allan Sandfeld Jensen.
585
586         http://dev.w3.org/csswg/css3-conditional/ introduces the
587         concept of grouping rules, and allows for them to be nested. In
588         particular, this change affects @media (and is needed for @supports as
589         well).
590
591         Test: fast/css/nested-at-rules.html
592
593         * css/CSSGrammar.y.in:
594             Move media to the block_valid_rule list.
595
596         * css/RuleSet.cpp:
597         (WebCore::RuleSet::addRegionRule):
598         (WebCore::RuleSet::addChildRules):
599         (WebCore::RuleSet::addRulesFromSheet):
600         * css/RuleSet.h:
601             Rip out the rule-adding loop into a new method, for added
602             cleanliness and recursing.
603
604 2013-01-14  Eugene Klyuchnikov  <eustas@chromium.org>
605
606         Web Inspector: [Network] Add domain column
607         https://bugs.webkit.org/show_bug.cgi?id=106757
608
609         Reviewed by Pavel Feldman.
610
611         Adding new column will ease domain tracking / sorting.
612
613         * inspector/front-end/NetworkPanel.js: Added column.
614         * inspector/front-end/NetworkRequest.js:
615         (WebInspector.NetworkRequest.prototype.get domain): Added getter.
616
617 2013-01-14  Qiankun Miao  <qiankun.miao@intel.com>
618
619         Fix a typo error in the comments in PlatformContextSkia.h
620         https://bugs.webkit.org/show_bug.cgi?id=105612
621
622         Reviewed by Stephen White.
623
624         "If false we're rendering to a GraphicsContext for a web page, if false
625         we're not (as is the case when rendering to a canvas object)." is
626         self-contradictory. The second "flase" in the comments should be
627         "true". If true, we're rendering to an ImageBuffer which has a canvas
628         object.
629
630         * platform/graphics/skia/PlatformContextSkia.h:
631         (PlatformContextSkia):
632
633 2013-01-14  Ilya Tikhonovsky  <loislo@chromium.org>
634
635         Web Inspector: Native Memory Instrumentation: fix instrumentation for already instrumented classes 3/3
636         https://bugs.webkit.org/show_bug.cgi?id=106764
637
638         Reviewed by Vsevolod Vlasov.
639
640         Last three classes with not instrumented members were fixed.
641
642         * css/CSSGroupingRule.cpp:
643         (WebCore::CSSGroupingRule::reportMemoryUsage):
644         * css/StyleScopeResolver.cpp:
645         (WebCore::StyleScopeResolver::reportMemoryUsage):
646         * loader/cache/CachedResourceLoader.cpp:
647         (WebCore::CachedResourceLoader::reportMemoryUsage):
648
649 2013-01-10  Ilya Tikhonovsky  <loislo@chromium.org>
650
651         Web Inspector: Native Memory Instrumentation: fix instrumentation for already instrumented classes 2/N
652         https://bugs.webkit.org/show_bug.cgi?id=106546
653
654         Reviewed by Vsevolod Vlasov.
655
656         Many nontrivial class members were added into reportMemoryUsage methods.
657
658         * bindings/v8/V8PerIsolateData.cpp:
659         (WebCore::V8PerIsolateData::reportMemoryUsage):
660         * css/CSSMediaRule.cpp:
661         (WebCore::CSSMediaRule::reportMemoryUsage):
662         * css/CSSProperty.cpp:
663         (WebCore::CSSProperty::reportMemoryUsage):
664         * css/CSSStyleSheet.cpp:
665         (WebCore::CSSStyleSheet::reportMemoryUsage):
666         * css/MediaList.cpp:
667         (WebCore::MediaList::reportMemoryUsage):
668         * css/RuleSet.cpp:
669         (WebCore::RuleData::reportMemoryUsage):
670         (WebCore::RuleSet::reportMemoryUsage):
671         (WebCore::RuleSet::RuleSetSelectorPair::reportMemoryUsage):
672         * css/StyleResolver.cpp:
673         (WebCore::StyleResolver::MatchedPropertiesCacheItem::reportMemoryUsage):
674         (WebCore::StyleResolver::reportMemoryUsage):
675         * css/StyleSheetContents.cpp:
676         (WebCore::StyleSheetContents::reportMemoryUsage):
677         * dom/TreeScope.cpp:
678         (WebCore::TreeScope::reportMemoryUsage):
679         * inspector/HeapGraphSerializer.cpp:
680         (WebCore::HeapGraphSerializer::reportMemoryUsage):
681         * inspector/InspectorMemoryAgent.cpp:
682         * inspector/InspectorProfilerAgent.cpp:
683         (WebCore::InspectorProfilerAgent::reportMemoryUsage):
684         * inspector/MemoryInstrumentationImpl.cpp:
685         (WebCore::MemoryInstrumentationClientImpl::reportMemoryUsage):
686         * loader/DocumentLoader.cpp:
687         (WebCore::DocumentLoader::reportMemoryUsage):
688         * loader/FrameLoader.cpp:
689         (WebCore::FrameLoader::reportMemoryUsage):
690         * loader/MainResourceLoader.cpp:
691         (WebCore::MainResourceLoader::reportMemoryUsage):
692         * loader/Prerenderer.cpp:
693         (WebCore::Prerenderer::reportMemoryUsage):
694         * loader/ResourceLoader.cpp:
695         (WebCore::ResourceLoader::reportMemoryUsage):
696         * loader/cache/CachedImage.cpp:
697         (WebCore::CachedImage::reportMemoryUsage):
698         * page/Page.cpp:
699         (WebCore::Page::reportMemoryUsage):
700
701 2013-01-13  Levi Weintraub  <leviw@chromium.org>
702
703         Unreviewed gardening. Rolling out r139537. It broke platforms without sub-pixel layout.
704
705         * dom/Element.cpp:
706         (WebCore::Element::offsetWidth):
707         (WebCore::Element::offsetHeight):
708         (WebCore::Element::clientWidth):
709         (WebCore::Element::clientHeight):
710         * rendering/RenderObject.h:
711         (WebCore::adjustLayoutUnitForAbsoluteZoom):
712         * rendering/style/RenderStyle.h:
713         (WebCore::adjustLayoutUnitForAbsoluteZoom):
714
715 2013-01-13  Dima Gorbik  <dgorbik@apple.com>
716
717         Styling disappears from the cue that's being styled by ::cue pseudo element
718         https://bugs.webkit.org/show_bug.cgi?id=106723
719
720         Reviewed by Antti Koivisto.
721
722         Fixes a regression caused by r138966. Setting a pseudoId in TextTrackCue::updateDisplayTree for m_allDocumentNodes
723         was triggering recalculating styles the next run loop. Now when this was removed we append the WebVTT tree after its children have
724         been marked by markFutureAndPastNodes so that correct styles are set within this append call.
725
726         Test: media/track/track-css-cue-lifetime.html
727
728         * html/track/TextTrackCue.cpp:
729         (WebCore::TextTrackCue::markFutureAndPastNodes): changing the type of the first argument because DocumentFragment is not a subclass
730         of Element.
731         (WebCore::TextTrackCue::updateDisplayTree): appending the WebVTT rendering tree after its children have been marked properly.
732         * html/track/TextTrackCue.h:
733         (TextTrackCue):
734
735 2013-01-12  David Grogan  <dgrogan@chromium.org>
736
737         IndexedDB: Provide LevelDB with IDBEnv instead of Env::Default
738         https://bugs.webkit.org/show_bug.cgi?id=106135
739
740         Reviewed by Tony Chang.
741
742         IDBEnv only changes the name of the histogram where errors are logged.
743
744         * platform/leveldb/LevelDBDatabase.cpp:
745         (WebCore::LevelDBDatabase::destroy):
746         (WebCore::LevelDBDatabase::open):
747         (WebCore::LevelDBDatabase::openInMemory):
748
749 2013-01-12  Gavin Peters  <gavinp@chromium.org>
750
751         Regression(r119759): Heap-use-after-free in webkit_glue::WebURLLoaderImpl::Context::OnReceivedResponse
752         https://bugs.webkit.org/show_bug.cgi?id=103563
753
754         A subresource could receive a body on a 404 if its call to CachedResource::error() resulted in a nested message loop.
755         That caused a crash when data was received, as the Subresource was in the Finished state already. Now when receiving
756         data we ignore these bodies, avoiding the crash.
757
758         Reviewed by Nate Chapin.
759
760         No new tests in WebKit, since it required a nested message loop which isn't present in chromium DumpRender tree.
761         There's a Chrome side browser test, see https://codereview.chromium.org/11778083/
762
763         * loader/SubresourceLoader.cpp:
764         (WebCore::SubresourceLoader::checkForHTTPStatusCodeError):
765
766 2013-01-12  Robert Hogan  <robert@webkit.org>
767
768         Available height should respect min and max height
769         https://bugs.webkit.org/show_bug.cgi?id=106479
770
771         Reviewed by Ojan Vafai.
772         
773         When calculating a relative positioned block's offset as a percentage of its container, respect the min
774         and max height set on the container
775
776         Tests: fast/block/percent-top-respects-max-height.html
777                fast/block/percent-top-respects-min-height.html
778
779         * rendering/RenderBox.cpp:
780         (WebCore::RenderBox::availableLogicalHeight):
781
782 2013-01-12  Victor Carbune  <victor@rosedu.org>
783
784         CC Button doesn't always show up
785         https://bugs.webkit.org/show_bug.cgi?id=106653
786
787         Reviewed by Eric Carlson.
788
789         Added extra checks to existing test.
790
791         * html/shadow/MediaControls.cpp:
792         (WebCore::MediaControls::closedCaptionTracksChanged):
793         Enforced visibility of captions button whenever the track list changes.
794         (WebCore):
795         * html/shadow/MediaControls.h:
796         (MediaControls):
797
798 2013-01-11  Dan Beam  <dbeam@chromium.org>
799
800         [clean up] Remove HTMLFormElement::AutocompleteResultError in favor of more specific Error reasons
801         https://bugs.webkit.org/show_bug.cgi?id=106610
802
803         Reviewed by Darin Fisher.
804
805         No new tests (none needed).
806
807         * html/HTMLFormElement.cpp: 
808         (WebCore::HTMLFormElement::finishRequestAutocomplete): Removed handling of AutocompleteResultError.
809         * html/HTMLFormElement.h: Removed HTMLFormElement::AutocompleteResultError in favor of more specific errors.
810
811 2013-01-10  Filip Pizlo  <fpizlo@apple.com>
812
813         JITThunks should not compile only because of luck
814         https://bugs.webkit.org/show_bug.cgi?id=105696
815
816         Rubber stamped by Sam Weinig.
817
818         All .cpp files that use the JSC internal API must now transitively include
819         Operations.h, and none of the major JSC headers do it for you to avoid
820         circularity. WebCore doesn't have to worry about circularity with JSC, so
821         this changes all of the major WebCore JSC base headers to include
822         Operations.h.
823
824         * bindings/js/BindingState.h:
825         * bindings/js/JSArrayBufferViewHelper.h:
826         * bindings/js/JSCustomXPathNSResolver.h:
827         * bindings/js/JSDOMBinding.h:
828         * bindings/js/JSDOMGlobalObject.h:
829         * bindings/js/JSDictionary.h:
830         * bindings/js/JSMessagePortCustom.h:
831         * bindings/js/JSNodeFilterCondition.h:
832         * bindings/js/ScriptValue.h:
833         * bindings/js/ScriptWrappable.h:
834         * bindings/js/SerializedScriptValue.cpp:
835         * bridge/c/c_utility.h:
836         * bridge/jsc/BridgeJSC.h:
837         * dom/Node.cpp:
838         * html/HTMLCanvasElement.cpp:
839         * html/HTMLImageLoader.cpp:
840         * plugins/efl/PluginViewEfl.cpp:
841         * xml/XMLHttpRequest.cpp:
842
843 2013-01-11  Emil A Eklund  <eae@chromium.org>
844
845         offsetWidth/height incorrect for images when zoomed
846         https://bugs.webkit.org/show_bug.cgi?id=106624
847
848         Reviewed by Levi Weintraub.
849         
850         offsetWidth and height are incorrect for images at certain zoom
851         levels due to flooring the values ones adjusted for zoom.
852         By rounding the value instead we avoid the problem and return
853         the right size.
854
855         Test: fast/images/zoomed-offset-size.html
856
857         * dom/Element.cpp:
858         (WebCore::Element::offsetWidth):
859         (WebCore::Element::offsetHeight):
860         (WebCore::Element::clientWidth):
861         (WebCore::Element::clientHeight):
862         Change to round (as opposed to floor) the zoom adjusted value.
863         
864         * rendering/RenderObject.h:
865         (WebCore::adjustLayoutUnitForAbsoluteZoom):
866         * rendering/style/RenderStyle.h:
867         (WebCore::adjustLayoutUnitForAbsoluteZoom):
868         Add LayoutUnit version of adjustForAbsoluteZoom to avoid float
869         conversion.
870
871 2013-01-11  Ojan Vafai  <ojan@chromium.org>
872
873         Fixed width overrides intrinsic min-width/max-width for text inputs and listboxes
874         https://bugs.webkit.org/show_bug.cgi?id=106675
875
876         Reviewed by Emil A Eklund.
877
878         Implement computeIntrinsicLogicalWidths so that RenderBox::computeLogicalWidthInRegionUsing
879         can get the correct intrinsic sizes instead of the preferred sizes.
880
881         Test: fast/forms/select/listbox-intrinsic-min-width-applies-with-fixed-width.html
882
883         * rendering/RenderListBox.cpp:
884         (WebCore::RenderListBox::computeIntrinsicLogicalWidths):
885         (WebCore):
886         (WebCore::RenderListBox::computePreferredLogicalWidths):
887         * rendering/RenderListBox.h:
888         (RenderListBox):
889         * rendering/RenderTextControl.cpp:
890         (WebCore::RenderTextControl::computeIntrinsicLogicalWidths):
891         (WebCore):
892         (WebCore::RenderTextControl::computePreferredLogicalWidths):
893         * rendering/RenderTextControl.h:
894         (RenderTextControl):
895
896 2013-01-10  Ojan Vafai  <ojan@chromium.org>
897
898         Setting width overrides intrinsic min-width/max-width on flexboxes and their subclasses
899         https://bugs.webkit.org/show_bug.cgi?id=106617
900
901         Reviewed by Tony Chang.
902
903         Override computeIntrinsicLogicalWidths for all RenderFlexibleBox and RenderDeprecatedFlexibleBox
904         classes that override computePreferredLogicalWidths so that RenderBox can use
905         computeIntrinsicLogicalWidths in order to get the correct intrinsic values.
906
907         Tests: css3/flexbox/intrinsic-min-width-applies-with-fixed-width.html
908                fast/flexbox/intrinsic-min-width-applies-with-fixed-width.html
909                fast/forms/select/intrinsic-min-width-applies-with-fixed-width.html
910
911         * rendering/RenderBox.cpp:
912         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
913         fit-content needs to use the intrinsic sizes not the preferred sizes
914         since a fixed width overrides the preferred size.
915         As best I can tell, the sizesLogicalWidthToFitContent codepath can keep
916         using preferred widths, which are considerably faster, since that's only used
917         computing width values. Added a clause to that if-statement to make this more
918         explicit.
919
920         * rendering/RenderDeprecatedFlexibleBox.cpp:
921         (WebCore::RenderDeprecatedFlexibleBox::computeIntrinsicLogicalWidths):
922         (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
923         * rendering/RenderDeprecatedFlexibleBox.h:
924         (RenderDeprecatedFlexibleBox):
925         * rendering/RenderFlexibleBox.cpp:
926         (WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths):
927         (WebCore):
928         (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
929         * rendering/RenderFlexibleBox.h:
930         * rendering/RenderMenuList.cpp:
931         (WebCore::RenderMenuList::computeIntrinsicLogicalWidths):
932         (WebCore):
933         (WebCore::RenderMenuList::computePreferredLogicalWidths):
934         * rendering/RenderMenuList.h:
935         (RenderMenuList):
936         * rendering/RenderSlider.cpp:
937         (WebCore::RenderSlider::computeIntrinsicLogicalWidths):
938         (WebCore):
939         (WebCore::RenderSlider::computePreferredLogicalWidths):
940         * rendering/RenderSlider.h:
941         (RenderSlider):
942         No logic changes in any of these computeIntrinsic methods. Just moving
943         the code over from the computePreferred methods.
944
945 2013-01-11  Tony Gentilcore  <tonyg@chromium.org>
946
947         Move HTMLTokenTypes to its own file
948         https://bugs.webkit.org/show_bug.cgi?id=106722
949
950         Reviewed by Levi Weintraub.
951
952         Also mark AtomicHTMLToken ctor as explicit.
953
954         No new tests because no new functionality.
955
956         * GNUmakefile.list.am:
957         * Target.pri:
958         * WebCore.gypi:
959         * WebCore.vcproj/WebCore.vcproj:
960         * WebCore.xcodeproj/project.pbxproj:
961         * html/parser/HTMLToken.h:
962         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
963         * html/parser/HTMLTokenTypes.h: Added.
964         (WebCore):
965         (HTMLTokenTypes):
966         (DoctypeData):
967         (WebCore::HTMLTokenTypes::DoctypeData::DoctypeData):
968
969 2013-01-11  Elliott Sprehn  <esprehn@chromium.org>
970
971         No need to initialize RefPtrs to 0 in ElementRareData
972         https://bugs.webkit.org/show_bug.cgi?id=106717
973
974         Reviewed by Ryosuke Niwa.
975
976         RefPtrs initialize themself to null, so there's no reason
977         to do it manually. This was code leftover from when
978         PseudoElements were stored in bare ptrs instead of in
979         RefPtrs.
980
981         No new tests, just refactoring.
982
983         * dom/ElementRareData.h:
984         (WebCore::ElementRareData::ElementRareData):
985
986 2013-01-11  Huang Dongsung  <luxtella@company100.net>
987
988         [TexMap] Rename current[Transform|Opacity|Filters] in TextureMapperLayer.
989         https://bugs.webkit.org/show_bug.cgi?id=105760
990
991         Reviewed by Noam Rosenthal.
992
993         TextureMapperLayer has two transform members: an original value and a
994         changeable value. The changeable value would be changed by animations.
995         This patch puts 'current' prefix on the changeable value to clarify
996         its purpose. Opacity and filters ditto.
997
998         No new tests. Refactoring only.
999
1000         * platform/graphics/texmap/TextureMapperLayer.cpp:
1001         (WebCore::TextureMapperLayer::computeTransformsRecursive):
1002         (WebCore::TextureMapperLayer::paintSelf):
1003         (WebCore::TextureMapperLayer::paintSelfAndChildren):
1004         (WebCore::TextureMapperLayer::intermediateSurfaceRect):
1005         (WebCore::TextureMapperLayer::shouldPaintToIntermediateSurface):
1006         (WebCore::TextureMapperLayer::isVisible):
1007         (WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
1008         (WebCore::TextureMapperLayer::paintRecursive):
1009         (WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):
1010         (WebCore::TextureMapperLayer::syncAnimations):
1011         (WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):
1012         * platform/graphics/texmap/TextureMapperLayer.h:
1013         (WebCore::TextureMapperLayer::TextureMapperLayer):
1014         (TextureMapperLayer):
1015         (WebCore::TextureMapperLayer::State::State):
1016
1017 2013-01-11  Tony Gentilcore  <tonyg@chromium.org>
1018
1019         Move constructTreeFromHTMLToken into HTMLDocumentParser
1020         https://bugs.webkit.org/show_bug.cgi?id=106694
1021
1022         Reviewed by Adam Barth.
1023
1024         This way it will sit parallel to a new constructTreeFromCompactHTMLToken method.
1025
1026         No new tests because no new functionality.
1027
1028         * html/parser/HTMLDocumentParser.cpp:
1029         (WebCore::HTMLDocumentParser::pumpTokenizer):
1030         (WebCore::HTMLDocumentParser::constructTreeFromHTMLToken):
1031         (WebCore):
1032         * html/parser/HTMLDocumentParser.h:
1033         * html/parser/HTMLTreeBuilder.cpp:
1034         * html/parser/HTMLTreeBuilder.h:
1035         (HTMLTreeBuilder):
1036
1037 2013-01-11  Robert Iannucci  <iannucci@chromium.org>
1038
1039         Explicitly set msvs_cygwin_shell to true for actions in WebKit
1040         https://bugs.webkit.org/show_bug.cgi?id=106706
1041
1042         Reviewed by Tony Chang.
1043
1044         Currently, msvs_cygwin_shell is set to 1 by default. This patch
1045         explicitly sets it on the actions which will break if msvs_cygwin_shell
1046         were set to 0. This is in preparation for changing the default value of
1047         msvs_cygwin_shell, which in turn is in preparation of the removal of
1048         cygwin as a buld-system requirement.
1049
1050         Since this change will have no semantic effect, no new tests are
1051         required.
1052
1053         * WebCore.gyp/WebCore.gyp:
1054
1055 2013-01-11  Joshua Bell  <jsbell@chromium.org>
1056
1057         IndexedDB: IDBTransaction should manage lifetime of IDBRequests
1058         https://bugs.webkit.org/show_bug.cgi?id=106678
1059
1060         Reviewed by Tony Chang.
1061
1062         Ensure reference count of IDBRequests don't bounce off zero if there are no script
1063         references are while the events are arriving.
1064
1065         No new tests - no detectable behavior changes.
1066
1067         * Modules/indexeddb/IDBRequest.cpp:
1068         (WebCore::IDBRequest::create): Register with transaction (which now takes a ref) here to...
1069         (WebCore::IDBRequest::IDBRequest): ...avoid having to relax adoption requirements here.
1070         * Modules/indexeddb/IDBTransaction.cpp: Keep RefPtr<>s to outstanding requests.
1071         (WebCore::IDBTransaction::~IDBTransaction):
1072         (WebCore::IDBTransaction::abort):
1073         (WebCore::IDBTransaction::onAbort):
1074         * Modules/indexeddb/IDBTransaction.h:
1075
1076 2013-01-11  James Simonsen  <simonjam@chromium.org>
1077
1078         [Resource Timing] XMLHttpRequests should have initiator type 'xmlhttprequest'
1079         https://bugs.webkit.org/show_bug.cgi?id=106409
1080
1081         Reviewed by Nate Chapin.
1082
1083         The initiator is passed through ThreadableLoaderOptions to the CachedResourceRequest. This is
1084         optional, so other users of ThreadableLoader will have the default initiator of 'request'. Note
1085         that synchronous XHRs don't show up in the Resource Timing buffer yet.
1086
1087         Test: http/tests/w3c/webperf/submission/resource-timing/html/test_resource_initiator_types.html
1088
1089         * loader/DocumentThreadableLoader.cpp:
1090         (WebCore::DocumentThreadableLoader::loadRequest):
1091         * loader/ThreadableLoader.h:
1092         (ThreadableLoaderOptions):
1093         * loader/cache/CachedResourceRequestInitiators.cpp:
1094         (WebCore::CachedResourceRequestInitiators::CachedResourceRequestInitiators):
1095         * loader/cache/CachedResourceRequestInitiators.h:
1096         (CachedResourceRequestInitiators):
1097         * xml/XMLHttpRequest.cpp:
1098         (WebCore::XMLHttpRequest::createRequest):
1099
1100 2013-01-11  James Simonsen  <simonjam@chromium.org>
1101
1102         Restore old semantics to webkitRequestAnimationFrame callbacks
1103         https://bugs.webkit.org/show_bug.cgi?id=106697
1104
1105         Reviewed by James Robinson.
1106
1107         Sites that use GWT <= 2.4 are buggy and rely on Date.now()-like callback values.
1108         We'll restore that behavior to the prefixed version of webkitRequestAnimationFrame.
1109         requestAnimationFrame will continue to follow the spec.
1110
1111         Test: fast/animation/request-animation-frame-prefix.html
1112
1113         * dom/RequestAnimationFrameCallback.h:
1114         (RequestAnimationFrameCallback):
1115         * dom/ScriptedAnimationController.cpp:
1116         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
1117         * page/DOMWindow.cpp:
1118         (WebCore::DOMWindow::requestAnimationFrame):
1119         (WebCore):
1120         (WebCore::DOMWindow::webkitRequestAnimationFrame):
1121         * page/DOMWindow.h:
1122         (DOMWindow):
1123         * page/DOMWindow.idl:
1124
1125 2013-01-11  Sheriff Bot  <webkit.review.bot@gmail.com>
1126
1127         Unreviewed, rolling out r139044.
1128         http://trac.webkit.org/changeset/139044
1129         https://bugs.webkit.org/show_bug.cgi?id=106702
1130
1131         Caused various scrolling anomolies on Mac with drag and drop
1132         (Requested by smfr on #webkit).
1133
1134         * page/AutoscrollController.cpp:
1135         (WebCore::AutoscrollController::AutoscrollController):
1136         (WebCore::AutoscrollController::autoscrollTimerFired):
1137         * page/AutoscrollController.h:
1138         (WebCore):
1139         (AutoscrollController):
1140         * page/EventHandler.cpp:
1141         (WebCore::EventHandler::updateDragAndDrop):
1142         * rendering/RenderBox.cpp:
1143         (WebCore):
1144         (WebCore::RenderBox::autoscroll):
1145         * rendering/RenderBox.h:
1146         (RenderBox):
1147         * rendering/RenderLayer.cpp:
1148         (WebCore::RenderLayer::autoscroll):
1149         * rendering/RenderLayer.h:
1150         (RenderLayer):
1151         * rendering/RenderListBox.cpp:
1152         (WebCore::RenderListBox::autoscroll):
1153         * rendering/RenderListBox.h:
1154         (RenderListBox):
1155         * rendering/RenderTextControlSingleLine.cpp:
1156         (WebCore::RenderTextControlSingleLine::autoscroll):
1157         * rendering/RenderTextControlSingleLine.h:
1158         (RenderTextControlSingleLine):
1159
1160 2013-01-11  Rafael Weinstein  <rafaelw@chromium.org>
1161
1162         Prevent HTMLPreloadScanner from fetching resources inside <template>
1163         https://bugs.webkit.org/show_bug.cgi?id=106687
1164
1165         Reviewed by Adam Barth.
1166
1167         This patch adds a simple counter to the preload scanner which increments on template start
1168         tag and decrements on template element. It only fetchs resources when the counter is at zero
1169         (i.e. for elements not contained by a template element).
1170
1171         Test re-enabled within fast/dom/HTMLTemplateElement/inertContents.html
1172
1173         * html/parser/HTMLPreloadScanner.cpp:
1174         (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
1175         (WebCore::HTMLPreloadScanner::processToken):
1176         * html/parser/HTMLPreloadScanner.h:
1177         (HTMLPreloadScanner):
1178
1179 2013-01-11  Tony Gentilcore  <tonyg@chromium.org>
1180
1181         We should be able to checkpoint and restore the HTMLTokenizer across threads
1182         https://bugs.webkit.org/show_bug.cgi?id=106597
1183
1184         Based on patch by Adam Barth.
1185
1186         This has the ability to create a checkpoint any time the parser is blocked on a script.
1187         We clear m_appropriateEndTagName after each end tag is flushed so that the ASSERT in
1188         canCreateCheckpoint() will pass.
1189
1190         Reviewed by Adam Barth.
1191
1192         No new tests because no new functionality.
1193
1194         * html/parser/HTMLDocumentParser.cpp:
1195         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
1196         (WebCore::HTMLDocumentParser::pumpTokenizer):
1197         * html/parser/HTMLDocumentParser.h:
1198         (WebCore):
1199         (HTMLDocumentParser):
1200         * html/parser/HTMLTokenizer.cpp:
1201         (WebCore):
1202         (WebCore::HTMLTokenizer::canCreateCheckpoint):
1203         (WebCore::HTMLTokenizer::createCheckpoint):
1204         (WebCore::HTMLTokenizer::restoreFromCheckpoint):
1205         * html/parser/HTMLTokenizer.h:
1206         (HTMLTokenizer):
1207         (Checkpoint):
1208         (WebCore::HTMLTokenizer::Checkpoint::Checkpoint):
1209         * xml/parser/MarkupTokenizerBase.h:
1210         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::InputStreamPreprocessor):
1211         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::skipNextNewLine):
1212         (InputStreamPreprocessor):
1213         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::reset):
1214
1215 2013-01-11  Tony Chang  <tony@chromium.org>
1216
1217         [chromium] Don't regenerate all bindings when any idl file changes
1218         https://bugs.webkit.org/show_bug.cgi?id=106604
1219
1220         Reviewed by Kentaro Hara.
1221
1222         Currently, every idl file is a dependency of generating the supplemental dependency map
1223         and generating bindings is a dependency of the map. This means that touching any idl file
1224         causes us to regenerate all the bindings.
1225
1226         Change it so that generating bindings only depends on the idl files that have Supplemental= in them.
1227         We only have 24 idl files with Supplemental (3.7% of the 638 idl files in WebCore) so modifying
1228         any of those will cause all bindings to be regenerated.
1229
1230         If you add or remove a new idl file, you have to rerun gyp which will fix up any dependencies.
1231         If you edit an existing file and add Supplemental= to it, you will now need to rerun gyp_{webkit,chromium}.
1232         I think that's a reasonable tradeoff since it seems highly unlikely that you would adding Supplemental=
1233         to an existing file without renaming it. The bots will always be fine because they always run
1234         gyp after updating.
1235
1236         No new tests, this is a build only change.
1237
1238         * WebCore.gyp/WebCore.gyp: Remove <(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp, which was causing
1239         the full rebuild. The step to generate this file is still a hard dependency so it will still be generated and
1240         used by generate-bindings.pl. Also remove <@(webcore_test_support_idl_files). This was saying we should regenerate
1241         all bindings if a test idl file changed. That doesn't make sense.
1242         * WebCore.gyp/scripts/supplemental_idl_files.py: Added.
1243         (DoMain):
1244
1245 2013-01-11  Alexandru Chiculita  <achicu@adobe.com>
1246
1247         Element is displayed behind a composited layer when clipping is used on a previous element
1248         https://bugs.webkit.org/show_bug.cgi?id=104981
1249
1250         Reviewed by Simon Fraser.
1251
1252         RenderLayerCompositor::computeCompositingRequirements uses the local bounding box of the layers to optimize the number of composited 
1253         layers that are created. That's needed in order to make sure that composited layers that are displayed behind non-composited
1254         layers are correctly promoting the layers in front to be composited. Otherwise the non-composited layers are rendered
1255         in the parent composited layer, displaying behind the other composited layers. That might be wrong as the correct paint order might not be
1256         preserved.
1257
1258         In order to make animations work, there's a flag that will disable that optimization. That's because the animations run in the platform
1259         layer and the platform layer doesn't know about the layers that are not promoted to composited layers. When the overlapping of the layers
1260         is computed it just uses the start or the stop state, but no intermediate states. For that reason, all the 'top' layers in front of animated 
1261         elements will become composited.
1262
1263         When an animation has a clipping rectangle, then we know for sure that the animation is going to be contained inside the clip area, so WebKit 
1264         uses the bounding box of the clipping area to detect the overlapping layers, so there's no need to disable the optimization in that case.
1265
1266         However, if there is a different animation displaying behind the clipping container, we cannot safely disable that optimization anymore. That's
1267         because we still don't know what are the intermediate states of that particular animated layer. The bug was that the optimization was re-enabled
1268         anyway, even in this particular case.
1269
1270         In order to fix it, I changed the logic, so that instead of re-enabling the optimization after a clipping container, it will just avoid to propagate 
1271         the internal state to the following layers when there's no need to so.
1272
1273         Note that 3D transforms behave like animations for now and disable the optimization. Because of that some of the existing tests ended up
1274         creating more layers than needed. That's because the tests had an overflow area that recreated the issue that this patch fixes, but with
1275         3D transforms instead of animations. 3D transforms will be treated in a separate patch.
1276
1277         Tests: compositing/layer-creation/overlap-animation-clipping.html
1278                compositing/layer-creation/overlap-animation-container.html
1279
1280         * rendering/RenderLayerCompositor.cpp:
1281         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1282
1283 2013-01-11  Philip Rogers  <pdr@google.com>
1284
1285         Skip CachedImage::CreateImage if we don't have image data
1286         https://bugs.webkit.org/show_bug.cgi?id=106156
1287
1288         Reviewed by Nate Chapin.
1289
1290         This patch skips image creation if we do not have image data. This can occur during
1291         cache revalidation when the revalidation request (304 not modified) comes back without
1292         any content. In this revalidation case, the http spec requires that a mimetype not be set
1293         on the response to prevent a cached resource from having a different mimetype
1294         from the revalidated resource. Because revalidation requests do not have a mimetype,
1295         CachedImage::CreateImage() will fail on SVG images. This patch prevents
1296         CachedImage::CreateImage() from being called during revalidation.
1297
1298         No new tests as there are no observable changes from this patch.
1299
1300         * loader/cache/CachedImage.cpp:
1301         (WebCore::CachedImage::data):
1302
1303 2013-01-11  Kentaro Hara  <haraken@chromium.org>
1304
1305         Unreviewed. Rebaselined run-bindings-tests.
1306
1307         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1308         (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
1309         (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
1310         * bindings/scripts/test/V8/V8TestException.cpp:
1311         (WebCore::TestExceptionV8Internal::nameAttrGetter):
1312         * bindings/scripts/test/V8/V8TestInterface.cpp:
1313         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetter):
1314         (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
1315         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
1316         * bindings/scripts/test/V8/V8TestObj.cpp:
1317         (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
1318         (WebCore::TestObjV8Internal::staticStringAttrAttrGetter):
1319         (WebCore::TestObjV8Internal::stringAttrAttrGetter):
1320         (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
1321         (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
1322         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
1323         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
1324         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
1325         (WebCore::TestObjV8Internal::hashAttrGetter):
1326         (WebCore::TestObjV8Internal::conditionalMethod1Callback):
1327
1328 2013-01-11  Levi Weintraub  <leviw@chromium.org>
1329
1330         RenderGeometryMap and TransformState disagree with sub-pixel layout and translations
1331         https://bugs.webkit.org/show_bug.cgi?id=106047
1332
1333         Reviewed by Simon Fraser.
1334
1335         Mirror RenderGeometryMap's optimization for integer-translated transforms in TransformState.
1336         This avoids the current behavior where the two can disagree on mappings, since RenderGeometryMap
1337         pixel-snapped later when a translation occurred between two sub-pixel containers.
1338
1339         Test: fast/layers/geometry-map-transform-state-translation-mismatch.html
1340
1341         * platform/graphics/transforms/TransformState.h:
1342         (WebCore::TransformState::setQuad): Clear accumulatedOffset when setting a new quad. Note: this
1343         implementation only works properly when only tracking a quad.
1344         * platform/graphics/transforms/TransformState.cpp:
1345         (WebCore::TransformState::applyTransform): apply integral translations to the accumulatedOffset
1346         for performance and consistency with RenderGeometryMap.
1347
1348 2013-01-11  Abhishek Arya  <inferno@chromium.org>
1349
1350         Heap-use-after-free in WebCore::RenderText::computePreferredLogicalWidths
1351         https://bugs.webkit.org/show_bug.cgi?id=95901
1352
1353         Reviewed by Simon Fraser.
1354
1355         Prevent re-entrancy of view layout. Loading of SVG document during font load
1356         causes it to re-enter layout and blowing the style away from underneath.
1357         
1358         Test: Go to http://www.speckproducts.com and make sure crash does not happen.
1359
1360         * dom/Document.cpp:
1361         (WebCore::Document::updateLayout):
1362
1363 2013-01-11  Kentaro Hara  <haraken@chromium.org>
1364
1365         [V8] Do not create a local handle for a cached v8 string that is returned to V8 immediately
1366         https://bugs.webkit.org/show_bug.cgi?id=106557
1367
1368         Reviewed by Adam Barth.
1369
1370         Currently we are always creating a local handle for a cached
1371         V8 string returned to V8:
1372
1373           Handle<Value> v8String(StringImpl* impl, Isolate* isolate) {
1374             ...;
1375             return Local<String>::New(isolate, m_cachedString);
1376           }
1377
1378         However, we don't need to create a local handle in a case
1379         where it is guaranteed that no V8 object allocation is conducted
1380         before a control flow returns back to V8. In particular, in a case
1381         where a cached V8 string is immediately returned to V8, we don't
1382         need to create a local handle:
1383
1384           Handle<Value> xxxxAttrGetter() {
1385             ...;
1386             return v8String(imp->xxxx(), isolate);  // This can return a persistent handle safely.
1387           }
1388
1389         This patch improves performance of div.id by 9.2%.
1390
1391         No tests. No change in behavior.
1392
1393         * bindings/scripts/CodeGeneratorV8.pm:
1394         (GenerateNormalAttrGetter):
1395         (GenerateCallbackImplementation):
1396         (GenerateFunctionCallString):
1397         (NativeToJSValue):
1398         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1399         (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
1400         (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
1401         * bindings/scripts/test/V8/V8TestException.cpp:
1402         (WebCore::TestExceptionV8Internal::nameAttrGetter):
1403         * bindings/scripts/test/V8/V8TestInterface.cpp:
1404         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetter):
1405         (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
1406         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
1407         * bindings/scripts/test/V8/V8TestObj.cpp:
1408         (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
1409         (WebCore::TestObjV8Internal::staticStringAttrAttrGetter):
1410         (WebCore::TestObjV8Internal::stringAttrAttrGetter):
1411         (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
1412         (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
1413         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
1414         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
1415         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
1416         (WebCore::TestObjV8Internal::hashAttrGetter):
1417         (WebCore::TestObjV8Internal::conditionalMethod1Callback):
1418         * bindings/v8/V8Binding.h:
1419         (WebCore::v8String):
1420         (WebCore::v8StringOrNull):
1421         (WebCore::v8StringOrUndefined):
1422         * bindings/v8/V8ValueCache.cpp:
1423         (WebCore::StringCache::v8ExternalStringSlow):
1424         * bindings/v8/V8ValueCache.h:
1425         (WebCore::StringCache::v8ExternalString):
1426         (StringCache):
1427
1428 2013-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
1429
1430         Unreviewed. Fix make distcheck.
1431
1432         * GNUmakefile.list.am: Add missing header files.
1433
1434 2013-01-11  Xianzhu Wang  <wangxianzhu@chromium.org>
1435
1436         RenderLayerCompositor should let ScrollingCoordinator update main thread scrolling reasons after change of layers
1437         https://bugs.webkit.org/show_bug.cgi?id=105652
1438
1439         Reviewed by Simon Fraser.
1440
1441         Let ScrollingCoordinator know the change of ViewportConstrainedNotCompositedReason in time.
1442         By the way moved RenderLayerCompositor::FixedPositionLayerNotCompositedReason to RenderLayer::ViewportConstrainedNotCompositedReason.
1443
1444         Tests: compositing/layer-creation/fixed-position-in-view-dynamic.html
1445                compositing/layer-creation/fixed-position-out-of-view-dynamic.html
1446
1447         * page/scrolling/ScrollingCoordinator.cpp:
1448         (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects):
1449         (WebCore::ScrollingCoordinator::mainThreadScrollingReasons):
1450         (WebCore::ScrollingCoordinator::mainThreadScrollingReasonsAsText):
1451         * page/scrolling/ScrollingCoordinator.h:
1452         (ScrollingCoordinator):
1453         * page/scrolling/mac/ScrollingCoordinatorMac.h:
1454         (WebCore::ScrollingCoordinatorMac::hasVisibleSlowRepaintViewportConstrainedObjects):
1455         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1456         (WebCore::logThreadedScrollingMode):
1457         * rendering/RenderLayer.cpp:
1458         (WebCore::RenderLayer::RenderLayer):
1459         (WebCore::RenderLayer::paintLayer):
1460         * rendering/RenderLayer.h:
1461         (RenderLayer): Moved RenderLayerCompositor::FixedPositionLayerNotCompositedReason to here and renamed it to ViewportConstrainedNotCompositedReason.
1462         (WebCore::RenderLayer::setViewportConstrainedNotCompositedReason):
1463         (WebCore::RenderLayer::viewportConstrainedNotCompositedReason):
1464         * rendering/RenderLayerCompositor.cpp:
1465         (WebCore::RenderLayerCompositor::updateCompositingLayers):
1466         (WebCore::RenderLayerCompositor::updateBacking): Now updates ViewportConstrainedNotCompositedReason here instead of in computeCompositingRequirements before so that the reason is updated in time.
1467         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1468         (WebCore::RenderLayerCompositor::needsToBeComposited):
1469         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
1470         (WebCore::RenderLayerCompositor::reasonForCompositing):
1471         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
1472         (WebCore::RenderLayerCompositor::reportMemoryUsage):
1473         * rendering/RenderLayerCompositor.h:
1474         (RenderLayerCompositor):
1475
1476 2013-01-11  Kenneth Russell  <kbr@google.com>
1477
1478         [Chromium] WebGL typed array constructor crashes on exception
1479         https://bugs.webkit.org/show_bug.cgi?id=106308
1480
1481         Reviewed by Kentaro Hara.
1482
1483         Check for empty handles (indicating exception thrown) after calls
1484         into V8 VM.
1485
1486         Added new case from Khronos typed array conformance tests to
1487         fast/canvas/webgl/array-unit-tests.html.
1488
1489         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1490         (WebCore::constructWebGLArray):
1491             Check for empty handles after calls into V8 VM.
1492
1493 2013-01-11  Kentaro Hara  <haraken@chromium.org>
1494
1495         [V8] Slightly optimize getWrapperFast()
1496         https://bugs.webkit.org/show_bug.cgi?id=106667
1497
1498         Reviewed by Adam Barth.
1499
1500         This patch improves an if condition in getWrapperFast(),
1501         as commented in DOMDataStore.h.
1502
1503         This patch improves performance of div.firstChild from
1504         15.1 ns to 14.0 ns (+7.8%), although I couldn't observe
1505         performance improvement in Dromaeo/dom-traverse.
1506
1507         No tests. No change in behavior.
1508
1509         * bindings/v8/DOMDataStore.h:
1510         (WebCore::DOMDataStore::getWrapperFast):
1511
1512 2013-01-11  Florin Malita  <fmalita@chromium.org>
1513
1514         [SVG] Suppress resource rebuilding for unattached and shadow elements
1515         https://bugs.webkit.org/show_bug.cgi?id=106664
1516
1517         Reviewed by Dirk Schulze.
1518
1519         SVGStyledElement::buildPendingResourcesIfNeeded() can be called while cloning a subtree
1520         (as nodes are inserted into the clone, while still detached) or when elements are inserted
1521         into the shadow tree. Both of these cases are problematic for SVGUseElement and can trigger
1522         indirect recursion in SVGUseElement::buildPendingResource.
1523
1524         Since shadow and !inDocument() nodes are of no interest to ID dependents (they cannot be
1525         found by ID in the document), the patch short-circuits buildPendingResource() for these
1526         cases.
1527
1528         Test: svg/custom/use-rebuild-resources-crash.svg
1529
1530         * svg/SVGStyledElement.cpp:
1531         (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
1532
1533 2013-01-11  Dominic Mazzoni  <dmazzoni@google.com>
1534
1535         AX: Computed hierarchical level is not consistent with aria-level
1536         https://bugs.webkit.org/show_bug.cgi?id=106638
1537
1538         Reviewed by Chris Fleizach.
1539
1540         Make hierarchicalLevel computation 1-based to match the aria-level spec.
1541
1542         Extends an existing test: platform/mac/accessibility/aria-tree.html.
1543
1544         * accessibility/AccessibilityNodeObject.cpp:
1545         (WebCore::AccessibilityNodeObject::hierarchicalLevel):
1546         * accessibility/AccessibilityObject.h:
1547         (AccessibilityObject):
1548         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1549         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1550
1551 2013-01-11  Vsevolod Vlasov  <vsevik@chromium.org>
1552
1553         Web Inspector: Workspace should support several projects and should not have temporary UISourceCodes.
1554         https://bugs.webkit.org/show_bug.cgi?id=105856
1555
1556         Reviewed by Pavel Feldman.
1557
1558         Workspace now supports several projects with the networkProject being a main one.
1559         Replaced temporary UISourceCodes with specific projects (debugger and liveedit).
1560         The concept of workspace reset on navigation is now replaced with project reset concept instead.
1561         Introduced snippets project (that is not reset on navigation).
1562         Script mappings are now reset on GlobalObjectCleared event.
1563
1564         * inspector/front-end/BreakpointManager.js:
1565         (WebInspector.BreakpointManager):
1566         (WebInspector.BreakpointManager.prototype._innerSetBreakpoint):
1567         (WebInspector.BreakpointManager.prototype._filteredBreakpointLocations):
1568         (WebInspector.BreakpointManager.prototype.toggleAllBreakpoints):
1569         (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
1570         (WebInspector.BreakpointManager.prototype._projectWillReset.get for):
1571         (WebInspector.BreakpointManager.prototype._projectWillReset):
1572         * inspector/front-end/CSSStyleModel.js:
1573         (WebInspector.CSSStyleModel):
1574         (WebInspector.CSSStyleModel.prototype._inspectedURLChanged):
1575         (WebInspector.CSSStyleModel.prototype._resetSourceMappings):
1576         (WebInspector.CSSStyleModelResourceBinding):
1577         (WebInspector.CSSStyleModelResourceBinding.prototype._viaInspectorResourceURL):
1578         (WebInspector.CSSStyleModelResourceBinding.prototype._reset):
1579         * inspector/front-end/CompilerScriptMapping.js:
1580         (WebInspector.CompilerScriptMapping):
1581         (WebInspector.CompilerScriptMapping.prototype._debuggerReset):
1582         * inspector/front-end/DebuggerScriptMapping.js:
1583         * inspector/front-end/DefaultScriptMapping.js:
1584         (WebInspector.DefaultScriptMapping):
1585         (WebInspector.DefaultScriptMapping.prototype.addScript):
1586         (WebInspector.DefaultScriptMapping.prototype._debuggerReset):
1587         * inspector/front-end/ExtensionServer.js:
1588         (WebInspector.ExtensionServer.prototype._onGetPageResources):
1589         * inspector/front-end/FilteredItemSelectionDialog.js:
1590         (WebInspector.OpenResourceDialog.show):
1591         * inspector/front-end/LiveEditSupport.js:
1592         (WebInspector.LiveEditSupport):
1593         (WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
1594         (WebInspector.LiveEditSupport.prototype._debuggerReset):
1595         * inspector/front-end/NetworkUISourceCodeProvider.js:
1596         (WebInspector.NetworkUISourceCodeProvider):
1597         (WebInspector.NetworkUISourceCodeProvider.prototype._mainFrameNavigated):
1598         (WebInspector.NetworkUISourceCodeProvider.prototype._addFile):
1599         (WebInspector.NetworkUISourceCodeProvider.prototype._reset):
1600         * inspector/front-end/ResourceScriptMapping.js:
1601         (WebInspector.ResourceScriptMapping):
1602         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAddedToWorkspace):
1603         (WebInspector.ResourceScriptMapping.prototype._debuggerReset):
1604         * inspector/front-end/RevisionHistoryView.js:
1605         (WebInspector.RevisionHistoryView):
1606         (WebInspector.RevisionHistoryView.prototype._projectWillReset):
1607         * inspector/front-end/SASSSourceMapping.js:
1608         (_bindUISourceCode):
1609         * inspector/front-end/ScriptSnippetModel.js:
1610         (WebInspector.ScriptSnippetModel):
1611         (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
1612         (WebInspector.ScriptSnippetModel.prototype.reset):
1613         * inspector/front-end/ScriptsNavigator.js:
1614         * inspector/front-end/ScriptsPanel.js:
1615         (WebInspector.ScriptsPanel):
1616         (WebInspector.ScriptsPanel.prototype._addUISourceCode):
1617         (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
1618         (WebInspector.ScriptsPanel.prototype._removeUISourceCodes):
1619         (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
1620         (WebInspector.ScriptsPanel.prototype._debuggerReset):
1621         (WebInspector.ScriptsPanel.prototype._projectWillReset):
1622         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
1623         (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
1624         (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
1625         * inspector/front-end/SimpleWorkspaceProvider.js:
1626         (WebInspector.SimpleWorkspaceProvider):
1627         (WebInspector.SimpleWorkspaceProvider.prototype.addFile):
1628         (WebInspector.SimpleWorkspaceProvider.prototype.addFileForURL):
1629         (WebInspector.SimpleWorkspaceProvider.prototype.reset):
1630         * inspector/front-end/StylesSourceMapping.js:
1631         (WebInspector.StylesSourceMapping):
1632         (WebInspector.StylesSourceMapping.prototype._projectWillReset):
1633         * inspector/front-end/TabbedEditorContainer.js:
1634         (WebInspector.TabbedEditorContainer.prototype.reset):
1635         * inspector/front-end/UISourceCode.js:
1636         (WebInspector.UISourceCode.prototype.project):
1637         * inspector/front-end/Workspace.js:
1638         (WebInspector.WorkspaceController):
1639         (WebInspector.WorkspaceController.prototype._inspectedURLChanged):
1640         (WebInspector.Project):
1641         (WebInspector.Project.prototype.name):
1642         (WebInspector.Project.prototype.isServiceProject):
1643         (WebInspector.Project.prototype._reset):
1644         (WebInspector.Workspace):
1645         (WebInspector.Workspace.prototype.uiSourceCodeForURL):
1646         (WebInspector.Workspace.prototype.uiSourceCodeForURI):
1647         (WebInspector.Workspace.prototype.addProject):
1648         (WebInspector.Workspace.prototype.project):
1649         (WebInspector.Workspace.prototype.projects):
1650         (WebInspector.Workspace.prototype.uiSourceCodes):
1651         (WebInspector.Workspace.prototype.projectForUISourceCode):
1652         (WebInspector.Workspace.prototype.requestFileContent):
1653         (WebInspector.Workspace.prototype.setFileContent):
1654         (WebInspector.Workspace.prototype.searchInFileContent):
1655         * inspector/front-end/inspector.js:
1656         * inspector/front-end/utilities.js:
1657
1658 2013-01-11  Eugene Klyuchnikov  <eustas@chromium.org>
1659
1660         Web Inspector: [Resources] Make grid columns set configurable.
1661         https://bugs.webkit.org/show_bug.cgi?id=105739
1662
1663         Reviewed by Pavel Feldman.
1664
1665         Added context menu on grid header to hide/show grid columns.
1666         Hidden columns set is persisted.
1667
1668         * inspector/front-end/DataGrid.js:
1669         Fixed show/hide behavior, introduced weight control.
1670         * inspector/front-end/NetworkPanel.js:
1671         Added member to track visibility of columns in detailerd mode. Added
1672         context menu for grid header.
1673
1674 2013-01-11  Andras Becsi  <andras.becsi@digia.com>
1675
1676         [Qt] Fix the build if libxslt is not available but libxml2 is
1677         https://bugs.webkit.org/show_bug.cgi?id=106661
1678
1679         Reviewed by Simon Hausmann.
1680
1681         On Linux building the xml parser sources fails if the needed libxslt
1682         dependencies are not installed but libxml2 is.
1683
1684         * WebCore.pri: add libxml2 to pkg-config if not on mac.
1685
1686 2013-01-11  Stephen Chenney  <schenney@chromium.org>
1687         Objects can be re-added to the AXObjectCache during removal
1688         https://bugs.webkit.org/show_bug.cgi?id=104171
1689
1690         The problem occurs when a label's corresponding element is a sibling
1691         that precedes it in the render tree, and the corresponding element is
1692         removed. The corresponding element's AX render object is removed, but
1693         then recreated when accessibilityIsIgnored() invokes correspondingControl()
1694         on the label. The corresponding renderer then has an AX render object
1695         that survives beyond the deleted renderer, leading to invalid memory
1696         accesses.
1697
1698         The solution is to rearrange the calls to delete the renderer's AX
1699         render object only when we are sure it will no longer be required.
1700
1701         Reviewed by Simon Fraser.
1702
1703         Test: accessibility/corresponding-control-deleted-crash.html
1704
1705         * rendering/RenderObject.cpp:
1706         (WebCore::RenderObject::willBeDestroyed): Move the call to remove the
1707         renderer from the AXCache to after the renderer is removed from the
1708         render tree. This means that the AXObject still exists during renderer
1709         removal, as we require.
1710
1711 2013-01-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1712
1713         [Qt][WK1] Web Audio support
1714         https://bugs.webkit.org/show_bug.cgi?id=106651
1715
1716         Reviewed by Jocelyn Turcotte.
1717
1718         Convert JavaScript Uint8Array to QByteArray. This conversion is necessary to support testRunner.setAudioData().
1719
1720         * bridge/qt/qt_runtime.cpp:
1721         (JSC::Bindings::isJSUint8Array):
1722         (Bindings):
1723         (JSC::Bindings::valueRealType):
1724         (JSC::Bindings::convertValueToQVariant):
1725
1726 2013-01-11  Anton Vayvod  <avayvod@chromium.org>
1727
1728         Text Autosizing - elements much narrower than its parent autosizing clusters should be autosized separately.
1729         https://bugs.webkit.org/show_bug.cgi?id=105188
1730
1731         Reviewed by Kenneth Rohde Christiansen.
1732
1733         Some blocks of text might be narrower than their parent clusters and should be autosized separately.
1734         This helps with autosizing for the pages implementing the sidebars as a narrow blocks of text with wide margins and
1735         the main content being positioned atop this margin (or vice versa).
1736
1737         * rendering/TextAutosizer.cpp:
1738         (WebCore::TextAutosizer::isContainerAutosizingCluster):
1739
1740             Returns true if the container is more than 200 pixels narrower than its parent cluster's lowest common
1741             ancestor of all the text nodes.
1742
1743 2013-01-11  Andreas Kling  <akling@apple.com>
1744
1745         Remove unused CSSSelector(QualifiedName) constructor.
1746         <http://webkit.org/b/106652>
1747
1748         Reviewed by Antti Koivisto.
1749
1750         * css/CSSSelector.h:
1751         (CSSSelector):
1752
1753 2013-01-11  Zan Dobersek  <zandobersek@gmail.com>
1754
1755         [GTK] Disable the ENABLE_LEGACY_WEB_AUDIO feature define in release builds
1756         https://bugs.webkit.org/show_bug.cgi?id=106577
1757
1758         Reviewed by Philippe Normand.
1759
1760         The Web Audio feature is not enabled in the release builds, so there's
1761         no need to enable the legacy Web Audio API either.
1762
1763         No new tests - no new functionality.
1764
1765         * GNUmakefile.features.am.in:
1766
1767 2013-01-11  Antoine Quint  <graouts@apple.com>
1768
1769         Web Inspector: Option+Click on Node Expander Doesn't Work the First Time
1770         https://bugs.webkit.org/show_bug.cgi?id=66868
1771
1772         Up to now, the TreeElement.prototype.expandRecursively() method would correctly
1773         expand children recursively based on the provided depth, but would not wait to
1774         perform this task until all child nodes had been populated, which means that this
1775         would only work incrementally with one additional level of child nodes being shown
1776         expanded in the DOM tree upon alt+clicking a given node with a deep hierarchy.
1777         
1778         In order to fix this, this patch adds a new optional argument to the DOMAgent's
1779         requestChildNodes() methods to provide the depth at which we want to retrieve children
1780         of a given node. The DOMAgent provides a new .getSubtree() method that calls
1781         requestChildNodes() with the provided depth.
1782
1783         Then in ElementsTreeOutline, we subclass .expandRecursively() to first call DOMAgent's
1784         new .getSubtree() method and then call the default implementation when all nodes
1785         have been retrieved from the backend.
1786
1787         Reviewed by Pavel Feldman.
1788
1789         Tests: inspector-protocol/dom-request-child-nodes-depth.html
1790                inspector/elements/expand-recursively.html
1791
1792         * inspector/Inspector.json: Add the new `depth` parameter to DOM.requestChildNodes().
1793         * inspector/InspectorDOMAgent.cpp:
1794         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): Add a new optional `depth` parameter
1795         which defaults to 1.
1796         (WebCore::InspectorDOMAgent::requestChildNodes): Add a new optional `depth` parameter
1797         which defaults to 1 and allows -1 as an unbound value.
1798         * inspector/InspectorDOMAgent.h:
1799         (InspectorDOMAgent):
1800         * inspector/front-end/DOMAgent.js:
1801         (WebInspector.DOMNode.prototype.):
1802         (WebInspector.DOMNode.prototype.getSubtree): New method allowing to specify at what depth
1803         we want to retrieve children of a given node from the backend.
1804         * inspector/front-end/ElementsTreeOutline.js:
1805         (WebInspector.ElementsTreeElement.prototype.expandRecursively): Override default implementation
1806         to first obtain the deepest subtree for the current node so that deep expansion happens as expected.
1807
1808 2013-01-11  Alexander Pavlov  <apavlov@chromium.org>
1809
1810         Web Inspector: [Elements] Search in the DOM tree does not scroll horizontally
1811         https://bugs.webkit.org/show_bug.cgi?id=106648
1812
1813         Reviewed by Vsevolod Vlasov.
1814
1815         Scroll into view the first match in every tree element, if needed.
1816
1817         * inspector/front-end/ElementsPanel.js:
1818         (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult):
1819
1820 2013-01-11  Andrey Adaikin  <aandrey@chromium.org>
1821
1822         Web Inspector: [Canvas] a minor follow-up to r137262
1823         https://bugs.webkit.org/show_bug.cgi?id=106644
1824
1825         Reviewed by Pavel Feldman.
1826
1827         * inspector/InjectedScriptCanvasModuleSource.js:
1828         (.):
1829
1830 2013-01-11  Kent Tamura  <tkent@chromium.org>
1831
1832         BaseDateAndTimeInputType should not inherit from TextFieldInputType
1833         https://bugs.webkit.org/show_bug.cgi?id=106306
1834
1835         Reviewed by Hajime Morita.
1836
1837         Date/time input types don't need text-field features at all.
1838
1839         No new tests. This should not make any behavior changes except reduction
1840         of memory usage.
1841
1842         * html/BaseDateAndTimeInputType.h:
1843         Inherit InputType instead of TextFieldInputType.
1844         (WebCore::BaseDateAndTimeInputType::BaseDateAndTimeInputType):
1845         (BaseDateAndTimeInputType): Update function declarations.
1846         * html/BaseDateAndTimeInputType.cpp:
1847         Remove handleKeydownEvent and convertFromVisibleValue, which are for
1848         TextFieldInputType.
1849         (WebCore::BaseDateAndTimeInputType::shouldRespectListAttribute):
1850         Added. This is necessary for <datalist> support. TextFieldInputType has
1851         the same code.
1852         (WebCore::BaseDateAndTimeInputType::valueMissing):
1853         Added. This is necessary for validity.valueMissing. TextFieldInputType
1854         has the same code.
1855
1856         * html/BaseChooserOnlyDateAndTimeInputType.cpp:
1857         Remove unnecessary functions which cancel TextFieldInputType behavior.
1858         * html/BaseChooserOnlyDateAndTimeInputType.h:
1859         (BaseChooserOnlyDateAndTimeInputType): Remove declarations for them.
1860
1861         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
1862         Remove unnecessary functions which cancel TextFieldInputType behavior.
1863         * html/BaseMultipleFieldsDateAndTimeInputType.h:
1864         (BaseMultipleFieldsDateAndTimeInputType):
1865         Add SpinButtonOwner interface. We didn't need it because
1866         TextFieldInputType implements it.
1867
1868 2013-01-11  Mary Wu  <mary.wu@torchmobile.com.cn>
1869
1870         [BlackBerry] Enable concatenating headers with same field name
1871         https://bugs.webkit.org/show_bug.cgi?id=106625
1872
1873         Reviewed by Rob Buis.
1874
1875         RFC 2616 specifies that headers could concatenate with comma if they have
1876         same field name. We should enable this if the header allows multiple values.
1877
1878         RIM PR# 275508, internally reviewed by Joe Mason
1879
1880         (WebCore):
1881         (WebCore::isAppendableHeader):
1882         (WebCore::NetworkJob::handleNotifyHeaderReceived):
1883
1884 2013-01-11  Jochen Eisinger  <jochen@chromium.org>
1885
1886         Connect UserGestureIndicator for mousedown and mouseup events
1887         https://bugs.webkit.org/show_bug.cgi?id=105138
1888
1889         Reviewed by Adam Barth.
1890
1891         Ports that consume user gestures to prevent certain types of pop-ups
1892         need to be able to connect mousedown and mouseup events, otherwise, a
1893         single mouse click will allow for opening multiple pop-ups.
1894
1895         Note that a mousedown is not always followed by a mouseup and vice
1896         versa, e.g. when the mousedown results in a context menu being shown, or
1897         something is dragged into the page.
1898
1899         Test: platform/chromium/fast/events/popup-allowed-from-gesture-only-once-two-events.html
1900
1901         * page/EventHandler.cpp:
1902         (WebCore::EventHandler::clear):
1903         (WebCore::EventHandler::handleMousePressEvent):
1904         (WebCore::EventHandler::handleMouseReleaseEvent):
1905         * page/EventHandler.h:
1906
1907 2013-01-11  Eugene Klyuchnikov  <eustas@chromium.org>
1908
1909         Web Inspector: [Resources] "Delete" cookie deletes all cookies with matching name.
1910         https://bugs.webkit.org/show_bug.cgi?id=105633
1911
1912         Reviewed by Pavel Feldman.
1913
1914         "Delete" cookie deletes all cookies with matching name,
1915         ignoring domain and path.
1916
1917         * inspector/Inspector.json: Change argument "domain" to "url"
1918         * inspector/InspectorPageAgent.cpp:
1919         (WebCore::InspectorPageAgent::deleteCookie): Use url to delte cookies.
1920         * inspector/InspectorPageAgent.h: Adopt new signature.
1921         * inspector/front-end/CookieItemsView.js:
1922         (WebInspector.CookieItemsView.prototype._deleteCookie): Ditto.
1923
1924 2013-01-11  KwangYong Choi  <ky0.choi@samsung.com>
1925
1926         [EFL] Fix unused parameter build error
1927         https://bugs.webkit.org/show_bug.cgi?id=106639
1928
1929         Reviewed by Kentaro Hara.
1930
1931         Use UNUSED_PARAM macro to fix build error.
1932
1933         No new tests, no behavior change.
1934
1935         * platform/efl/EflScreenUtilities.cpp:
1936         (WebCore::isUsingEcoreX):
1937         * platform/efl/RenderThemeEfl.cpp:
1938         (WebCore::RenderThemeEfl::supportsDataListUI):
1939
1940 2013-01-11  Pavel Feldman  <pfeldman@chromium.org>
1941
1942         Web Inspector [chromium]: Debugger.globalObjectCleared is not dispatched on reload after renderer swap
1943         https://bugs.webkit.org/show_bug.cgi?id=106555
1944
1945         Reviewed by Vsevolod Vlasov.
1946
1947         Wrong ::enable was made virtual in the InspectorDebuggerAgent.
1948
1949         Test: inspector/debugger/debugger-scripts-reload.html
1950
1951         * inspector/InspectorDebuggerAgent.h:
1952         (InspectorDebuggerAgent):
1953         * inspector/PageDebuggerAgent.cpp:
1954         (WebCore::PageDebuggerAgent::enable):
1955         (WebCore::PageDebuggerAgent::disable):
1956         * inspector/PageDebuggerAgent.h:
1957         (PageDebuggerAgent):
1958
1959 2013-01-11  Vsevolod Vlasov  <vsevik@chromium.org>
1960
1961         Web Inspector: Refactoring, move NetworkWorkspaceProvider to NetworkUISourceCodeProvider.js and rename its parent to SimpleWorkspaceProvider.
1962         https://bugs.webkit.org/show_bug.cgi?id=106635
1963
1964         Reviewed by Pavel Feldman.
1965
1966         * WebCore.gypi:
1967         * WebCore.vcproj/WebCore.vcproj:
1968         * inspector/compile-front-end.py:
1969         * inspector/front-end/DebuggerScriptMapping.js:
1970         (WebInspector.DebuggerScriptMapping):
1971         * inspector/front-end/DefaultScriptMapping.js:
1972         (WebInspector.DefaultScriptMapping):
1973         (WebInspector.DefaultScriptMapping.prototype.addScript):
1974         (WebInspector.DebuggerWorkspaceProvider):
1975         (WebInspector.DebuggerWorkspaceProvider.prototype.addDebuggerFile):
1976         * inspector/front-end/LiveEditSupport.js:
1977         (WebInspector.LiveEditSupport):
1978         (WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
1979         (WebInspector.LiveEditWorkspaceProvider):
1980         (WebInspector.LiveEditWorkspaceProvider.prototype.addLiveEditFile):
1981         * inspector/front-end/NetworkUISourceCodeProvider.js:
1982         (WebInspector.NetworkWorkspaceProvider):
1983         (WebInspector.NetworkWorkspaceProvider.prototype.addNetworkFile):
1984         * inspector/front-end/SimpleWorkspaceProvider.js: Renamed from Source/WebCore/inspector/front-end/NetworkWorkspaceProvider.js.
1985         (WebInspector.SimpleWorkspaceProvider):
1986         (WebInspector.SimpleWorkspaceProvider.uriForURL):
1987         (WebInspector.SimpleWorkspaceProvider.prototype.requestFileContent):
1988         (WebInspector.SimpleWorkspaceProvider.prototype.setFileContent):
1989         (WebInspector.SimpleWorkspaceProvider.prototype.searchInFileContent):
1990         (WebInspector.SimpleWorkspaceProvider.prototype.addFile):
1991         (WebInspector.SimpleWorkspaceProvider.prototype.removeFile):
1992         (WebInspector.SimpleWorkspaceProvider.prototype.uniqueURI):
1993         (WebInspector.SimpleWorkspaceProvider.prototype.reset):
1994         * inspector/front-end/WebKit.qrc:
1995         * inspector/front-end/inspector.html:
1996         * inspector/front-end/inspector.js:
1997
1998 2013-01-10  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1999
2000         On Linux, should be able to get spelling suggestions without selecting the misspelled word
2001         https://bugs.webkit.org/show_bug.cgi?id=103520
2002
2003         Reviewed by Ryosuke Niwa.
2004
2005         Allow to get/insert spelling suggestions without selecting the misspelled word for
2006         Linux WebKit ports. WebCore assumes that the misspelled word has to be selected
2007         to get its suggestions.
2008
2009         In compliance with native application behaviour a new editing policy is introduced,
2010         to do not highlight the misspelled word to just get its guesses.
2011
2012         No new tests, covered by context-menu-suggestions.html.
2013
2014         * WebCore.exp.in:
2015         Remove _ZN7WebCore6Editor21isSelectionMisspelledEv symbol as Mac port doesn't
2016         need it any longer.
2017
2018         * editing/EditingBehavior.h:
2019         (EditingBehavior):
2020         (WebCore::EditingBehavior::shouldAllowSpellingSuggestionsWithoutSelection):
2021         Add a new behavior for Linux, to allow spelling suggestions without selecting
2022         the misspelled word.
2023
2024         * editing/Editor.cpp:
2025         (WebCore::Editor::isContinuousSpellCheckingEnabled):
2026         Add missing const modifier, to use this method in 'misspelledWordAtCaretOrRange() const'.
2027
2028         (WebCore::Editor::misspelledWordAtCaretOrRange):
2029         Allow to check spelling under the caret or selected word.
2030         Does nothing for selection made on the multiple words.
2031
2032         (WebCore::Editor::misspelledSelectionString):
2033         Return the misspelled selection.
2034
2035         (WebCore::Editor::guessesForMisspelledWord):
2036         Remove 'Selection' from method name as it may return guesses without selection.
2037
2038         (WebCore::Editor::guessesForMisspelledOrUngrammatical):
2039         Ditto.
2040
2041         * page/ContextMenuController.cpp:
2042         (WebCore::ContextMenuController::contextMenuItemSelected):
2043         Select the word under caret to meet the conditions from misspelledWordAtCaretOrRange.
2044
2045         (WebCore::ContextMenuController::populate):
2046         Update guessesForMisspelledOrUngrammatical call.
2047
2048 2013-01-10  Hajime Morrita  <morrita@google.com>
2049
2050         https://bugs.webkit.org/show_bug.cgi?id=106283
2051         [Shadow DOM] HTMLContentElement and HTMLShadowElement should be behind SHADOW_DOM
2052
2053         Reviewed by Kentaro Hara.
2054
2055         No new tests. Covered by existing tests.
2056
2057         This change moves <content> and <shadow> behind
2058         ENABLE(SHADOW_DOM). Note that empty stub definitions are remaining
2059         even after this change. They are for minimizing #if/#endif usage
2060         and won't hurt code size.
2061
2062         * WebCore.exp.in:
2063         * html/InputType.cpp:
2064         (WebCore::InputType::destroyShadowSubtree):
2065         * html/shadow/ContentDistributor.cpp:
2066         (WebCore::ContentDistributor::distribute):
2067         * html/shadow/HTMLContentElement.cpp:
2068         (WebCore):
2069         (WebCore::HTMLContentElement::create):
2070         (WebCore::HTMLContentElement::HTMLContentElement):
2071         * html/shadow/HTMLContentElement.h:
2072         (WebCore):
2073         (HTMLContentElement):
2074         * html/shadow/HTMLShadowElement.cpp:
2075         * html/shadow/HTMLShadowElement.h:
2076         (WebCore):
2077         (WebCore::isHTMLShadowElement):
2078         (WebCore::toHTMLShadowElement):
2079         * html/shadow/TextFieldDecorationElement.cpp:
2080         (WebCore::TextFieldDecorationElement::decorate):
2081         * testing/Internals.cpp:
2082         (WebCore::Internals::createContentElement):
2083         (WebCore::Internals::isValidContentSelect):
2084
2085 2013-01-10  Takashi Sakamoto  <tasak@google.com>
2086
2087         Implement CSSGroupingRule for @host @-rules and @supports.
2088         https://bugs.webkit.org/show_bug.cgi?id=106418
2089
2090         Reviewed by Antti Koivisto.
2091
2092         CSSGroupingRule is to share code between CSSMediaRule, CSSSupportsRule
2093         and CSSHostRule. @supports and @host @-rules are dervied from
2094         CSSGroupingRule:
2095         http://www.w3.org/TR/2012/WD-css3-conditional/#the-cssgroupingrule-interface
2096         https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#css-host-rule-interface
2097         Since @media is also derived from CSSGroupingRule and @region has the
2098         same interface as CSSGroupingRule, modify to use CSSGroupingRule:
2099         http://dev.w3.org/csswg/css3-regions/#the-at-region-style-rule
2100
2101         No new tests, because no new feature is implemented.
2102
2103         * CMakeLists.txt:
2104         * GNUmakefile.list.am:
2105         * Target.pri:
2106         * WebCore.gypi:
2107         * WebCore.vcproj/WebCore.vcproj:
2108         * WebCore.xcodeproj/project.pbxproj:
2109         Added CSSGroupingRule.h and CSSGroupingRule.cpp.
2110         * css/CSSAllInOne.cpp:
2111         Modified to include CSSGroupingRule.cpp.
2112         * css/CSSGroupingRule.cpp: Added.
2113         (WebCore):
2114         (WebCore::CSSGroupingRule::CSSGroupingRule):
2115         (WebCore::CSSGroupingRule::~CSSGroupingRule):
2116         (WebCore::CSSGroupingRule::insertRule):
2117         (WebCore::CSSGroupingRule::deleteRule):
2118         (WebCore::CSSGroupingRule::appendCssTextForItems):
2119         (WebCore::CSSGroupingRule::length):
2120         (WebCore::CSSGroupingRule::item):
2121         (WebCore::CSSGroupingRule::cssRules):
2122         (WebCore::CSSGroupingRule::reattach):
2123         (WebCore::CSSGroupingRule::reportMemoryUsage):
2124         These codes are moved from CSSMediaRule and WebKitCSSRegionRule.
2125         * css/CSSGroupingRule.h:
2126         (WebCore):
2127         (CSSGroupingRule):
2128         * css/CSSMediaRule.cpp:
2129         (WebCore::CSSMediaRule::CSSMediaRule):
2130         (WebCore::CSSMediaRule::~CSSMediaRule):
2131         Make CSSMediaRule inherit CSSGroupingRule.
2132         (WebCore::CSSMediaRule::media):
2133         (WebCore::CSSMediaRule::reattach):
2134         Keep the code for updating media queries' CSSOMWrapper.
2135         (WebCore::CSSMediaRule::reportMemoryUsage):
2136         We need to report media queries' CSSOMWrapper memory usage.
2137         (WebCore::CSSMediaRule::mediaQueries):
2138         (WebCore::CSSMediaRule::cssText):
2139         * css/CSSMediaRule.h:
2140         * css/WebKitCSSRegionRule.cpp:
2141         Make WebKitCSSRegionRule inherit CSSGroupingRule.
2142         (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
2143         (WebCore::WebKitCSSRegionRule::cssText):
2144         * css/WebKitCSSRegionRule.h:
2145         * css/StyleRule.h:
2146         Added inlined accessor to obtain StyleRuleMedia* and StyleRuleRegion*
2147         from StyleRuleBlock*.
2148
2149 2012-12-28  Andrey Adaikin  <aandrey@chromium.org>
2150
2151         Web Inspector: [Canvas] add an option to reload the page if there is an uninstrumented canvas
2152         https://bugs.webkit.org/show_bug.cgi?id=105822
2153
2154         Reviewed by Pavel Feldman.
2155
2156         Show in the front-end an option to reload the page if there is an uninstrumented canvas.
2157
2158         * inspector/front-end/CanvasProfileView.js:
2159         (WebInspector.CanvasProfileType):
2160         (WebInspector.CanvasProfileType.prototype.decorationElement):
2161         (WebInspector.CanvasProfileType.prototype._updateDecorationElement):
2162         (WebInspector.CanvasProfileType.prototype._onReloadPageButtonClick):
2163         * inspector/front-end/ProfileLauncherView.js:
2164         (WebInspector.ProfileLauncherView.prototype.addProfileType):
2165         * inspector/front-end/ProfilesPanel.js:
2166         (WebInspector.ProfileType.prototype.decorationElement):
2167
2168 2013-01-10  Dimitri Glazkov  <dglazkov@chromium.org>
2169
2170         The word "selector" is somewhat redundant redundantly used in SelectorChecker.
2171         https://bugs.webkit.org/show_bug.cgi?id=106413
2172
2173         In https://bugs.webkit.org/show_bug.cgi?id=105864, Antti suggested reducing some of the redundant uses of the word
2174         "selector" in SelectorChecker. Here's a start.
2175
2176         Reviewed by Antti Koivisto.
2177
2178         Simple renames, no change in behavior.
2179
2180         * css/SelectorChecker.cpp:
2181         (WebCore::SelectorChecker::match): Renamed.
2182         (WebCore):
2183         (WebCore::SelectorChecker::fastCheck): Ditto,
2184         (WebCore::SelectorChecker::checkOne): Ditto.
2185         * css/SelectorChecker.h:
2186         (SelectorChecker):
2187         * css/StyleResolver.cpp:
2188         (WebCore::StyleResolver::collectMatchingRulesForList): Changed to use new name.
2189         (WebCore::StyleResolver::ruleMatches): Renamed from checkSelector to better match argument and return value.
2190         (WebCore::StyleResolver::checkRegionSelector): Changed to use new names.
2191         * css/StyleResolver.h:
2192         (StyleResolver):
2193         * dom/SelectorQuery.cpp:
2194         (WebCore::SelectorDataList::matches): Ditto.
2195         (WebCore::SelectorDataList::execute): Ditto.
2196         * html/shadow/ContentSelectorQuery.cpp:
2197         (WebCore::ContentSelectorChecker::checkContentSelector): Ditto.
2198
2199 2013-01-10  John J. Barton  <johnjbarton@chromium.org>
2200
2201         Web Inspector: Pass the script url to the script-preprocessor script
2202         https://bugs.webkit.org/show_bug.cgi?id=104384
2203
2204         Reviewed by Pavel Feldman.
2205
2206         Add url argument to the script-preprocessor script in PageAgent.reload()
2207
2208         Test: inspector/debugger/debugger-script-preprocessor.html
2209
2210         * bindings/v8/DebuggerScript.js:
2211         * bindings/v8/ScriptDebugServer.cpp:
2212         (WebCore::ScriptDebugServer::ScriptPreprocessor::ScriptPreprocessor):
2213         (WebCore::ScriptDebugServer::ScriptPreprocessor::preprocessSourceCode):
2214         (WebCore::ScriptDebugServer::handleV8DebugEvent):
2215         * bindings/v8/custom/V8InjectedScriptManager.cpp:
2216         (WebCore::InjectedScriptManager::createInjectedScript):
2217
2218 2013-01-10  Eugene Klyuchnikov  <eustas@chromium.org>
2219
2220         Web Inspector: DataGrid refactoring: make cell editing more generic.
2221         https://bugs.webkit.org/show_bug.cgi?id=105849
2222
2223         Reviewed by Pavel Feldman.
2224
2225         Editing feature has been added to DataGrid to edit localStorage.
2226         Column numbers (0 and 1) are hardcoded.
2227
2228         This patch makes column editing feature more generic: remove hardcoded
2229         colums, take "editable" column property into account.
2230
2231         This patch is a prerequisite for cookie editing.
2232
2233         * inspector/front-end/DOMStorageItemsView.js:
2234         Use meaningful column names.
2235         * inspector/front-end/DataGrid.js:
2236         (WebInspector.DataGrid.prototype._ondblclick): Check column editability.
2237         (WebInspector.DataGrid.prototype._contextMenuInDataTable): Ditto.
2238         (WebInspector.DataGridNode.prototype.createCell):
2239         Supply cell element with column id.
2240         (WebInspector.DataGrid.prototype.columnIdentifierFromNode):
2241         Added utility method.
2242         (WebInspector.DataGrid.prototype._nextEditableColumn): Ditto.
2243         (WebInspector.DataGrid.prototype._keyDown): Calculate editable column.
2244         (WebInspector.DataGrid.prototype._editingCommitted): Ditto.
2245         (WebInspector.DataGrid.prototype._startEditing): Ditto.
2246         (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
2247         Refined parameter type / name.
2248         (WebInspector.DataGrid.prototype._resizerDragging):
2249         Fix resizer index property names.
2250         (WebInspector.DataGrid.prototype._startResizerDragging): Ditto.
2251         (WebInspector.DataGrid.prototype._positionResizers): Ditto.
2252         * inspector/front-end/NetworkPanel.js:
2253         (WebInspector.NetworkLogView.prototype._updateDividersIfNeeded): Ditto.
2254
2255 2013-01-10  Matt Falkenhagen  <falken@chromium.org>
2256
2257         Elements must be reattached when inserted/removed from top layer
2258         https://bugs.webkit.org/show_bug.cgi?id=105489
2259
2260         Reviewed by Julien Chaffraix.
2261
2262         Ensure a reattach occurs when an element is inserted/removed from top layer, so its renderer can be inserted correctly:
2263         as a child of RenderView in top layer sibling order if it's in the top layer, and in the usual place otherwise.
2264
2265         We previously relied on style recalc to catch when an element is inserted/removed from the top layer, because it
2266         only happens on dialog.show/close which toggle display: none. But that is incorrect because, for example, close()
2267         followed immediately by show() results in no style change.
2268
2269         Tests: fast/dom/HTMLDialogElement/removed-element-is-removed-from-top-layer.html
2270                fast/dom/HTMLDialogElement/top-layer-stacking-correct-order-remove-readd.html
2271
2272         * dom/Element.cpp:
2273         (WebCore::Element::removedFrom): Call Document::removeFromTopLayer to let the element be removed from the top layer vector.
2274         removeFromTopLayer calls Element::setIsInTopLayer(false) itself if needed.
2275         (WebCore::Element::setIsInTopLayer): Ensure a reattach occurs if the element is already attached.
2276
2277 2013-01-10  Shinya Kawanaka  <shinyak@chromium.org>
2278
2279         When a selected node in nested ShadowDOM is deleted, selection have wrong range.
2280         https://bugs.webkit.org/show_bug.cgi?id=106526
2281
2282         Reviewed by Ryosuke Niwa.
2283
2284         Since FrameSelection and htmlediting did not consider nested Shadow DOM, the FrameSelection still selects
2285         removed elements if selected nodes in nested Shadow DOM are removed.
2286
2287         We have to use containsIncludingShadowDOM to handle with nested Shadow DOM correctly.
2288
2289         Test: fast/dom/shadow/selection-in-nested-shadow.html
2290
2291         * editing/FrameSelection.cpp:
2292         (WebCore::removingNodeRemovesPosition):
2293         * editing/htmlediting.cpp:
2294         (WebCore::updatePositionForNodeRemoval):
2295
2296 2013-01-10  Hajime Morrita  <morrita@google.com>
2297
2298         [Shadow DOM] Refactoring: InsertionPoint could simplify its subclass hooks
2299         https://bugs.webkit.org/show_bug.cgi?id=106614
2300
2301         Reviewed by Dimitri Glazkov.
2302
2303         This change simplifies InsertionPoint overrides and give some flexibility to it.
2304
2305         The change
2306
2307         - Removes InsertionPoint::isSelectValid(). now ContentSelectorQuery parses given selector anyway.
2308           Invalid select attribute is handled by newly introduced matchTypeFor() method.
2309         - Introduces InsertionPoint::matchTypeFor() to give a chance each InsertionPoint to decide whether it
2310           accepts the given node as its distribution. Then it lets DetailsSummaryElement adopt it.
2311         - Pulls some HTMLShadowElement overrides up to InsertionPoint so that other upcoming InsertionPoint
2312           subclasses don't need to override them.
2313
2314         No new tests. Refactoring.
2315
2316         * html/HTMLDetailsElement.cpp:
2317         (WebCore::DetailsSummaryElement::DetailsSummaryElement):
2318         - Implemented matchTypeFor() to get rid of HTMLContentElement machinery which is compiled out in the upcoming change.
2319         (DetailsSummaryElement):
2320         * html/shadow/ContentSelectorQuery.cpp:
2321         (WebCore::ContentSelectorQuery::ContentSelectorQuery):
2322         (WebCore::ContentSelectorQuery::matches):
2323         * html/shadow/HTMLContentElement.cpp:
2324         (WebCore::HTMLContentElement::matchTypeFor): Added.
2325         (WebCore):
2326         * html/shadow/HTMLContentElement.h:
2327         (HTMLContentElement):
2328         (WebCore::isHTMLContentElement):
2329         * html/shadow/HTMLShadowElement.cpp:
2330         * html/shadow/HTMLShadowElement.h:
2331         (HTMLShadowElement):
2332         * html/shadow/InsertionPoint.cpp:
2333         (WebCore::InsertionPoint::emptySelectorList): Moved from HTMLShadowElement.
2334         (WebCore):
2335         * html/shadow/InsertionPoint.h:
2336         (WebCore::InsertionPoint::matchTypeFor): Added.
2337         (WebCore::InsertionPoint::selectorList): Moved from HTMLShadowElement.
2338         (InsertionPoint):
2339         * testing/Internals.cpp:
2340         (WebCore::Internals::isValidContentSelect):
2341
2342 2013-01-10  Dean Jackson  <dino@apple.com>
2343
2344         Plugin snapshot label should take device resolution and inset into account
2345         https://bugs.webkit.org/show_bug.cgi?id=106619
2346
2347         Reviewed by Simon Fraser.
2348
2349         * rendering/RenderSnapshottedPlugIn.cpp:
2350         (WebCore::RenderSnapshottedPlugIn::paintLabel): Take into account the inset in the label image.
2351         (WebCore::RenderSnapshottedPlugIn::tryToFitStartLabel): Look at the page's device scale, and adjust the label image accordingly.
2352
2353 2013-01-10  James Robinson  <jamesr@chromium.org>
2354
2355         [chromium] Store scrollable layer's contents size for coordinated scrollable layers
2356         https://bugs.webkit.org/show_bug.cgi?id=106518
2357
2358         Reviewed by Adrienne Walker.
2359
2360         This stores a scrollable layer's contentsSize in the scroll layer's bounds, which is otherwise not useful. This
2361         value is currently calculated based on fragile knowledge of the tree structure immediately beneath a scrollable
2362         layer.
2363
2364         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2365         (WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated):
2366
2367 2013-01-10  Dan Beam  <dbeam@chromium.org>
2368
2369         Implement AutocompleteErrorEvent#reason
2370         https://bugs.webkit.org/show_bug.cgi?id=105568
2371
2372         Reviewed by Adam Barth.
2373
2374         Test: fast/events/constructors/autocomplete-error-event-constructor.html
2375
2376         * WebCore.gypi: Added AutocompleteErrorEvent.idl and AutocompleteErrorEvent.h for chromium port's build.
2377         * dom/AutocompleteErrorEvent.h: Added.
2378         (WebCore): Added new type of error named AutocompleteErrorEvent.
2379         (AutocompleteErrorEventInit): Added init params for AutocompleteErrorEvents (so initEvent() can be used).
2380         (AutocompleteErrorEvent): Added a new error event that inherits from Event but also has a reason for failure.
2381         (WebCore::AutocompleteErrorEvent::create): Factory function to create AutocompleteErrorEvents.
2382         (WebCore::AutocompleteErrorEvent::reason): The reason why a requestAutocomplete() invocation failed. Can be
2383                                                    "disabled", "cancel", or "invalid".
2384         (WebCore::AutocompleteErrorEvent::interfaceName): The name of the event's interface (for event.toString()).
2385         (WebCore::AutocompleteErrorEvent::AutocompleteErrorEvent): Various ways of constructing the error event.
2386         * dom/AutocompleteErrorEvent.idl: Added.
2387         * dom/EventNames.in: Added AutocompleteError to this list, based on REQUEST_AUTOCOMPLETE conditional.
2388         * html/HTMLFormElement.cpp: Updated form elements to dispatch AutocompleteErrorEvents on errors and to give
2389                                     more details (event.reason) when the request fails.
2390         (WebCore::HTMLFormElement::requestAutocomplete): Changed to newly added failure type "disabled".
2391         (WebCore::HTMLFormElement::finishRequestAutocomplete): Changed
2392         * html/HTMLFormElement.h: Added new results (ErrorDisabled, ErrorCancel, ErrorInvalid).
2393         * page/DOMWindow.idl: Added global event constructor for new AutocompleteErrorEvent() style event creation.
2394
2395 2013-01-10  Yong Li  <yoli@rim.com>
2396
2397         HTMLMediaElement::resume() should schedule a load rather than load immediately
2398         https://bugs.webkit.org/show_bug.cgi?id=106587
2399
2400         Reviewed by Eric Carlson.
2401
2402         It is not always safe to start the jobs at the time resume() is called. That is why the jobs are
2403         suspended. It can also be suspended again right after being resumed.
2404
2405         No new tests as there is no visible functional change, also it is a theoretically good-to-have change
2406         that doesn't fix any known cross-platform issue.
2407
2408         * html/HTMLMediaElement.cpp:
2409         (WebCore::HTMLMediaElement::resume): Replace load() with scheduleLoad().
2410
2411 2013-01-10  Adam Barth  <abarth@webkit.org>
2412
2413         Add an ENABLE macro and a WebCore::Setting for the threaded parser
2414         https://bugs.webkit.org/show_bug.cgi?id=106595
2415
2416         Reviewed by Benjamin Poulain.
2417
2418         This patch adds both a WebCore::Setting and an ENABLE macro for the
2419         threaded parser. We plan to keep the ENABLE macro off by default for a
2420         while. The runtime setting will let us more easily conduct A/B
2421         experiments when the time arises.
2422
2423         * page/Settings.in:
2424
2425 2013-01-10  Xianzhu Wang  <wangxianzhu@chromium.org>
2426
2427         Regression(r129944): Heap-use-after-free in WebCore::computeNonFastScrollableRegion
2428         https://bugs.webkit.org/show_bug.cgi?id=99515
2429
2430         Reviewed by Simon Fraser.
2431
2432         The object used-after-freed is a destructed FrameView that is still in the m_scrollableAreas set of the parent FrameView. Actually it has been removed from m_scrollableAreas when setParent(0), but then is added back in updateScrollableAreaSet() because its frameViewParent() is still not 0 (though parent() is already 0).
2433
2434         No new tests. The heap-use-after-free doesn't always cause crash so it can't be stably tested with a test case. Memory analysis tools like asan discovered the heap-use-after-free and verified that the patch can fix the issue.
2435
2436         * page/FrameView.cpp:
2437         (WebCore::FrameView::parentFrameView): Checks if the FrameView has been removed from the parent.
2438
2439 2013-01-10  John Mellor  <johnme@chromium.org>
2440
2441         Fix scale of screen.width, window.outerWidth and @media device-width when page scale not applied in compositor.
2442         https://bugs.webkit.org/show_bug.cgi?id=106460
2443
2444         Reviewed by Kenneth Rohde Christiansen.
2445
2446         screen.width, window.outerWidth and @media device-width should be in
2447         density independent (UI) pixels, not physical screen pixels.
2448
2449         This already works on most ports (including iOS). However Chrome for
2450         Android currently internally sizes its windows in physical screen pixels
2451         instead of density independent pixels, and this leaks through in the
2452         sizes provided to WebCore.
2453
2454         This patch scales these sizes appropriately before they reach JavaScript,
2455         on platforms where the applyPageScaleFactorInCompositor setting is false
2456         (i.e. just Chrome for Android). Once Chrome for Android switches over to
2457         the same coordinate space, the applyPageScaleFactorInCompositor setting
2458         will be removed, along with any code (such as this) that depends on it.
2459
2460         The effect of this patch on Chrome for Android when viewing a page with
2461         a width=device-width viewport on a Galaxy Nexus (720x1280 @ dPR 2) is:
2462             @media device-width      changes from 720 to 360
2463             screen.width             changes from 720 to 360
2464             screen.availWidth        changes from 720 to 360
2465             window.outerWidth        changes from 720 to 360
2466             window.innerWidth                    remains 360 (at overview zoom)
2467             @media width                         remains 360
2468             document.documentElement.clientWidth remains 360
2469             document.documentElement.offsetWidth remains 360
2470             document.documentElement.scrollWidth remains 360
2471             document.body.clientWidth            remains 360
2472             document.body.offsetWidth            remains 360
2473             document.body.scrollWidth            remains 360
2474         And similarly for heights (though they are slightly less than 640, since
2475         toolbars etc. get subtracted from the available height).
2476
2477         No new tests, as applyDeviceScaleFactorInCompositor appears to always be
2478         true in DumpRenderTree, so this situation cannot occur there.
2479
2480         * page/Settings.in:
2481             Added applyDeviceScaleFactorInCompositor setting, which allows
2482             detecting whether we need to normalize the scale.
2483         * platform/chromium/PlatformScreenChromium.cpp:
2484         (WebCore::toUserSpace):
2485             Static function for normalizing screen rect scale.
2486         (WebCore::screenRect):
2487             Uses toUserSpace.
2488         (WebCore::screenAvailableRect):
2489             Uses toUserSpace.
2490         * rendering/TextAutosizer.cpp:
2491         (WebCore::TextAutosizer::processSubtree):
2492             Use applyDeviceScaleFactorInCompositor instead of
2493             applyPageScaleFactorInCompositor, to scale the window rect correctly
2494             on platforms other than Chrome for Android.
2495
2496 2013-01-10  Florin Malita  <fmalita@chromium.org>
2497
2498         Rename GraphicsContext::addRoundedRectClip
2499         https://bugs.webkit.org/show_bug.cgi?id=106581
2500
2501         Reviewed by Simon Fraser.
2502
2503         This patch renames GraphicsContext::addRoundedRectClip to clipRoundedRect for consistency
2504         with the other GC clipping methods.
2505
2506         No new tests: no functional changes.
2507
2508         * WebCore.order:
2509         * platform/graphics/GraphicsContext.cpp:
2510         (WebCore::GraphicsContext::clipRoundedRect):
2511         * platform/graphics/GraphicsContext.h:
2512         (GraphicsContext):
2513         * platform/graphics/skia/GraphicsContextSkia.cpp:
2514         (WebCore::GraphicsContext::clipRoundedRect):
2515         * rendering/RenderBox.cpp:
2516         (WebCore::RenderBox::paintBoxDecorations):
2517         (WebCore::RenderBox::pushContentsClip):
2518         * rendering/RenderBoxModelObject.cpp:
2519         (WebCore::RenderBoxModelObject::clipRoundedInnerRect):
2520         (WebCore::RenderBoxModelObject::paintBorder):
2521         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
2522         * rendering/RenderLayer.cpp:
2523         (WebCore::RenderLayer::clipToRect):
2524         * rendering/RenderThemeChromiumWin.cpp:
2525         (WebCore):
2526         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
2527         * rendering/RenderThemeMacShared.mm:
2528         (WebCore::RenderThemeMacShared::paintMenuListButtonGradients):
2529         (WebCore::RenderThemeMacShared::paintSliderTrack):
2530         * rendering/RenderThemeSafari.cpp:
2531         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2532         (WebCore::RenderThemeSafari::paintSliderTrack):
2533         * rendering/RenderThemeWinCE.cpp:
2534         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
2535
2536 2013-01-10  Tommy Widenflycht  <tommyw@google.com>
2537
2538         MediaStream API: Adding the new id attribute to MediaStream and MediaStreamTrack
2539         https://bugs.webkit.org/show_bug.cgi?id=106564
2540
2541         Reviewed by Adam Barth.
2542
2543         Specification: http://dev.w3.org/2011/webrtc/editor/getusermedia.html
2544         MediaStream looses its label attribute and instead gets an id attribute.
2545         MediaStreamTrack gets an id attribute.
2546
2547         Not testable yet, will add tests in a followup patch.
2548
2549         * Modules/mediastream/MediaStream.h:
2550         (WebCore::MediaStream::label):
2551         (MediaStream):
2552         (WebCore::MediaStream::id):
2553         * Modules/mediastream/MediaStream.idl:
2554         * Modules/mediastream/MediaStreamTrack.cpp:
2555         (WebCore::MediaStreamTrack::id):
2556         (WebCore):
2557         * Modules/mediastream/MediaStreamTrack.h:
2558         * Modules/mediastream/MediaStreamTrack.idl:
2559         * platform/chromium/support/WebMediaStreamComponent.cpp:
2560         (WebKit::WebMediaStreamComponent::initialize):
2561         (WebKit):
2562         (WebKit::WebMediaStreamComponent::isEnabled):
2563         (WebKit::WebMediaStreamComponent::id):
2564         (WebKit::WebMediaStreamComponent::source):
2565         * platform/chromium/support/WebMediaStreamDescriptor.cpp:
2566         (WebKit::WebMediaStreamDescriptor::label):
2567         (WebKit):
2568         (WebKit::WebMediaStreamDescriptor::id):
2569         * platform/mediastream/MediaStreamComponent.h:
2570         (WebCore::MediaStreamComponent::id):
2571         (WebCore::MediaStreamComponent::MediaStreamComponent):
2572         (MediaStreamComponent):
2573         * platform/mediastream/MediaStreamDescriptor.h:
2574         (WebCore::MediaStreamDescriptor::create):
2575         (WebCore::MediaStreamDescriptor::id):
2576         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
2577         (MediaStreamDescriptor):
2578
2579 2013-01-10  Ojan Vafai  <ojan@chromium.org>
2580
2581         Flexboxes incorrectly add the scrollbar width to the intrinsic width of fixed-width items
2582         https://bugs.webkit.org/show_bug.cgi?id=106591
2583
2584         Reviewed by Levi Weintraub.
2585
2586         The scrollbar width should only be added if the width of the flex item
2587         is not fixed.
2588
2589         Test: fast/css/fixed-width-intrinsic-width-excludes-scrollbars.html
2590
2591         * rendering/RenderBlock.cpp:
2592         (WebCore::RenderBlock::computePreferredLogicalWidths):
2593         Use shared helper method. This also happens to fix the vertical
2594         writing-mode case.
2595
2596         * rendering/RenderBox.cpp:
2597         (WebCore::RenderBox::instrinsicScrollbarLogicalWidth):
2598         (WebCore):
2599         * rendering/RenderBox.h:
2600         (RenderBox):
2601         Add a method for determining the scrollbar's contribution to the boxes
2602         intrinsic width.
2603
2604         * rendering/RenderDeprecatedFlexibleBox.cpp:
2605         (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
2606         * rendering/RenderFlexibleBox.cpp:
2607         (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
2608         Use shared code for determining the scrollbar width and only add the
2609         width when computing the intrinsic widths.
2610
2611         * rendering/RenderGrid.cpp:
2612         (WebCore::RenderGrid::computePreferredLogicalWidths):\
2613         Just adding a FIXME to account for scrollbar width.
2614
2615 2013-01-10  Nate Chapin  <japhet@chromium.org>
2616
2617         Replace unnecessary null-checks with an assert in MainResourceLoader::continueAfterNavigationPolicy.
2618         https://bugs.webkit.org/show_bug.cgi?id=106476
2619
2620         Reviewed by Alexey Proskuryakov.
2621
2622         * loader/MainResourceLoader.cpp:
2623         (WebCore::MainResourceLoader::continueAfterNavigationPolicy): Null-checks for resourceLoader were
2624             added in an abundance of caution in r139150. Given that we know the load hasn't been cancelled,
2625             resourceLoader can only be null if continueAfterNavigationPolicy() has already been called
2626             before when m_substituteData is valid. continueAfterNavigationPolicy() is only called for redirects,
2627             and SubstituteData doesn't support redirects, so it is correct to assert that resourceLoader is non-null.
2628
2629 2013-01-10  Levi Weintraub  <leviw@chromium.org>
2630
2631         ScrollingCoordinator touch event hit rects aren't converted to proper coordinates when in nested views
2632         https://bugs.webkit.org/show_bug.cgi?id=106383
2633
2634         Reviewed by James Robinson.
2635
2636         ScrollingCoordinator uses clippedOverflowRectForRepaint(0) to generate the bounds for a renderer's hit
2637         testing rect. The rect this returns is in the coordinates of its document. This change converts the
2638         rect to the outermost view's coordinate system using convertToContainingView.
2639
2640         Tests: platform/chromium/fast/events/touch/touch-hit-rects-in-iframe.html
2641
2642         * page/scrolling/ScrollingCoordinator.cpp:
2643         (WebCore::accumulateRendererTouchEventTargetRects):
2644
2645 2013-01-10  Levi Weintraub  <leviw@chromium.org>
2646
2647         Regression(r137939): Heap-use-after-free in WebCore::accumulateDocumentEventTargetRects
2648         https://bugs.webkit.org/show_bug.cgi?id=106454
2649
2650         Reviewed by James Robinson.
2651
2652         Correctly removing child Documents from their parent's tracked touch handler maps when detaching and
2653         when their last touch event handler is removed.
2654
2655         Test: fast/events/touch/nested-document-with-touch-handler-detached-crash.html
2656
2657         * dom/Document.cpp:
2658         (WebCore::Document::detach):
2659         (WebCore::Document::didRemoveEventTargetNode):
2660
2661 2013-01-10  Nate Chapin  <japhet@chromium.org>
2662
2663         REGRESSION(r138222): WebDocumentLoaderMac-related leaks seen on Leaks bot
2664         https://bugs.webkit.org/show_bug.cgi?id=106137
2665
2666         Reviewed by Brady Eidson.
2667
2668         Tested manually by comparing before and after leaks output for WK1-mac.
2669
2670         * loader/MainResourceLoader.cpp:
2671         (WebCore::MainResourceLoader::receivedError): Call dispatchDidFailLoading() if
2672             a SubstituteData load fails or is cancelled. Without this call, load counts
2673             are not balanced on WebDocumentLoaderMac and it is retained forever.
2674         (WebCore::MainResourceLoader::didFinishLoading):
2675
2676 2013-01-10  Robert Kroeger  <rjkroege@chromium.org>
2677
2678         Manually revert http://trac.webkit.org/changeset/136012
2679         https://bugs.webkit.org/show_bug.cgi?id=106580
2680
2681         Reviewed by Dimitri Glazkov.
2682
2683         136012 broke touch-scrolling of an overflow div in an iframe. Revert manually
2684         to work around conflicts.
2685
2686         * page/EventHandler.cpp:
2687         (WebCore::EventHandler::handleWheelEvent):
2688
2689 2013-01-10  Robert Hogan  <robert@webkit.org>
2690
2691         REGRESSION(r136967): margin-top + overflow:hidden causes incorrect layout for internal floated elements
2692         https://bugs.webkit.org/show_bug.cgi?id=106374
2693
2694         Reviewed by David Hyatt.
2695
2696         r136397 treated any self-collapsing block that had a clearance delta as though it was clearing a float, but
2697         blocks that avoid floats can get a clearance delta too. So just ensure there is clearance on the block when deciding
2698         whether we need to add the margin back in before placing the float.
2699
2700         Test: fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden-and-float-child.html
2701
2702         * rendering/RenderBlockLineLayout.cpp:
2703         (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
2704
2705 2013-01-10  Alexander Pavlov  <apavlov@chromium.org>
2706
2707         Web Inspector: Color picker in Styles pane shows wrong initial color
2708         https://bugs.webkit.org/show_bug.cgi?id=106567
2709
2710         Reviewed by Pavel Feldman.
2711
2712         The RGB's G value for "crimson" was wrong.
2713
2714         * inspector/front-end/Color.js:
2715
2716 2013-01-10  Tony Chang  <tony@chromium.org>
2717
2718         Speed up supplemental dependency computation
2719         https://bugs.webkit.org/show_bug.cgi?id=106503
2720
2721         Reviewed by Adam Barth.
2722
2723         On my machine, generating supplemental IDL dependencies was taking about 18s
2724         because it has to run the C preprocessor on each IDL file. Avoid this by using
2725         a regular expression to find the Supplemental= value in each IDL file rather than
2726         doing a full parse. Now generating supplemental IDL dependencies is less than a
2727         second.
2728
2729         preprocess-idls.pl used to also check IDL attributes against IDLAttributes.txt.
2730         Move this code to run in generate-bindings.pl. This change revealed that
2731         TestRunner.idl uses PassContext so add that to IDLAttributes.txt.
2732
2733         No new tests, this is a build refactor. EWS bots should be green.
2734
2735         * DerivedSources.make: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
2736         * DerivedSources.pri: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
2737         * GNUmakefile.am: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
2738         * UseJSC.cmake: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
2739         * UseV8.cmake: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
2740         * WebCore.gyp/WebCore.gyp: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
2741         * bindings/scripts/IDLAttributes.txt: Add PassContext needed by TestRunner.idl.
2742         * bindings/scripts/generate-bindings.pl:
2743         (loadIDLAttributes): Moved from preprocess-idls.pl.
2744         (checkIDLAttributes): Moved from preprocess-idls.pl.
2745         (checkIfIDLAttributesExists): Moved from preprocess-idls.pl.
2746         * bindings/scripts/preprocess-idls.pl:
2747         (getSupplementalFromIDLFile): Helper method to get Supplemental=* quickly.
2748
2749 2013-01-10  Max Vujovic  <mvujovic@adobe.com>
2750
2751         [CSS Filters] RenderLayerCompositor::addToOverlapMap should take into account the filters outsets (ie. blur and drop-shadow)
2752         https://bugs.webkit.org/show_bug.cgi?id=94022
2753
2754         Reviewed by Simon Fraser.
2755
2756         When a layer has a filter that moves pixels, we need to add its entire bounds, including its
2757         outsets and children, to the overlap map. The filter can move the children's pixels
2758         anywhere in the layer, so we can't rely on the children's bounds.
2759
2760         Eventually, we should avoid adding children to the overlap map if the parent's bounds used
2761         for overlap testing already include the children. I've added a FIXME for this optimization.
2762
2763         Tests: compositing/filters/sw-layer-overlaps-hw-shadow.html
2764                compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow.html
2765                compositing/filters/sw-shadow-overlaps-hw-layer.html
2766                compositing/filters/sw-shadow-overlaps-hw-shadow.html
2767
2768         * rendering/RenderLayer.h:
2769         (WebCore::RenderLayer::overlapBounds):
2770             If necessary, return the calculated layer bounds, including the children. Otherwise,
2771             return the localBoundingBox.
2772         (RenderLayer):
2773         (WebCore::RenderLayer::overlapBoundsIncludeChildren):
2774             If the layer has a filter that moves pixels, return true.
2775         * rendering/RenderLayerCompositor.cpp:
2776         (WebCore::RenderLayerCompositor::addToOverlapMap):
2777             Add the overlapBounds instead of the localBoundingBox to the overlap map.
2778         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2779             Use the overlapBounds instead of the localBoundingBox for overlap testing.
2780
2781 2013-01-09  Ojan Vafai  <ojan@chromium.org>
2782
2783         intrinsic min-widths don't override width for file upload controls
2784         https://bugs.webkit.org/show_bug.cgi?id=106517
2785
2786         Reviewed by Tony Chang.
2787
2788         Separate out computing intrinsic width from perferred width so that
2789         we can use the intrinsic width correctly when applying min-width/max-width.
2790         The preferred width is the width used in its container's computation
2791         of its intrinsic width.
2792
2793         This is the first in a series of patches making this work across
2794         the render tree. 
2795
2796         Test: fast/forms/file/intrinsic-min-width-overrides-width.html
2797
2798         * rendering/RenderBox.cpp:
2799         (WebCore::RenderBox::minIntrinsicLogicalWidth):
2800         (WebCore):
2801         (WebCore::RenderBox::maxIntrinsicLogicalWidth):
2802         (WebCore::RenderBox::computeIntrinsicLogicalWidths):
2803         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
2804         * rendering/RenderBox.h:
2805         (RenderBox):
2806         * rendering/RenderFileUploadControl.cpp:
2807         (WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths):
2808         (WebCore):
2809         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
2810         * rendering/RenderFileUploadControl.h:
2811         (RenderFileUploadControl):
2812
2813 2013-01-10  Victor Carbune  <victor@rosedu.org>
2814
2815         media/video-controls-captions.html fails after fixing https://bugs.webkit.org/show_bug.cgi?id=105536
2816         https://bugs.webkit.org/show_bug.cgi?id=106230
2817
2818         Reviewed by Eric Carlson.
2819
2820         Until Chromium has proper controls for lists of text tracks, the caption button
2821         needs to preserve its functionality.
2822
2823         Updated TestExpectations to reactivate test.
2824
2825         * html/HTMLMediaElement.cpp:
2826         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Added explicit call to updateTextTrackDisplay.
2827         This enables hiding the tracks immediately.
2828         * html/shadow/MediaControlElements.cpp:
2829         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Added extra check before rendering
2830         that captions should actually be displayed.
2831
2832 2013-01-10  Hajime Morrita  <morrita@google.com>
2833
2834         ComposedShadowTreeWalker shouldn't be exposed to non-ShadowDOM classes
2835         https://bugs.webkit.org/show_bug.cgi?id=106505
2836
2837         Reviewed by Dimitri Glazkov.
2838
2839         This change hides ComposedShadowTreeWalker from non-ShadowDOM classes by
2840
2841         - introducing thin wrapper functions on NodeRenderingTraversal and relacing
2842           CSTW callsites with it,
2843         - replacing ComposedShadowTreeWalker usage with AncestorChainWalker if possible and
2844         - moving AncestorChainWalker to its own file and including it on files
2845           which needs only AncestorChainWalker. This eliminates ComposedShadowTreeWalker.h inclusions.
2846
2847         No new tests. No behavior change.
2848
2849         * CMakeLists.txt:
2850         * GNUmakefile.list.am:
2851         * Target.pri:
2852         * WebCore.gypi:
2853         * WebCore.xcodeproj/project.pbxproj:
2854         * dom/AncestorChainWalker.cpp: Added. Extracted from ComposedShadowTreeWalker.cpp
2855         (WebCore):
2856         (WebCore::AncestorChainWalker::AncestorChainWalker):
2857         (WebCore::AncestorChainWalker::parent):
2858         * dom/AncestorChainWalker.h: Added. Extracted from ComposedShadowTreeWalker.h
2859         (WebCore):
2860         (AncestorChainWalker):
2861         (WebCore::AncestorChainWalker::get):
2862         (WebCore::AncestorChainWalker::crossingInsertionPoint):
2863         * dom/ComposedShadowTreeWalker.cpp:
2864         * dom/ComposedShadowTreeWalker.h:
2865         * dom/DOMAllInOne.cpp:
2866         * dom/ElementShadow.h:
2867         (WebCore::shadowOfParent):
2868         (WebCore):
2869         * dom/EventDispatcher.cpp:
2870         * dom/Node.cpp:
2871         * dom/NodeRenderingTraversal.cpp:
2872         (WebCore::NodeRenderingTraversal::nextInScope):
2873         (NodeRenderingTraversal):
2874         (WebCore::NodeRenderingTraversal::previousInScope): Added.
2875         (WebCore::NodeRenderingTraversal::parentInScope): Added.
2876         (WebCore::NodeRenderingTraversal::lastChildInScope): Added.
2877         * dom/NodeRenderingTraversal.h:
2878         (NodeRenderingTraversal):
2879         * dom/TreeScope.cpp:
2880         * html/HTMLLIElement.cpp:
2881         (WebCore::HTMLLIElement::attach):
2882         * page/EventHandler.cpp:
2883         * page/FocusController.cpp: Replacing CSTW with NRT
2884         (WebCore):
2885         (WebCore::FocusNavigationScope::focusNavigationScopeOf):
2886         (WebCore::FocusController::findNodeWithExactTabIndex):
2887         (WebCore::nextNodeWithGreaterTabIndex):
2888         (WebCore::previousNodeWithLowerTabIndex):
2889         (WebCore::FocusController::nextFocusableNode):
2890         (WebCore::FocusController::previousFocusableNode):
2891
2892 2013-01-10  Zan Dobersek  <zandobersek@gmail.com>
2893
2894         Remove the ENABLE_ANIMATION_API feature define occurences
2895         https://bugs.webkit.org/show_bug.cgi?id=106544
2896
2897         Reviewed by Simon Fraser.
2898
2899         The Animation API code was removed in r137243. The ENABLE_ANIMATION_API
2900         feature define handling still lingers in various build systems and configurations
2901         but is of no use, so it should be removed.
2902
2903         No new tests - no new functionality.
2904
2905         * Configurations/FeatureDefines.xcconfig:
2906         * GNUmakefile.features.am.in:
2907
2908 2013-01-10  Robert Phillips  <robertphillips@chromium.org>
2909
2910         Serialization of Gradients fails when PlatformContextSkia is not bitmap backed
2911         https://bugs.webkit.org/show_bug.cgi?id=106559
2912
2913         Reviewed by Stephen White.
2914
2915         This patch switches over from having platform/Skia improperly
2916         crack open the device to find the bitmap configuration to just
2917         specifying it directly.
2918
2919         No new tests. This bug is Chromium specific and only occurs in a
2920         debugging tool (when serializing to a Skia-specific file format).
2921
2922         * platform/graphics/skia/PlatformContextSkia.cpp:
2923         (WebCore::PlatformContextSkia::createCompatibleDevice):
2924
2925 2013-01-10  Alexander Pavlov  <apavlov@chromium.org>
2926
2927         The "outline-offset" property is not found in the computed style property list
2928         https://bugs.webkit.org/show_bug.cgi?id=106561
2929
2930         Reviewed by Alexis Menard.
2931
2932         Listed CSSPropertyOutlineOffset in the CSSComputedStyleDeclaration's computedProperties[].
2933
2934         Test: fast/css/getComputedStyle/getComputedStyle-outline-offset.html
2935
2936         * css/CSSComputedStyleDeclaration.cpp:
2937
2938 2013-01-10  David Faure  <faure@kde.org>
2939
2940         PluginPackage::freeLibraryTimerFired asserts if plugin got loaded again meanwhile
2941         https://bugs.webkit.org/show_bug.cgi?id=106463
2942
2943         Reviewed by Simon Hausmann.
2944
2945         No new tests, this code path will be tested by bug 106140.
2946
2947         * plugins/PluginPackage.cpp:
2948         (WebCore::PluginPackage::freeLibraryTimerFired): skip unloading if loaded again meanwhile.
2949
2950 2013-01-10  Alexander Pavlov  <apavlov@chromium.org>
2951
2952         CSSParser does not allow the absence of whitespace between "and" and "expression"
2953         https://bugs.webkit.org/show_bug.cgi?id=106458
2954
2955         Reviewed by Antti Koivisto.
2956
2957         The issue was that a construct similar to "and(max-width: 480px)" looks like a function call (token type FUNCTION), even though
2958         it is actually a MEDIA_AND followed by a parenthesized expression.
2959
2960         Test: fast/css/media-rule-no-whitespace.html
2961
2962         * css/CSSParser.cpp:
2963         (WebCore::CSSParser::detectFunctionTypeToken): Return if the detection has been successful.
2964         (WebCore::CSSParser::realLex): Test for media query tokens if function type detection has failed.
2965         * css/CSSParser.h:
2966
2967 2013-01-10  Alexis Menard  <alexis@webkit.org>
2968
2969         ASSERT_NOT_REACHED in StylePropertySet::fontValue when accessing font style property through JS after setting style font size.
2970         https://bugs.webkit.org/show_bug.cgi?id=88866
2971
2972         Reviewed by Alexander Pavlov.
2973
2974         StylePropertySet::fontValue always assumed that it was called using
2975         style.font after a subsequent call which set the shorthand font. The
2976         ASSERT_NOT_REACHED assumed that all longhands of the font shorthand not
2977         set by the shorthand itself were set to initial. While it's true when
2978         we set the font shorthand (i.e all longhands are set to implicit initial)
2979         it is not true when you set the longhands individually. For example setting
2980         font-size will not set other font properties to initial. It is the behavior of all
2981         other shorthands in WebKit. When reconstructing the shorthand other
2982         properties tests whether the value of each longhands is initial or not
2983         (if not then we omit the value, as we should always construct the
2984         shortest shorthand possible) or if the value is set or not (if set then
2985         we include it in the shorthand if not then we omit it). The comment
2986         removed was also talking about invalid font property potentially built
2987         by fontValue(). So far appendFontLonghandValueIfExplicit will always
2988         construct a valid value as it takes care of adding ' ' or '/' when
2989         needed, so the return value is parsable and correct.
2990
2991         Test: fast/css/font-shorthand-from-longhands.html
2992
2993         * css/StylePropertySet.cpp:
2994         (WebCore::StylePropertySet::appendFontLonghandValueIfExplicit):
2995         (WebCore::StylePropertySet::fontValue):
2996         * css/StylePropertySet.h:
2997
2998 2013-01-10  Sheriff Bot  <webkit.review.bot@gmail.com>
2999
3000         Unreviewed, rolling out r139306.
3001         http://trac.webkit.org/changeset/139306
3002         https://bugs.webkit.org/show_bug.cgi?id=106550
3003
3004         it broke inspector-protocol/nmi-webaudio-leak-test.html
3005         (Requested by loislo on #webkit).
3006
3007         * bindings/v8/V8PerIsolateData.cpp:
3008         (WebCore::V8PerIsolateData::reportMemoryUsage):
3009         * css/CSSMediaRule.cpp:
3010         (WebCore::CSSMediaRule::reportMemoryUsage):
3011         * css/CSSProperty.cpp:
3012         (WebCore::CSSProperty::reportMemoryUsage):
3013         * css/CSSStyleSheet.cpp:
3014         (WebCore::CSSStyleSheet::reportMemoryUsage):
3015         * css/MediaList.cpp:
3016         (WebCore::MediaList::reportMemoryUsage):
3017         * css/RuleSet.cpp:
3018         (WebCore::RuleData::reportMemoryUsage):
3019         (WebCore::RuleSet::reportMemoryUsage):
3020         (WebCore::RuleSet::RuleSetSelectorPair::reportMemoryUsage):
3021         * css/StyleResolver.cpp:
3022         (WebCore::StyleResolver::MatchedPropertiesCacheItem::reportMemoryUsage):
3023         (WebCore::StyleResolver::reportMemoryUsage):
3024         * css/StyleSheetContents.cpp:
3025         (WebCore::StyleSheetContents::reportMemoryUsage):
3026         * dom/TreeScope.cpp:
3027         (WebCore::TreeScope::reportMemoryUsage):
3028         * inspector/HeapGraphSerializer.cpp:
3029         (WebCore::HeapGraphSerializer::reportMemoryUsage):
3030         * inspector/InspectorMemoryAgent.cpp:
3031         * inspector/InspectorProfilerAgent.cpp:
3032         (WebCore::InspectorProfilerAgent::reportMemoryUsage):
3033         * inspector/MemoryInstrumentationImpl.cpp:
3034         (WebCore::MemoryInstrumentationClientImpl::reportMemoryUsage):
3035         * loader/DocumentLoader.cpp:
3036         (WebCore::DocumentLoader::reportMemoryUsage):
3037         * loader/FrameLoader.cpp:
3038         (WebCore::FrameLoader::reportMemoryUsage):
3039         * loader/MainResourceLoader.cpp:
3040         (WebCore::MainResourceLoader::reportMemoryUsage):
3041         * loader/Prerenderer.cpp:
3042         (WebCore::Prerenderer::reportMemoryUsage):
3043         * loader/ResourceLoader.cpp:
3044         (WebCore::ResourceLoader::reportMemoryUsage):
3045         * loader/cache/CachedImage.cpp:
3046         (WebCore::CachedImage::reportMemoryUsage):
3047         * page/Page.cpp:
3048         (WebCore::Page::reportMemoryUsage):
3049
3050 2013-01-10  Ilya Tikhonovsky  <loislo@chromium.org>
3051
3052         Web Inspector: Native Memory Instrumentation: fix instrumentation for already instrumented classes 2/N
3053         https://bugs.webkit.org/show_bug.cgi?id=106546
3054
3055         Reviewed by Vsevolod Vlasov.
3056
3057         Many nontrivial class members were instrumented in reportMemoryUsage methods.
3058
3059         * bindings/v8/V8PerIsolateData.cpp:
3060         (WebCore::V8PerIsolateData::reportMemoryUsage):
3061         * css/CSSMediaRule.cpp:
3062         (WebCore::CSSMediaRule::reportMemoryUsage):
3063         * css/CSSProperty.cpp:
3064         (WebCore::CSSProperty::reportMemoryUsage):
3065         * css/CSSStyleSheet.cpp:
3066         (WebCore::CSSStyleSheet::reportMemoryUsage):
3067         * css/MediaList.cpp:
3068         (WebCore::MediaList::reportMemoryUsage):
3069         * css/RuleSet.cpp:
3070         (WebCore::RuleData::reportMemoryUsage):
3071         (WebCore::RuleSet::reportMemoryUsage):
3072         (WebCore::RuleSet::RuleSetSelectorPair::reportMemoryUsage):
3073         * css/StyleResolver.cpp:
3074         (WebCore::StyleResolver::MatchedPropertiesCacheItem::reportMemoryUsage):
3075         (WebCore::StyleResolver::reportMemoryUsage):
3076         * css/StyleSheetContents.cpp:
3077         (WebCore::StyleSheetContents::reportMemoryUsage):
3078         * dom/TreeScope.cpp:
3079         (WebCore::TreeScope::reportMemoryUsage):
3080         * inspector/HeapGraphSerializer.cpp:
3081         (WebCore::HeapGraphSerializer::reportMemoryUsage):
3082         * inspector/InspectorMemoryAgent.cpp:
3083         * inspector/InspectorProfilerAgent.cpp:
3084         (WebCore::InspectorProfilerAgent::reportMemoryUsage):
3085         * inspector/MemoryInstrumentationImpl.cpp:
3086         (WebCore::MemoryInstrumentationClientImpl::reportMemoryUsage):
3087         * loader/DocumentLoader.cpp:
3088         (WebCore::DocumentLoader::reportMemoryUsage):
3089         * loader/FrameLoader.cpp:
3090         (WebCore::FrameLoader::reportMemoryUsage):
3091         * loader/MainResourceLoader.cpp:
3092         (WebCore::MainResourceLoader::reportMemoryUsage):
3093         * loader/Prerenderer.cpp:
3094         (WebCore::Prerenderer::reportMemoryUsage):
3095         * loader/ResourceLoader.cpp:
3096         (WebCore::ResourceLoader::reportMemoryUsage):
3097         * loader/cache/CachedImage.cpp:
3098         (WebCore::CachedImage::reportMemoryUsage):
3099         * page/Page.cpp:
3100         (WebCore::Page::reportMemoryUsage):
3101
3102 2013-01-10  Christophe Dumez  <christophe.dumez@intel.com>
3103
3104         [EFL] Add gstreamer 1.0.5 to jhbuild
3105         https://bugs.webkit.org/show_bug.cgi?id=106178
3106
3107         Reviewed by Laszlo Gombos.
3108
3109         Remove GSTREAMER_INTERFACES_LIBRARIES from EFL
3110         CMake configuration.
3111
3112         No new tests, no behavior change for layout tests.
3113
3114         * PlatformEfl.cmake:
3115
3116 2013-01-09  Christophe Dumez  <christophe.dumez@intel.com>
3117
3118         Unreviewed build fix after r139266.
3119
3120         r139266 broke the debug build of the gstreamer backend due
3121         to a missing header include.
3122
3123         No new tests, no behavior change.
3124
3125         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
3126
3127 2013-01-09  Alec Flett  <alecflett@chromium.org>
3128
3129         IndexedDB: Allow createIndex/createObjectStore to be asynchronous
3130         https://bugs.webkit.org/show_bug.cgi?id=106377
3131
3132         Reviewed by Tony Chang.
3133
3134         Migrate implementations of createIndex/deleteIndex,
3135         createObjectStore/deleteObjectStore over to IDBDatabaseBackendImpl,
3136         so that they can be asynchronous in multi-process ports.
3137
3138         Has the side effect of removing the last consumers of
3139         IDBIndexBackendImpl and IDBObjectStoreBackendImpl. The former
3140         is removed complete and the latter becomes a temporary namespace
3141         pending a further more mechanical code shuffle.
3142
3143         A key refactoring effect is that the IDBDatabaseBackendImpl
3144         now contains the authoritative IDBDatabaseMetadata hierarchy,
3145         and updates to it are consolidated in one place rather than
3146         scattered across a parallel object tree.
3147
3148         No new tests as this is just refactoring.
3149
3150         * Modules/indexeddb/IDBBackingStore.cpp: Simplify objectstore/index loading and propagate errors.
3151         (WebCore::IDBBackingStore::getObjectStores):
3152         (WebCore::IDBBackingStore::getIndexes):
3153         * Modules/indexeddb/IDBBackingStore.h:
3154         (IDBBackingStore):
3155         * Modules/indexeddb/IDBCursorBackendImpl.cpp: Dependency cleanup.
3156         * Modules/indexeddb/IDBCursorBackendImpl.h: Dependency cleanup.
3157         (WebCore):
3158         * Modules/indexeddb/IDBDatabase.cpp: Frontend IDBObjectStores no longer hold onto backend objects.
3159         (WebCore::IDBDatabase::createObjectStore):
3160         (WebCore::IDBDatabase::deleteObjectStore):
3161         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Add all create/deleteIndex operations from IDBIndexBackendImpl.
3162         (WebCore::CreateObjectStoreOperation::create):
3163         (WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
3164         (CreateObjectStoreOperation):
3165         (WebCore::DeleteObjectStoreOperation::create):
3166         (WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
3167         (DeleteObjectStoreOperation):
3168         (WebCore::CreateObjectStoreAbortOperation::create):
3169         (WebCore::CreateObjectStoreAbortOperation::CreateObjectStoreAbortOperation):
3170         (CreateObjectStoreAbortOperation):
3171         (WebCore::DeleteObjectStoreAbortOperation::create):
3172         (WebCore::DeleteObjectStoreAbortOperation::DeleteObjectStoreAbortOperation):
3173         (DeleteObjectStoreAbortOperation):
3174         (CreateIndexOperation):
3175         (WebCore::CreateIndexOperation::create):
3176         (WebCore::CreateIndexOperation::CreateIndexOperation):
3177         (WebCore):
3178         (DeleteIndexOperation):
3179         (WebCore::DeleteIndexOperation::create):
3180         (WebCore::DeleteIndexOperation::DeleteIndexOperation):
3181         (CreateIndexAbortOperation):
3182         (WebCore::CreateIndexAbortOperation::create):
3183         (WebCore::CreateIndexAbortOperation::CreateIndexAbortOperation):
3184         (DeleteIndexAbortOperation):
3185         (WebCore::DeleteIndexAbortOperation::create):
3186         (WebCore::DeleteIndexAbortOperation::DeleteIndexAbortOperation):
3187         (WebCore::GetOperation::GetOperation):
3188         (WebCore::IDBDatabaseBackendImpl::addObjectStore):
3189         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
3190         (WebCore::IDBDatabaseBackendImpl::addIndex):
3191         (WebCore::IDBDatabaseBackendImpl::removeIndex):
3192         (WebCore::IDBDatabaseBackendImpl::openInternal):
3193         (WebCore::IDBDatabaseBackendImpl::metadata):
3194         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
3195         (WebCore::CreateObjectStoreOperation::perform):
3196         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
3197         (WebCore::IDBDatabaseBackendImpl::createIndex):
3198         (WebCore::CreateIndexOperation::perform):
3199         (WebCore::CreateIndexAbortOperation::perform):
3200         (WebCore::IDBDatabaseBackendImpl::deleteIndex):
3201         (WebCore::DeleteIndexOperation::perform):
3202         (WebCore::DeleteIndexAbortOperation::perform):
3203         (WebCore::IDBDatabaseBackendImpl::get):
3204         (WebCore::IDBDatabaseBackendImpl::put):
3205         (WebCore::IDBDatabaseBackendImpl::setIndexKeys):
3206         (WebCore::IDBDatabaseBackendImpl::count):
3207         (WebCore::DeleteRangeOperation::perform):
3208         (WebCore::DeleteObjectStoreOperation::perform):
3209         (WebCore::IDBDatabaseBackendImpl::deleteDatabaseFinal):
3210         (WebCore::IDBDatabaseBackendImpl::loadObjectStores): Load directly into metadata from backing store.
3211         (WebCore::CreateObjectStoreAbortOperation::perform):
3212         (WebCore::DeleteObjectStoreAbortOperation::perform):
3213         (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
3214         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
3215         (WebCore):
3216         (IDBDatabaseBackendImpl):
3217         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
3218         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
3219         * Modules/indexeddb/IDBIndexBackendImpl.cpp: Removed.
3220         * Modules/indexeddb/IDBIndexBackendImpl.h: Removed.
3221         * Modules/indexeddb/IDBObjectStore.cpp:
3222         (WebCore::IDBObjectStore::IDBObjectStore): Frontend IDBIndex objects no longer hold onto backend.
3223         (WebCore::IDBObjectStore::createIndex): 
3224         (WebCore::IDBObjectStore::deleteIndex):
3225         * Modules/indexeddb/IDBObjectStore.h:
3226         (WebCore::IDBObjectStore::create):
3227         (IDBObjectStore):
3228         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3229         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
3230         (WebCore):
3231         (IDBObjectStoreBackendImpl):
3232         * Modules/indexeddb/IDBTransaction.cpp:
3233         (WebCore::IDBTransaction::objectStore):
3234         * Modules/indexeddb/IDBTransaction.h:
3235         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
3236         * Modules/indexeddb/IDBTransactionBackendImpl.h:
3237         (WebCore::IDBTransactionBackendImpl::objectStore):
3238         * WebCore.gypi:
3239         * WebCore.vcproj/WebCore.vcproj:
3240         * WebCore.xcodeproj/project.pbxproj:
3241
3242 2013-01-09  John J. Barton  <johnjbarton@chromium.org>
3243
3244         Web Inspector: Don't throw exceptions when we don't have a callstack
3245         https://bugs.webkit.org/show_bug.cgi?id=104849
3246
3247         Reviewed by Pavel Feldman.
3248
3249         Check array details.callFrames.length before accessing array;
3250
3251         No new tests, but this fix may help us find the cause of 'other' reasons.
3252
3253         * inspector/front-end/ScriptsPanel.js:
3254         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
3255
3256 2013-01-09  Eugene Klyuchnikov  <eustas@chromium.org>
3257
3258         Web Inspector: [Network] Data grid header and content cells are misaligned.
3259         https://bugs.webkit.org/show_bug.cgi?id=105795
3260
3261         Reviewed by Pavel Feldman.
3262
3263         Header and content tables have different width -> same percent values
3264         turn to different cell widths.
3265
3266         * inspector/front-end/DataGrid.js: Add "corner" cell to all rows.
3267         * inspector/front-end/dataGrid.css: Apply "corner" rules to "td" nodes.
3268         (.data-grid .data-container): Remove artificial padding.
3269
3270 2013-01-09  Tien-Ren Chen  <trchen@chromium.org>
3271
3272         Make caret repainting container-aware
3273         https://bugs.webkit.org/show_bug.cgi?id=103955
3274
3275         Reviewed by Simon Fraser.
3276
3277         Only invalidate local rects on the caret's repaint container,
3278         instead of invalidating an absolute rect on the whole view.
3279
3280         Test: fast/repaint/caret-with-transformation.html
3281
3282         * editing/FrameSelection.cpp:
3283         (WebCore::caretRendersInsideNode):
3284         (WebCore::caretRenderer):
3285         (WebCore::FrameSelection::caretRenderer):
3286         (WebCore::DragCaretController::caretRenderer):
3287         (WebCore::repaintCaretForLocalRect):
3288         (WebCore::FrameSelection::recomputeCaretRect):
3289         (WebCore::CaretBase::invalidateCaretRect):
3290         (WebCore::FrameSelection::focusedOrActiveStateChanged):
3291         * editing/FrameSelection.h:
3292         * rendering/RenderView.cpp:
3293         (WebCore::RenderView::repaintSelection):
3294         * rendering/RenderView.h:
3295
3296 2013-01-09  Ryosuke Niwa  <rniwa@webkit.org>
3297
3298         Rebaseline the binding test after r139278.
3299
3300         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3301         (WebCore::JSTestEventTarget::getOwnPropertySlot):
3302
3303 2013-01-09  Ryosuke Niwa  <rniwa@webkit.org>
3304
3305         [JSC] REGRESSION(r135093): A form control with name=length overrides length property on form.elements
3306         https://bugs.webkit.org/show_bug.cgi?id=105775
3307
3308         Reviewed by Sam Weinig.
3309
3310         Fixed the bug by respecting properties on ancestor classes.
3311
3312         Test: fast/dom/collection-length-should-not-be-overridden.html
3313
3314         * bindings/js/JSDOMBinding.h:
3315         (WebCore::getStaticValueSlotEntryWithoutCaching): Added.
3316         * bindings/scripts/CodeGeneratorJS.pm:
3317         (GenerateGetOwnPropertySlotBody): Use getStaticValueSlotEntryWithoutCaching to climb up the class
3318         hierarchy.
3319
3320 2013-01-09  Kondapally Kalyan  <kalyan.kondapally@intel.com>
3321
3322         [EFL] [WebGL] Remove GLX dependencies from X11WindowResources..
3323         https://bugs.webkit.org/show_bug.cgi?id=106319
3324
3325         Reviewed by Kenneth Rohde Christiansen.
3326
3327         This patch removes GLX specific calls from X11WindowResources.
3328         This class is shared by both GLX and EGL implementations.
3329
3330         * platform/graphics/surfaces/glx/GLXSurface.cpp:
3331         (WebCore::GLXTransportSurface::setGeometry):
3332         * platform/graphics/surfaces/glx/X11WindowResources.cpp:
3333         (WebCore::X11OffScreenWindow::reSizeWindow):
3334
3335 2013-01-09  Huang Dongsung  <luxtella@company100.net>
3336
3337         Remove deviceScaleFactor argument in computeMinimumScaleFactorForContentContained().
3338         https://bugs.webkit.org/show_bug.cgi?id=106500
3339
3340         Reviewed by Kenneth Rohde Christiansen.
3341
3342         deviceScaleFactor argument is not used after r139189.
3343
3344         No new tests. Refactoring only.
3345
3346         * dom/ViewportArguments.cpp:
3347         (WebCore::computeMinimumScaleFactorForContentContained):
3348         * dom/ViewportArguments.h:
3349         (WebCore):
3350
3351 2013-01-09  Elliott Sprehn  <esprehn@gmail.com>
3352
3353         Node::containingShadowRoot should be constant time
3354         https://bugs.webkit.org/show_bug.cgi?id=106494
3355
3356         Reviewed by Dimitri Glazkov.
3357
3358         There's no reason to traverse up the tree to find the containing
3359         ShadowRoot when we already know if we're in a ShadowRoot by looking at
3360         the treeScope().
3361
3362         No new tests, just refactoring.
3363
3364         * dom/Node.cpp:
3365         (WebCore::Node::containingShadowRoot):
3366
3367 2013-01-09  Hajime Morrita  <morrita@google.com>
3368
3369         [Shadow DOM] Distribution related code on ElementShadow should be minimized.
3370         https://bugs.webkit.org/show_bug.cgi?id=106294
3371
3372         Reviewed by Dimitri Glazkov.
3373
3374         This change moves ElementShadow::m_selectFeatures,
3375         m_shouldCollectSelectFeatureSet and related methods to
3376         ContentDistributor.
3377
3378         There are also some renaming and small refactorings for better fit
3379         on new place:
3380
3381         - shouldCollectSelectFeatureSet is renamed needsSelectorRuleSet for conciseness.
3382         - setShouldCollectSelectFeatureSet() which used recursion morphed into
3383           iterative willAffectSelector().
3384         - ensureDistributionFromDocument() becomes a static method.
3385
3386         No new tests. Refactoring.
3387
3388         * WebCore.exp.in:
3389         * dom/Element.cpp:
3390         (WebCore::Element::shouldInvalidateDistributionWhenAttributeChanged):
3391         * dom/ElementShadow.cpp:
3392         (WebCore::ElementShadow::addShadowRoot):
3393         (WebCore::ElementShadow::removeAllShadowRoots):
3394         * dom/ElementShadow.h:
3395         (ElementShadow):
3396         (WebCore::ElementShadow::invalidateDistribution):
3397         (WebCore::ElementShadow::ensureDistribution):
3398         (WebCore::ElementShadow::didAffectSelector):
3399         (WebCore::ElementShadow::willAffectSelector):
3400         (WebCore::ElementShadow::containingShadow):
3401         (WebCore):
3402         * html/shadow/ContentDistributor.cpp:
3403         (WebCore::ScopeContentDistribution::registerInsertionPoint):
3404         (WebCore::ScopeContentDistribution::unregisterInsertionPoint):
3405         (WebCore::ContentDistributor::ContentDistributor):
3406         (WebCore::ContentDistributor::ensureDistribution):
3407         (WebCore):
3408         (WebCore::ContentDistributor::ensureDistributionFromDocument):
3409         (WebCore::ContentDistributor::invalidateDistribution):
3410         (WebCore::ContentDistributor::ensureSelectFeatureSet):
3411         (WebCore::ContentDistributor::collectSelectFeatureSetFrom):
3412         (WebCore::ContentDistributor::didAffectSelector):
3413         (WebCore::ContentDistributor::willAffectSelector):
3414         (WebCore::ContentDistributor::didShadowBoundaryChange):
3415         * html/shadow/ContentDistributor.h:
3416         (ScopeContentDistribution):
3417         (WebCore::ContentDistributor::needsSelectFeatureSet):
3418         (WebCore::ContentDistributor::setNeedsSelectFeatureSet):
3419         (ContentDistributor):
3420         (WebCore::ContentDistributor::setValidity):
3421         (WebCore::ContentDistributor::needsInvalidation):
3422         * html/shadow/HTMLContentElement.cpp:
3423         (WebCore::HTMLContentElement::parseAttribute):
3424         * html/shadow/HTMLContentElement.h:
3425         * html/shadow/HTMLShadowElement.cpp:
3426         (WebCore::HTMLShadowElement::olderShadowRoot):
3427         * html/shadow/InsertionPoint.cpp:
3428         (WebCore::InsertionPoint::getDistributedNodes):
3429         (WebCore::InsertionPoint::insertedInto):
3430         (WebCore::InsertionPoint::removedFrom):
3431         * html/shadow/InsertionPoint.h:
3432         (WebCore::InsertionPoint::canAffectSelector):
3433         * testing/Internals.cpp:
3434         (WebCore::Internals::hasSelectorForIdInShadow):
3435         (WebCore::Internals::hasSelectorForClassInShadow):
3436         (WebCore::Internals::hasSelectorForAttributeInShadow):
3437         (WebCore::Internals::hasSelectorForPseudoClassInShadow):
3438
3439 2013-01-09  Shinya Kawanaka  <shinyak@chromium.org>
3440
3441         Assert triggered in SelectorChecker::checkOneSelector when scrollbar (e.g. :horizontal) selector is specified.
3442         https://bugs.webkit.org/show_bug.cgi?id=106414
3443
3444         Reviewed by Dimitri Glazkov.
3445
3446         In SelectorChecker::checkOneSelector, scrollbar related pseudoType (e.g. :horizontal) is not handled anywhere.
3447         This caused ASSERT triggered. We have to check them.
3448
3449         Test: fast/css/scrollbar-crash.html
3450
3451         * css/SelectorChecker.cpp:
3452         (WebCore::SelectorChecker::checkOneSelector):
3453
3454 2013-01-09  Filip Pizlo  <fpizlo@apple.com>
3455
3456         Unreviewed, fix build after http://trac.webkit.org/changeset/139262
3457
3458         * Modules/webaudio/DefaultAudioDestinationNode.cpp:
3459
3460 2013-01-09  Chris Rogers  <crogers@google.com>
3461
3462         Allow live/local audio input to be enabled only when needed
3463         https://bugs.webkit.org/show_bug.cgi?id=106490
3464
3465         Reviewed by Kenneth Russell.
3466         
3467         WebAudio can process live/local audio input using a MediaStreamAudioSourceNode.
3468         But currently the audio back-end is not able to know when/if audio input will be
3469         needed, so it needs to assume the worst and initialize the system to support potential
3470         audio input in all cases.  For some audio back-ends this can end up being less efficient
3471         than initializing for audio output only.  This patch adds the ability for the audio back-end
3472         to be able to initialize itself for audio input later on, only when/if it's needed.
3473
3474         * Modules/webaudio/AudioContext.cpp:
3475         (WebCore::AudioContext::createMediaStreamSource):
3476         * Modules/webaudio/AudioDestinationNode.h:
3477         (AudioDestinationNode):
3478         * Modules/webaudio/DefaultAudioDestinationNode.cpp:
3479         (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
3480         (WebCore::DefaultAudioDestinationNode::initialize):
3481         (WebCore::DefaultAudioDestinationNode::uninitialize):
3482         (WebCore::DefaultAudioDestinationNode::createDestination):
3483         (WebCore):
3484         (WebCore::DefaultAudioDestinationNode::enableInput):
3485         * Modules/webaudio/DefaultAudioDestinationNode.h:
3486         (DefaultAudioDestinationNode):
3487         * Modules/webaudio/OfflineAudioDestinationNode.h:
3488         (OfflineAudioDestinationNode):
3489         (WebCore::OfflineAudioDestinationNode::sampleRate):
3490         * platform/audio/AudioDestination.h:
3491         (AudioDestination):
3492         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
3493         (WebCore::AudioDestination::create):
3494         * platform/audio/mac/AudioDestinationMac.cpp:
3495         (WebCore::AudioDestination::create):
3496
3497 2013-01-09  Tim Horton  <timothy_horton@apple.com>
3498
3499         Don't drop to huge tile mode if we're only slow-scrolling because of a page overlay
3500         https://bugs.webkit.org/show_bug.cgi?id=106502
3501         <rdar://problem/12959143>
3502
3503         Reviewed by Simon Fraser.
3504
3505         We only use the MainThreadScrollingReason "ForcedOnMainThread" if WebKit2 installs
3506         a page overlay (TiledCoreAnimationDrawingArea::didInstallPageOverlay), which clients
3507         can cause arbitrarily.
3508
3509         We probably should still use default-sized tiles in this case (this will also
3510         prevent us from falling into gigantic tiles for WebKit2 find-in-page, among other things).
3511
3512         * rendering/RenderLayerBacking.cpp:
3513         (WebCore::RenderLayerBacking::adjustTileCacheCoverage):
3514
3515 2013-01-09  Takashi Sakamoto  <tasak@google.com>
3516
3517         border-radius with box-shadow is not rendered correctly
3518         https://bugs.webkit.org/show_bug.cgi?id=106404
3519
3520         Reviewed by Hajime Morita.
3521
3522         RoundedRect::isRenderable is wrong. So RoundedRect::adjustRadii
3523         is invoked for renderable RoundedRects.
3524
3525         Test: fast/borders/border-radius-with-box-shadow.html
3526
3527         * platform/graphics/RoundedRect.cpp:
3528         (WebCore::RoundedRect::isRenderable):
3529         Have to compare topLeft's height plus bottomLeft's height with
3530         rect's height and to compare topRight's height plus bottomRight's
3531         height with rect's height.
3532
3533 2013-01-09  Joanmarie Diggs  <jdiggs@igalia.com>
3534
3535         [GTK] accessibility/aria-labelledby-overrides-label.html requires a proper baseline
3536         https://bugs.webkit.org/show_bug.cgi?id=105638
3537
3538         Reviewed by Martin Robinson.
3539
3540         The test was failing for two reasons:
3541         - AccessibilityRenderObject::correspondingLabelForControlElement() was
3542           not ignoring the ARIA labelled-by property
3543         - AccessibilityController::accessibleElementById() was not implemented
3544
3545         Because getting an element by ID cannot be done in the UIProcess, the
3546         decision was made to expose the element's ID as an accessible attribute
3547         of the object.
3548
3549         In addition, fixing the bug in AccessibilityRenderObject made it possible
3550         to eliminate the Gtk platform-specific expectations for another test.
3551
3552         No new tests; instead, the failing test was unskipped and a proper baseline
3553         provided.
3554
3555         * accessibility/AccessibilityRenderObject.cpp:
3556         (WebCore::AccessibilityRenderObject::correspondingLabelForControlElement):
3557         Return null for objects where hasTextAlternative() is true.
3558         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3559         (webkitAccessibleGetAttributes): Expose the element's ID as an accessible
3560         attribute.
3561
3562 2013-01-09  Tony Gentilcore  <tonyg@chromium.org>
3563
3564         Remove unused includes from HTMLTreeBuilder
3565         https://bugs.webkit.org/show_bug.cgi?id=106496
3566
3567         Reviewed by Levi Weintraub.
3568
3569         Noticed these while searching HTMLTreeBuilder for non-thread friendly deps.
3570
3571         No new tests because no new functionality.
3572
3573         * html/parser/HTMLTreeBuilder.cpp:
3574
3575 2013-01-09  Max Vujovic  <mvujovic@adobe.com>
3576
3577         [CSS Shaders] Detached identifier after mesh box type is not applied
3578         https://bugs.webkit.org/show_bug.cgi?id=105321
3579
3580         Reviewed by Dean Jackson.
3581
3582         Before this patch, if a "detached" identifier followed a mesh box type identifier, the
3583         detached identifier was not applied. In other words, the mesh would still be attached.
3584
3585         For example:
3586         -webkit-filter: custom(url(...) mix(url(...) normal source-atop), 1 1 border-box detached);
3587
3588         Although the mesh box type is being removed from the Filter Effects spec, for now, we
3589         continue to accept the mesh box type in parsing because of existing content. Eventually,
3590         custom filters will transition to an at-rule syntax, once it is defined.
3591
3592         Test: css3/filters/custom/custom-filter-detached-mesh-with-mesh-box-type.html
3593
3594         * css/CSSParser.cpp:
3595         (WebCore::CSSParser::parseCustomFilter):
3596             In CSSParser, do not add the mesh box type identifier to the list that will be passed to
3597             StyleResolver. StyleResolver is expecting a "detached" identifier in that position and
3598             does not interpret mesh box types.
3599
3600 2013-01-09  Dan Winship  <danw@gnome.org>
3601
3602         [Soup] Handle redirection inside WebKit
3603         https://bugs.webkit.org/show_bug.cgi?id=61122
3604         https://bugs.webkit.org/show_bug.cgi?id=88961
3605
3606         Reviewed by Martin Robinson.
3607
3608         Rather than using libsoup's built-in redirection handling (which
3609         doesn't do everything exactly the way WebKit wants, and can't
3610         handle redirects to non-http URIs anyway), process redirections
3611         ourselves.
3612
3613         No new tests; unskips a few existing tests.
3614
3615         * platform/network/ResourceHandleInternal.h:
3616         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3617         (ResourceHandleInternal):
3618         * platform/network/soup/ResourceError.h:
3619         (ResourceError):
3620         * platform/network/soup/ResourceErrorSoup.cpp:
3621         (WebCore::ResourceError::transportError):
3622         (WebCore):
3623         (WebCore::ResourceError::httpError):
3624         * platform/network/soup/ResourceHandleSoup.cpp:
3625         (WebCore):
3626         (WebCore::gotHeadersCallback):
3627         (WebCore::restartedCallback):
3628         (WebCore::shouldRedirect):
3629         (WebCore::doRedirect):
3630         (WebCore::redirectCloseCallback):
3631         (WebCore::redirectSkipCallback):
3632         (WebCore::cleanupSoupRequestOperation):
3633         (WebCore::sendRequestCallback):
3634         (WebCore::createSoupMessageForHandleAndRequest):
3635         (WebCore::createSoupRequestAndMessageForHandle):
3636         (WebCore::ResourceHandle::start):
3637
3638 2013-01-09  Florin Malita  <fmalita@chromium.org>
3639
3640         [Skia] Implement GraphicsContext::addRoundedRectClip() using SkCanvas::clipRRect()
3641         https://bugs.webkit.org/show_bug.cgi?id=106461
3642
3643         Reviewed by Stephen White.
3644
3645         This patch adds a Skia-specific version of GraphicsContext::addRoundedRectClip() to take
3646         advantage of the SkCanvas::clipRRect() primitive.
3647
3648         As a minor cleanup, the anonymous namespace in GraphicsContextSkia.cpp is extended to cover
3649         all the local helper functions.
3650
3651         No new tests: coverage provided by existing tests.
3652
3653         * platform/graphics/GraphicsContext.cpp:
3654         (WebCore):
3655         * platform/graphics/skia/GraphicsContextSkia.cpp:
3656         (WebCore::GraphicsContext::addRoundedRectClip):
3657         (WebCore):
3658         (WebCore::GraphicsContext::fillRoundedRect):
3659         * platform/graphics/skia/PlatformContextSkia.h:
3660         (WebCore::PlatformContextSkia::clipRRect):
3661         (WebCore):
3662
3663 2013-01-09  Andreas Kling  <akling@apple.com>
3664
3665         SVG-as-image: Throw out cached bitmap renderings after they sit unused for some time.
3666         <http://webkit.org/b/106484>
3667         <rdar://problem/12983216>
3668
3669         Reviewed by Antti Koivisto.
3670
3671         Add a one-shot timer to SVGImageCache to self-clear the bitmap cache 30 seconds after last access.
3672         This prevents us from keeping huge ImageBuffers around in memory for the lifetime of the elements
3673         referencing that particular SVG file. (The ownership model is actually a bit more complicated
3674         but that's irrelevant to this issue.)
3675
3676         10234kB progression on Membuster3.
3677
3678         * svg/graphics/SVGImageCache.cpp:
3679         (WebCore::SVGImageCache::SVGImageCache):
3680         (WebCore::SVGImageCache::~SVGImageCache):
3681         (WebCore::SVGImageCache::clearBitmapCache):
3682         (WebCore::SVGImageCache::cacheClearTimerFired):
3683         (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
3684         * svg/graphics/SVGImageCache.h:
3685         (SVGImageCache):
3686
3687 2013-01-09  Alexey Proskuryakov  <ap@apple.com>
3688
3689         Assertion failure in SubresourceLoader::didFail when reloading
3690         https://bugs.webkit.org/show_bug.cgi?id=101416
3691
3692         Reviewed by Nate Chapin.
3693
3694         Test: http/tests/cache/network-error-during-revalidation.html
3695
3696         * loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::didFail): Handle revalidation.
3697
3698 2013-01-09  Alexandru Chiculita  <achicu@adobe.com>
3699
3700         Assertion Failure in WebCore::RenderLayerCompositor::updateCompositingLayers
3701         https://bugs.webkit.org/show_bug.cgi?id=106419
3702
3703         Reviewed by Simon Fraser.
3704
3705         No new tests added, just un-skipped 3 existing tests.
3706
3707         RenderLayerCompositor::updateCompositingLayers is being called with a pending layout, so computing the
3708         layers at that point would be useless & error-prone as they will be using incorrect layout values. If a layout is pending it means that 
3709         RenderLayerCompositor::updateCompositingLayers would get called again after the pending layout ends, so any values calculated at that point would be
3710         overwritten immediately. This patch removes the old ASSERT and makes it a return instead.
3711
3712         * rendering/RenderLayerCompositor.cpp:
3713         (WebCore::RenderLayerCompositor::updateCompositingLayers):
3714
3715 2013-01-09  Robert Hogan  <robert@webkit.org>
3716
3717         REGRESSION(r111439): Focus ring is rendered incorrectly in fast/inline/continuation-outlines-with-layers.html
3718         https://bugs.webkit.org/show_bug.cgi?id=106064
3719
3720         Reviewed by David Hyatt.
3721
3722         * rendering/RenderBlock.cpp:
3723         (WebCore::RenderBlock::paintObject): 
3724
3725 2013-01-09  Gregg Tavares  <gman@google.com>
3726
3727         Add stub for CanvasProxy
3728         https://bugs.webkit.org/show_bug.cgi?id=106275
3729
3730         Reviewed by Dean Jackson.
3731
3732         No new tests as no new fuctionality exposed.
3733
3734         * CMakeLists.txt:
3735         * DerivedSources.make:
3736         * DerivedSources.pri:
3737         * GNUmakefile.list.am:
3738         * Target.pri:
3739         * WebCore.gypi:
3740         * WebCore.xcodeproj/project.pbxproj:
3741         * html/canvas/CanvasProxy.cpp: Added.
3742         * html/canvas/CanvasProxy.h: Added.
3743         * html/canvas/CanvasProxy.idl: Added.
3744
3745 2013-01-09  Antti Koivisto  <antti@apple.com>
3746
3747         Release FastMalloc thread caches on memory warning
3748         https://bugs.webkit.org/show_bug.cgi?id=106471
3749
3750         Reviewed by Geoff Garen.
3751         
3752         FastMalloc keeps some memory in per-thread caches (currently 2MB each). We currently flush these caches on memory warning 
3753         for the main thread only. We should do it for other WebKit threads that use FastMalloc too.
3754
3755         Call WTF::releaseFastMallocFreeMemory in a bunch of WebCore support threads on memory warning. Unfortunately we don't have 
3756         an uniform way of doing threads so this requires bunch of thread type specific code.
3757         
3758         Looks to be ~1% progression in membuster3 final and maximum numbers.
3759
3760         * platform/mac/MemoryPressureHandlerMac.mm:
3761         (WebCore::MemoryPressureHandler::releaseMemory):
3762         * storage/StorageTask.cpp:
3763         (WebCore::StorageTask::performTask):
3764         * storage/StorageTask.h:
3765         (WebCore::StorageTask::createReleaseFastMallocFreeMemory):
3766         * storage/StorageThread.cpp:
3767         (WebCore::storageThreads):
3768         (WebCore):
3769         (WebCore::StorageThread::StorageThread):
3770         (WebCore::StorageThread::~StorageThread):
3771         (WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThread):
3772         * storage/StorageThread.h:
3773         (StorageThread):
3774         * workers/WorkerThread.cpp:
3775         (WebCore::threadSetMutex):
3776         (WebCore::workerThreads):
3777         (WebCore::WorkerThread::workerThreadCount):
3778         (WebCore::WorkerThread::WorkerThread):
3779         (WebCore::WorkerThread::~WorkerThread):
3780         (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThread):
3781         (WebCore):
3782         * workers/WorkerThread.h:
3783         (WorkerThread):
3784
3785 2013-01-09  Tony Gentilcore  <tonyg@chromium.org>
3786
3787         REGRESSION(r139141): Assertion failure in WebCore::HTMLConstructionSite::HTMLConstructionSite
3788         https://bugs.webkit.org/show_bug.cgi?id=106412
3789
3790         Reviewed by Darin Adler.
3791
3792         This corrects the assertion added in r139141. The assertion was designed to make sure that we are using the
3793         HTMLDocument class. XHTML documents also use HTMLDocument.
3794
3795         No new tests because no new functionality.
3796
3797         * html/parser/HTMLConstructionSite.cpp:
3798         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
3799
3800 2013-01-08  Ojan Vafai  <ojan@chromium.org>
3801
3802         min-content gets the wrong value if min-width is set on some form controls
3803         https://bugs.webkit.org/show_bug.cgi?id=106389
3804
3805         Reviewed by Tony Chang.
3806
3807         Simplify the logic. The only exposed change in behavior is that
3808         m_minPreferredLogicalWidth gets set to m_maxPreferredLogicalWidth
3809         instead of 0 when min-width is set.
3810
3811         Test: fast/forms/min-content-form-controls.html
3812
3813         * rendering/RenderFileUploadControl.cpp:
3814         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
3815         * rendering/RenderListBox.cpp:
3816         (WebCore::RenderListBox::computePreferredLogicalWidths):
3817         * rendering/RenderMenuList.cpp:
3818         (WebCore::RenderMenuList::computePreferredLogicalWidths):
3819         * rendering/RenderSlider.cpp:
3820         (WebCore::RenderSlider::computePreferredLogicalWidths):
3821         * rendering/RenderTextControl.cpp:
3822         (WebCore::RenderTextControl::computePreferredLogicalWidths):
3823
3824 2013-01-09  Abhishek Arya  <inferno@chromium.org>
3825
3826         Mitigate out-of-bounds access in InlineIterator
3827         https://bugs.webkit.org/show_bug.cgi?id=104812
3828
3829         Reviewed by Levi Weintraub.
3830
3831         Share code between InlineIterator::current and InlineIterator::previousInSameNode,
3832         thereby checking for access outside text renderer's length.
3833
3834         * rendering/InlineIterator.h:
3835         (InlineIterator):
3836         (WebCore::InlineIterator::characterAt):
3837         (WebCore):
3838         (WebCore::InlineIterator::current):
3839         (WebCore::InlineIterator::previousInSameNode):
3840
3841 2013-01-09  Yongjun Zhang  <yongjun_zhang@apple.com>
3842
3843         If ImageLoader's loadEventSender or errorEventSender fires after document is detached, the document will be leaked.
3844
3845         https://bugs.webkit.org/show_bug.cgi?id=106394
3846
3847         Reviewed by Alexey Proskuryakov.
3848
3849         ImageLoader's loadEventSender and errorEventSender schedule event dispatching in separate timers and refs
3850         the Element in updatedHasPendingEvent.  If the Document is detached before either eventSender dispatches,
3851         we would leak the Document since we bail out early in dispatchPendingLoadEvent or dispatchPendingErrorEvent,
3852         without deref-ing the Element itself.
3853
3854         No new tests.  Verified manually by using heap tool to count the living HTMLDocuments.
3855
3856         * loader/ImageLoader.cpp:
3857         (WebCore::ImageLoader::dispatchPendingLoadEvent): also call updatedHasPendingEvent to deref the Element if
3858                     the document is detached.
3859         (WebCore::ImageLoader::dispatchPendingErrorEvent): ditto.
3860
3861 2013-01-09  Dimitri Glazkov  <dglazkov@chromium.org>
3862
3863         Unreviewed, rolling out r139143.
3864         http://trac.webkit.org/changeset/139143
3865         https://bugs.webkit.org/show_bug.cgi?id=106135
3866
3867         Broke Chromium content_browsertests.
3868
3869         * platform/leveldb/LevelDBDatabase.cpp:
3870         (WebCore::LevelDBDatabase::open):
3871         (WebCore::LevelDBDatabase::openInMemory):
3872
3873 2013-01-09  Sam Weinig  <sam@webkit.org>
3874
3875         Add Settings.in and make_settings.pl to the project.
3876
3877         Reviewed by Anders Carlsson.
3878
3879         * WebCore.xcodeproj/project.pbxproj:
3880
3881 2013-01-09  Ojan Vafai  <ojan@chromium.org>
3882
3883         marquee special-case in RenderBlock is not needed
3884         https://bugs.webkit.org/show_bug.cgi?id=106396
3885
3886         Reviewed by Simon Fraser.
3887
3888         This was added in http://trac.webkit.org/changeset/105772. The layout test
3889         in that patch (which is disabled) works and the original site that was broken
3890         also still works.
3891
3892         * rendering/RenderBlock.cpp:
3893         (WebCore::RenderBlock::computePreferredLogicalWidths):
3894
3895 2013-01-09  Tony Chang  <tony@chromium.org>
3896
3897         Automatically generate Settings::unifiedTextCheckerEnabled
3898         https://bugs.webkit.org/show_bug.cgi?id=106382
3899
3900         Reviewed by Adam Barth.
3901
3902         No new tests, no change in behavior. This is covered by existing editing/spelling tests.
3903
3904         * page/Settings.cpp:
3905         (WebCore): Move default value into a global so we can generate the initializer.
3906         (WebCore::Settings::Settings): Remove initializer code that is now generated.
3907         * page/Settings.h:
3908         (Settings): Remove getters and setters.
3909         * page/Settings.in: Add entry to be generated.
3910         * testing/InternalSettings.cpp:
3911         (WebCore::InternalSettings::Backup::Backup): Remove backup since the generated code does this.
3912         (WebCore::InternalSettings::Backup::restoreTo): Remove restore code since the generated code does this.
3913         * testing/InternalSettings.h:
3914         (InternalSettings): Remove member variable.
3915         * testing/InternalSettings.idl: The getter was unused so it's being removed. The setter is now generated.
3916
3917 2013-01-09  Alexis Menard  <alexis@webkit.org>
3918
3919         Implement CSS computed style value for transition shorthand
3920         https://bugs.webkit.org/show_bug.cgi?id=105035
3921
3922         Reviewed by Dean Jackson.
3923
3924         Implement support for query the transition and webkit-transition
3925         shorthand from the computed style.
3926
3927         Test: transitions/transitions-parsing.html
3928
3929         * css/CSSComputedStyleDeclaration.cpp:
3930         (WebCore::createTransitionPropertyValue): Factor the code to create the
3931         correct value into a function to reuse it for the shorthand.
3932         (WebCore::getTransitionPropertyValue):
3933         (WebCore::createTimingFunctionValue): Little refactor, the intermediate
3934         local variables are not needed.
3935         (WebCore::getTimingFunctionValue):
3936         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3937
3938 2013-01-09  Hajime Morrita  <morrita@google.com>
3939
3940         Document::setActiveNode() should be Document::setActiveElement()
3941         https://bugs.webkit.org/show_bug.cgi?id=106437
3942
3943         Reviewed by Ojan Vafai.
3944
3945         No new tests. No functoinal change.
3946
3947         * dom/Document.cpp:
3948         (WebCore::Document::setActiveElement):
3949         (WebCore::Document::updateHoverActiveState):
3950         * dom/Document.h:
3951         (Document):
3952         * rendering/HitTestResult.cpp:
3953         (WebCore::HitTestResult::innerElement):
3954         (WebCore):
3955         * rendering/HitTestResult.h:
3956         (HitTestResult):
3957
3958 2013-01-09  Shinya Kawanaka  <shinyak@chromium.org>
3959
3960         [Shadow DOM]: ShadowRoot has wrong nodeName attribute
3961         https://bugs.webkit.org/show_bug.cgi?id=104995
3962
3963         Reviewed by Dimitri Glazkov.
3964
3965         According to the Shadow DOM spec, ShadowRoot.nodeName should return '#document-fragment' instead of '#shadow-root'.
3966         We remove ShadowRoot::nodeName.
3967
3968         No new tests, covered by existing tests.
3969
3970         * dom/ShadowRoot.cpp:
3971         * dom/ShadowRoot.h:
3972         (ShadowRoot):
3973
3974 2013-01-09  Zoltan Horvath  <zoltan@webkit.org>
3975
3976         [CSS Regions] Selecting text through nested regions causes weird and unclearable selection  
3977         https://bugs.webkit.org/show_bug.cgi?id=105641
3978
3979         Reviewed by David Hyatt.
3980
3981         If you have a region with a nested region inside what is rendered below the base region and you are trying select text
3982         starting from the base region and ending it in the nested region, firstly you got a weird selection, secondly you can't
3983         clear the selection. We could prevent this strange behavior by preventing the selection through different region flows.
3984
3985         Test: fast/regions/selecting-text-through-different-region-flows.html
3986
3987         * rendering/RenderView.cpp:
3988         (WebCore::RenderView::setSelection): Don't allow selection when trying to select different region flows.
3989
3990 2013-01-09  Hugo Parente Lima  <hugo.lima@openbossa.org>
3991
3992         Regression(r138681) : Add HAVE(ACCESSIBILITY) guard to atk files, fix for a fix.
3993         https://bugs.webkit.org/show_bug.cgi?id=106448
3994
3995         Reviewed by Gyuyoung Kim.
3996
3997         Some atk files don't use HAVE(ACCESSIBILITY). It might make build errors when
3998         the macro isn't enabled.
3999
4000         * accessibility/atk/WebKitAccessibleHyperlink.h:
4001         * accessibility/atk/WebKitAccessibleInterfaceAction.h:
4002         * accessibility/atk/WebKitAccessibleInterfaceComponent.h:
4003         * accessibility/atk/WebKitAccessibleInterfaceHypertext.h:
4004
4005 2013-01-09  Chris Fleizach  <cfleizach@apple.com>
4006
4007         AX: native popup buttons should not use textUnderElement for their title
4008         https://bugs.webkit.org/show_bug.cgi?id=106349
4009
4010         Reviewed by Ryosuke Niwa.
4011
4012         Chromium relies on the older title() method to return its title. As a result, we also
4013         need to handle the case of <select> element pop up buttons returning the textUnderElement().
4014
4015         No new tests. Fix existing break.
4016
4017         * accessibility/AccessibilityNodeObject.cpp:
4018         (WebCore::AccessibilityNodeObject::title):
4019
4020 2013-01-09  Jussi Kukkonen  <jussi.kukkonen@intel.com>
4021
4022         IndexedDB: Remove ASSERTs that can't assert but result in compiler warnings
4023         https://bugs.webkit.org/show_bug.cgi?id=106442
4024
4025         Reviewed by Kentaro Hara.
4026
4027         IDBLevelDBCoding::m_metaDataType has been changed to unsigned
4028         so ASSERT(m_metaDataType >= 0) is no longer useful: the compiler
4029         warnings however create build difficulties at least with EFL.
4030
4031         * Modules/indexeddb/IDBLevelDBCoding.cpp:
4032         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::metaDataType):
4033         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare):
4034
4035 2012-12-29  Ilya Tikhonovsky  <loislo@chromium.org>
4036
4037         Web Inspector: Native Memory Instrumentation: fix instrumentation for already instrumented classes 1/N
4038         https://bugs.webkit.org/show_bug.cgi?id=106445
4039
4040         Reviewed by Vsevolod Vlasov.
4041
4042         The patch has almost mechanical changes.
4043
4044         * bindings/v8/V8Binding.cpp:
4045         * bindings/v8/V8ValueCache.cpp:
4046         (WTF):
4047         (WebCore::StringCache::reportMemoryUsage):
4048         (WebCore):
4049         * dom/Document.cpp:
4050         (WebCore::Document::reportMemoryUsage):
4051         * dom/DocumentStyleSheetCollection.cpp:
4052         (WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
4053         * dom/ElementRareData.cpp:
4054         (WebCore::ElementRareData::reportMemoryUsage):
4055         * loader/cache/CachedResource.cpp:
4056         (WebCore::CachedResource::reportMemoryUsage):
4057         * page/Frame.cpp:
4058         (WebCore::Frame::reportMemoryUsage):