flexbox assert fails with auto-sized item with padding
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-09-27  Tony Chang  <tony@chromium.org>
2
3         flexbox assert fails with auto-sized item with padding
4         https://bugs.webkit.org/show_bug.cgi?id=97606
5
6         Reviewed by Ojan Vafai.
7
8         Depending on the denominator of FractionalLayoutUnit, we can lose precision when
9         converting to a float.  This would cause a rounding error in flex-shrink to trigger an ASSERT.
10         To avoid this problem in the future, switch to using doubles for flex-shrink and flex-grow
11         at layout time.  The CSS values themselves are still floats.
12
13         Test: css3/flexbox/negative-flex-rounding-assert.html
14
15         * rendering/RenderFlexibleBox.cpp:
16         (WebCore::RenderFlexibleBox::layoutFlexItems): Use doubles for local variables.
17         (WebCore::RenderFlexibleBox::computeNextFlexLine): Pass in doubles.
18         (WebCore::RenderFlexibleBox::freezeViolations): Pass in doubles.
19         (WebCore::RenderFlexibleBox::resolveFlexibleLengths): Pass in doubles.
20         * rendering/RenderFlexibleBox.h:
21
22 2012-09-28  Sheriff Bot  <webkit.review.bot@gmail.com>
23
24         Unreviewed, rolling out r129751.
25         http://trac.webkit.org/changeset/129751
26         https://bugs.webkit.org/show_bug.cgi?id=97921
27
28         Causes crashes on mac and win (Requested by vsevik on
29         #webkit).
30
31         * bindings/js/JSHTMLCanvasElementCustom.cpp:
32         (WebCore::JSHTMLCanvasElement::getContext):
33         * bindings/js/JSMainThreadExecState.h:
34         (WebCore::JSMainThreadExecState::instrumentFunctionCall):
35         * bindings/js/ScheduledAction.cpp:
36         (WebCore::ScheduledAction::create):
37         * bindings/js/ScriptCallStackFactory.cpp:
38         (WebCore::createScriptCallStackForInspector):
39         * bindings/js/ScriptCallStackFactory.h:
40         (WebCore):
41         * bindings/scripts/CodeGeneratorJS.pm:
42         (GenerateCallWith):
43         * bindings/scripts/CodeGeneratorV8.pm:
44         (GenerateCallWith):
45         * bindings/scripts/test/JS/JSTestObj.cpp:
46         (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
47         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
48         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
49         * bindings/scripts/test/V8/V8TestObj.cpp:
50         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
51         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
52         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackCallback):
53         * bindings/v8/ScriptCallStackFactory.cpp:
54         (WebCore::createScriptCallStackForInspector):
55         * bindings/v8/ScriptCallStackFactory.h:
56         (WebCore):
57         * bindings/v8/ScriptController.cpp:
58         (WebCore::ScriptController::callFunctionWithInstrumentation):
59         * bindings/v8/V8DOMWindowShell.cpp:
60         (WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
61         * bindings/v8/V8WorkerContextEventListener.cpp:
62         (WebCore::V8WorkerContextEventListener::callListenerFunction):
63         * bindings/v8/custom/V8DOMWindowCustom.cpp:
64         (WebCore::WindowSetTimeoutImpl):
65         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
66         (WebCore::V8HTMLCanvasElement::getContextCallback):
67         * bindings/v8/custom/V8WorkerContextCustom.cpp:
68         (WebCore::SetTimeoutOrInterval):
69         * inspector/Inspector.json:
70         * inspector/InspectorConsoleAgent.cpp:
71         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
72         (WebCore::InspectorConsoleAgent::enable):
73         (WebCore::InspectorConsoleAgent::disable):
74         (WebCore::InspectorConsoleAgent::clearMessages):
75         (WebCore::InspectorConsoleAgent::clearFrontend):
76         (WebCore::InspectorConsoleAgent::addConsoleMessage):
77         * inspector/InspectorConsoleAgent.h:
78         (InspectorConsoleAgent):
79         * inspector/InspectorController.cpp:
80         (WebCore::InspectorController::connectFrontend):
81         (WebCore::InspectorController::disconnectFrontend):
82         * inspector/InspectorInstrumentation.cpp:
83         (WebCore):
84         (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
85         * inspector/InspectorInstrumentation.h:
86         (InspectorInstrumentation):
87         (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
88         * inspector/InspectorRuntimeAgent.cpp:
89         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
90         * inspector/InspectorRuntimeAgent.h:
91         (InspectorRuntimeAgent):
92         * inspector/PageRuntimeAgent.cpp:
93         (PageRuntimeAgentState):
94         (WebCore::PageRuntimeAgent::clearFrontend):
95         (WebCore::PageRuntimeAgent::restore):
96         (WebCore::PageRuntimeAgent::setReportExecutionContextCreation):
97         (WebCore::PageRuntimeAgent::didClearWindowObject):
98         (WebCore::PageRuntimeAgent::didCreateIsolatedContext):
99         * inspector/PageRuntimeAgent.h:
100         (PageRuntimeAgent):
101         * inspector/WorkerRuntimeAgent.cpp:
102         (WebCore::WorkerRuntimeAgent::setReportExecutionContextCreation):
103         (WebCore):
104         * inspector/WorkerRuntimeAgent.h:
105         (WorkerRuntimeAgent):
106         * inspector/front-end/RuntimeModel.js:
107         (WebInspector.RuntimeModel.prototype._didLoadCachedResources):
108         * page/DOMWindow.cpp:
109         (WebCore::DOMWindow::postMessage):
110
111 2012-09-28  Kent Tamura  <tkent@chromium.org>
112
113         Add parseDateTime, formatDateTime, and dateFormatText to Localizer
114         https://bugs.webkit.org/show_bug.cgi?id=97885
115
116         Reviewed by Kentaro Hara.
117
118         This is a preparation to remove LocalizedData.h.
119
120         Add the following pure virtual member functions to Localizer.
121           parseDateTime
122           formatDateTime
123           dateFormatText.
124
125         We rename existing parse/format functions for type=date in Locale*
126         classes, and extend their functionality so that they support other
127         date/time types. They override the new functions of Localizer.
128
129         No new tests. This should not change any behavior.
130
131         * platform/text/Localizer.h:
132         (Localizer): Add parseDateTime, formatDateTime, and dateFormatText.
133
134         * platform/text/LocaleICU.h:
135         (LocaleICU):
136         - Rename parseLocalizedDate to parseDateTime
137         - Add type argument to parseDateTime
138         - Rename formatLocalizedDate to formatDateTime
139         - Rename localizedDateFormatText to dateFormatText
140         - Make parseDateTime/formatDateTime/dateFormatText virtual.
141         * platform/text/LocaleICU.cpp:
142         (WebCore::LocaleICU::parseDateTime):
143         Renamed. Reject non-date types.
144         (WebCore::LocaleICU::formatDateTime): ditto.
145         (WebCore::LocaleICU::dateFormatText): Renamed.
146         * platform/text/LocalizedDateICU.cpp: Moved some code to LocaleICU.cpp.
147         (WebCore::parseLocalizedDate):
148         (WebCore::formatLocalizedDate):
149
150         * platform/text/LocaleNone.cpp:
151         Add empty implementations of parseDateTime, formatDateTime, and
152         dateFormatText.
153         (LocaleNone):
154         (WebCore::LocaleNone::parseDateTime):
155         (WebCore::LocaleNone::formatDateTime):
156         (WebCore::LocaleNone::dateFormatText):
157
158         * platform/text/LocaleWin.h:
159         (LocaleWin):
160         - Rename parseDate to parseDateTime
161         - Add type argument to parseDateTime
162         - Rename formatDate to formatDateTime
163         - Make parseDateTime/formatDateTime/dateFormatText virtual.
164         * platform/text/LocaleWin.cpp:
165         (WebCore::LocaleWin::parseDateTime):
166         Renamed. Reject non-date types.
167         (WebCore::LocaleWin::formatDateTime): ditto.
168         * platform/text/LocalizedDateWin.cpp: Moved some code to LocaleWin.cpp.
169         (WebCore::parseLocalizedDate):
170         (WebCore::formatLocalizedDate):
171
172         * platform/text/mac/LocaleMac.h:
173         (LocaleMac):
174         - Rename parseDate to parseDateTime
175         - Add type argument to parseDateTime
176         - Rename formatDate to formatDateTime
177         - Make parseDateTime/formatDateTime/dateFormatText virtual.
178         * platform/text/mac/LocaleMac.mm:
179         (WebCore::LocaleMac::parseDateTime):
180         Renamed. Reject non-date types.
181         (WebCore::LocaleMac::formatDateTime): ditto.
182         * platform/text/mac/LocalizedDateMac.cpp: Moved some code to LocaleMac.mm.
183         (WebCore::parseLocalizedDate):
184         (WebCore::formatLocalizedDate):
185
186 2012-09-28  Joshua Bell  <jsbell@chromium.org>
187
188         IndexedDB: Run multiple tasks per transaction tick
189         https://bugs.webkit.org/show_bug.cgi?id=97738
190
191         Reviewed by Tony Chang.
192
193         Process multiple tasks from the pending queue(s) when the timer fires. The
194         task may initiate new tasks that change which queue is active (e.g. indexing
195         operations) so the loop must re-check each tick which queue to use.
196
197         In DumpRenderTree, time to make 20k puts/20k gets dropped from 3.2s to 2.0s (-37%);
198         in Chromium's content_shell, the time dropped from 8.1s to 4.6s (-42%).
199
200         No new tests - just perf improvements, covered by (nearly) all existing IDB tests.
201
202         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
203         (WebCore::IDBTransactionBackendImpl::abort): Use takeFirst() to clean up code.
204         (WebCore::IDBTransactionBackendImpl::taskTimerFired): Process as many tasks as are available.
205
206 2012-09-28  Harald Tveit Alvestrand  <harald@alvestrand.no>
207         
208         Implement the GetStats interface on PeerConnection
209         https://bugs.webkit.org/show_bug.cgi?id=95193
210
211         Specification:
212         http://dev.w3.org/2011/webrtc/editor/webrtc-20120920.html
213
214         Reviewed by Adam Barth.
215
216         The implementation consists of a pure virtual platform object
217         (RTCStatsRequest) that is implemented in WebCore, and stores
218         its information in a straightforward data hierarchy.
219         This patch adds the call path and the storage structures.
220         It does not add filling in data.
221
222         Test: fast/mediastream/RTCPeerConnection-stats.html
223
224         * CMakeLists.txt:
225         * Modules/mediastream/RTCPeerConnection.cpp:
226         (WebCore::RTCPeerConnection::getStats):
227         (WebCore):
228         * Modules/mediastream/RTCPeerConnection.h:
229         (WebCore):
230         (RTCPeerConnection):
231         * Modules/mediastream/RTCPeerConnection.idl:
232         * Modules/mediastream/RTCStatsCallback.h: Added.
233         (WebCore):
234         (RTCStatsCallback):
235         (WebCore::RTCStatsCallback::~RTCStatsCallback):
236         * Modules/mediastream/RTCStatsCallback.idl: Added.
237         * Modules/mediastream/RTCStatsElement.cpp: Added.
238         (WebCore):
239         (WebCore::RTCStatsElement::create):
240         (WebCore::RTCStatsElement::RTCStatsElement):
241         (WebCore::RTCStatsElement::stat):
242         * Modules/mediastream/RTCStatsElement.h: Added.
243         (WebCore):
244         (RTCStatsElement):
245         * Modules/mediastream/RTCStatsElement.idl: Added.
246         * Modules/mediastream/RTCStatsReport.cpp: Added.
247         (WebCore):
248         (WebCore::RTCStatsReport::create):
249         (WebCore::RTCStatsReport::RTCStatsReport):
250         * Modules/mediastream/RTCStatsReport.h: Added.
251         (WebCore):
252         (RTCStatsReport):
253         (WebCore::RTCStatsReport::local):
254         (WebCore::RTCStatsReport::remote):
255         * Modules/mediastream/RTCStatsReport.idl: Added.
256         * Modules/mediastream/RTCStatsRequestImpl.cpp: Added.
257         (WebCore):
258         (WebCore::RTCStatsRequestImpl::create):
259         (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
260         (WebCore::RTCStatsRequestImpl::~RTCStatsRequestImpl):
261         (WebCore::RTCStatsRequestImpl::requestSucceeded):
262         (WebCore::RTCStatsRequestImpl::stop):
263         (WebCore::RTCStatsRequestImpl::clear):
264         * Modules/mediastream/RTCStatsRequestImpl.h: Added.
265         (WebCore):
266         (RTCStatsRequestImpl):
267         * Modules/mediastream/RTCStatsResponse.cpp: Added.
268         (WebCore):
269         (WebCore::RTCStatsResponse::create):
270         (WebCore::RTCStatsResponse::RTCStatsResponse):
271         * Modules/mediastream/RTCStatsResponse.h: Added.
272         (WebCore):
273         (RTCStatsResponse):
274         (WebCore::RTCStatsResponse::result):
275         * Modules/mediastream/RTCStatsResponse.idl: Added.
276         * WebCore.gypi:
277         * platform/chromium/support/WebRTCStatsRequest.cpp: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h.
278         (WebKit):
279         (WebKit::WebRTCStatsRequest::WebRTCStatsRequest):
280         (WebKit::WebRTCStatsRequest::assign):
281         (WebKit::WebRTCStatsRequest::reset):
282         (WebKit::WebRTCStatsRequest::requestSucceeded):
283         * platform/mediastream/RTCPeerConnectionHandler.h:
284         (WebCore):
285         (RTCPeerConnectionHandler):
286         * platform/mediastream/RTCStatsRequest.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
287         (WebCore):
288         (RTCStatsRequest):
289         (WebCore::RTCStatsRequest::~RTCStatsRequest):
290         (WebCore::RTCStatsRequest::RTCStatsRequest):
291         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
292         (WebCore::RTCPeerConnectionHandlerChromium::getStats):
293         (WebCore):
294         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
295         (RTCPeerConnectionHandlerChromium):
296
297 2012-09-28  Andreas Kling  <kling@webkit.org>
298
299         471kB below StyleSheetContents::parserAppendRule() on Membuster3.
300         <http://webkit.org/b/97916>
301
302         Reviewed by Anders Carlsson.
303
304         Shrink-to-fit the StyleSheetContents rule vectors at the end of CSSParser::parseSheet().
305         ~100kB progression on Membuster3.
306
307         * css/StyleSheetContents.h:
308         * css/StyleSheetContents.cpp:
309         (WebCore::StyleSheetContents::shrinkToFit):
310         * css/CSSParser.cpp:
311         (WebCore::CSSParser::parseSheet):
312
313 2012-09-28  Kent Tamura  <tkent@chromium.org>
314
315         Clean up Localizer-related functions
316         https://bugs.webkit.org/show_bug.cgi?id=97899
317
318         Reviewed by Kentaro Hara.
319
320         - Rename Document::getLocalizer to getCachedLocalizer
321         - Add default argument to getCachedLocalizer
322         - Add Element::localizer to reduce code size
323         - Rename DateTimeNumericFieldElement::localizer to localizerForOwner to
324           avoid conflict with Element::localizer
325         - Add Localizer::createDefault to improve code readability
326
327         No new tests. This shouldn't make any behavior change.
328
329         * dom/Document.h:
330         (Document): Rename getLocalizer to getCachedLocalizer, and add default
331         argument.
332         * dom/Document.cpp:
333         (WebCore::Document::getCachedLocalizer): ditto.
334
335         * dom/Element.h:
336         (Element): Add localizer function.
337         * dom/Element.cpp:
338         (WebCore::Element::localizer): Added
339
340         * html/shadow/DateTimeNumericFieldElement.h:
341         (DateTimeNumericFieldElement): Rename localizer to localizerForOwner.
342         * html/shadow/DateTimeNumericFieldElement.cpp: ditto.
343         (WebCore::DateTimeNumericFieldElement::handleKeyboardEvent):
344         (WebCore::DateTimeNumericFieldElement::localizerForOwner):
345         (WebCore::DateTimeNumericFieldElement::value):
346
347         * platform/text/Localizer.h:
348         (Localizer): Add createDefault
349         (WebCore::Localizer::createDefault): Implemented.
350
351         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
352         (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue):
353         Use Element::localizer.
354         * html/NumberInputType.cpp:
355         (WebCore::NumberInputType::localizeValue): ditto.
356         (WebCore::NumberInputType::convertFromVisibleValue): ditto.
357
358 2012-09-28  Pavel Feldman  <pfeldman@chromium.org>
359
360         Web Inspector: define ChunkedReader interface for compilation
361         https://bugs.webkit.org/show_bug.cgi?id=97904
362
363         Reviewed by Alexander Pavlov.
364
365         Otherwise, it is unclear what "source" is in the OutputStreamDelegate.
366
367         * inspector/front-end/FileUtils.js:
368         (WebInspector.OutputStreamDelegate.prototype.onTransferStarted):
369         (WebInspector.OutputStreamDelegate.prototype.onTransferFinished):
370         (WebInspector.OutputStreamDelegate.prototype.onChunkTransferred):
371         (WebInspector.OutputStreamDelegate.prototype.onError):
372         (WebInspector.ChunkedReader):
373         (WebInspector.ChunkedReader.prototype.fileSize):
374         (WebInspector.ChunkedReader.prototype.loadedSize):
375         (WebInspector.ChunkedReader.prototype.fileName):
376         (WebInspector.ChunkedReader.prototype.cancel):
377         (WebInspector.ChunkedFileReader.prototype.start):
378         (WebInspector.ChunkedFileReader.prototype._onChunkLoaded):
379         (WebInspector.ChunkedXHRReader.prototype.start):
380         (WebInspector.ChunkedXHRReader.prototype._onLoad):
381         * inspector/front-end/HeapSnapshotView.js:
382         (WebInspector.HeapSnapshotLoadFromFileDelegate.prototype.onTransferStarted):
383         (WebInspector.HeapSnapshotLoadFromFileDelegate.prototype.onChunkTransferred):
384         (WebInspector.HeapSnapshotLoadFromFileDelegate.prototype.onTransferFinished):
385         (WebInspector.HeapSnapshotLoadFromFileDelegate.prototype.onError):
386         * inspector/front-end/TimelineModel.js:
387         (WebInspector.TimelineModelLoadFromFileDelegate.prototype.onTransferStarted):
388
389 2012-09-28  Florin Malita  <fmalita@chromium.org>
390
391         [Chromium] Incorrect resampling of clipped/masked images.
392         https://bugs.webkit.org/show_bug.cgi?id=97409
393
394         Reviewed by Stephen White.
395
396         Currently, high-quality resampling is used for translate/scale-only transforms, but when
397         the scale is negative the resampling subset ends up positioned incorrectly.
398         ImageSkia.cpp:drawResampledBitmap needs to account for negative scaling factors, and apply
399         only absolute values when calculating the resampling subregion in bitmap coordinates.
400
401         Thanks pdr@google.com for isolating the regression.
402
403         Test: svg/custom/clip-mask-negative-scale.svg
404
405         * platform/graphics/skia/ImageSkia.cpp:
406         (WebCore::drawResampledBitmap):
407
408 2012-09-28  Sheriff Bot  <webkit.review.bot@gmail.com>
409
410         Unreviewed, rolling out r129882.
411         http://trac.webkit.org/changeset/129882
412         https://bugs.webkit.org/show_bug.cgi?id=97913
413
414         Repaint is incorrect on many tests (Requested by schenney on
415         #webkit).
416
417         * inspector/InspectorController.cpp:
418         * inspector/InspectorController.h:
419         (WebCore):
420         (InspectorController):
421         * inspector/InspectorOverlay.cpp:
422         (WebCore::InspectorOverlay::paint):
423         (WebCore::InspectorOverlay::update):
424         (WebCore::buildObjectForPoint):
425         (WebCore::buildArrayForQuad):
426         (WebCore::buildObjectForHighlight):
427         (WebCore::InspectorOverlay::reset):
428         * inspector/InspectorOverlay.h:
429         (InspectorOverlay):
430         * inspector/InspectorOverlayPage.html:
431
432 2012-09-28  Kentaro Hara  <haraken@chromium.org>
433
434         Unreviewed, rolling out r129825.
435         http://trac.webkit.org/changeset/129825
436         https://bugs.webkit.org/show_bug.cgi?id=97474
437
438         DOMWindow.resizeTo() is broken. Asked by Mark Pilgrim.
439
440         * WebCore.gypi:
441         * platform/Widget.h:
442         * platform/chromium/PageClientChromium.h: Removed.
443         * platform/chromium/PlatformScreenChromium.cpp:
444         (WebCore::screenHorizontalDPI):
445         (WebCore::screenVerticalDPI):
446         (WebCore::screenDepth):
447         (WebCore::screenDepthPerComponent):
448         (WebCore::screenIsMonochrome):
449         (WebCore::screenRect):
450         (WebCore::screenAvailableRect):
451         * platform/chromium/PlatformSupport.h:
452         (PlatformSupport):
453
454 2012-09-28  Christophe Dumez  <christophe.dumez@intel.com>
455
456         [WebDatabase] Error code should be CONSTRAINT_ERR if a statement fails due to a constraint failure
457         https://bugs.webkit.org/show_bug.cgi?id=97897
458
459         Reviewed by Kenneth Rohde Christiansen.
460
461         Use CONSTRAINT_ERR error code instead of the generic DATABASE_ERR
462         when a statement fails due to a constraint failure. This is documented
463         in the W3C specification:
464         http://dev.w3.org/html5/webdatabase/#dom-sqlexception-code-constraint
465
466         Tests: storage/websql/sql-error-codes.html
467
468         * Modules/webdatabase/SQLStatement.cpp:
469         (WebCore::SQLStatement::execute):
470         * Modules/webdatabase/SQLStatementSync.cpp:
471         (WebCore::SQLStatementSync::execute):
472         * platform/sql/SQLiteDatabase.cpp:
473         (WebCore):
474         * platform/sql/SQLiteDatabase.h:
475         (WebCore):
476
477 2012-09-28  Pavel Feldman  <pfeldman@chromium.org>
478
479         Web Inspector: split ProgressBar.js into Progress.js and ProgressIndicator.js
480         https://bugs.webkit.org/show_bug.cgi?id=97902
481
482         Reviewed by Alexander Pavlov.
483
484         One is model, the other is UI component.
485
486         * WebCore.gypi:
487         * WebCore.vcproj/WebCore.vcproj:
488         * inspector/compile-front-end.py:
489         * inspector/front-end/Progress.js: Copied from Source/WebCore/inspector/front-end/ProgressBar.js.
490         * inspector/front-end/ProgressIndicator.js: Renamed from Source/WebCore/inspector/front-end/ProgressBar.js.
491         * inspector/front-end/UserAgentSupport.js:
492         * inspector/front-end/WebKit.qrc:
493         * inspector/front-end/externs.js:
494         * inspector/front-end/inspector.html:
495
496 2012-09-27  Alexander Pavlov  <apavlov@chromium.org>
497
498         Web Inspector: [Device Metrics] Remove the gutter overlay moving its functionality into the InspectorOverlay
499         https://bugs.webkit.org/show_bug.cgi?id=97799
500
501         Reviewed by Pavel Feldman.
502
503         In order to reduce the amount of port-specific code, the gutter overlay painted in the device metrics emulation mode
504         has been replaced by the respective functionality in the HTML-based InspectorOverlay in WebCore. The InspectorOverlay
505         now covers the entire WebView rather than the FrameView only.
506
507         * inspector/InspectorController.cpp:
508         (WebCore::InspectorController::webViewResized):
509         (WebCore):
510         * inspector/InspectorController.h:
511         (WebCore):
512         (InspectorController):
513         * inspector/InspectorOverlay.cpp:
514         (WebCore::InspectorOverlay::InspectorOverlay):
515         (WebCore::InspectorOverlay::paint):
516         (WebCore::InspectorOverlay::resize):
517         (WebCore):
518         (WebCore::InspectorOverlay::update):
519         (WebCore::InspectorOverlay::drawGutter):
520         (WebCore::InspectorOverlay::reset):
521         * inspector/InspectorOverlay.h:
522         (InspectorOverlay):
523         * inspector/InspectorOverlayPage.html: Introduce the gutter painting functionality previously found in the Chromium's
524         DeviceMetricsSupport class, which used to implement WebPageOverlay.
525
526 2012-09-28  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
527
528         editing/pasteboard/paste-removing-iframe.html crashes on EFL bots
529         https://bugs.webkit.org/show_bug.cgi?id=97892
530
531         Reviewed by Kenneth Rohde Christiansen.
532
533         Added missing null check to avoid a crash if the document inside
534         iframe is removed during the editing operation.
535
536         Test: editing/pasteboard/paste-removing-iframe.html
537
538         * editing/Editor.cpp:
539         (WebCore::Editor::changeSelectionAfterCommand):
540
541 2012-09-28  Arvid Nilsson  <anilsson@rim.com>
542
543         [BlackBerry] Destroy thread-specific data for Platform::Graphics::Buffer on the right thread
544         https://bugs.webkit.org/show_bug.cgi?id=97674
545
546         Reviewed by Rob Buis.
547
548         A new API was added to BlackBerry::Platform::Graphics for destroying
549         thread-specific data generated on the compositing thread when we blit
550         buffers. The buffers are otherwise created and destroyed on the WebKit
551         thread, which doesn't give platform any opportunity to destroy the
552         thread-specific data.
553
554         This patch adds calls to the new API to avoid leaking resources.
555
556         Reviewed internally by Jakob Petsovits and Filip Spacek.
557
558         PR 214644
559
560         Verified using manual testing.
561
562         * plugins/blackberry/PluginViewPrivateBlackBerry.cpp:
563         (WebCore::PluginViewPrivate::createBuffers):
564         (WebCore::PluginViewPrivate::destroyBuffers):
565
566 2012-09-28  Andrey Adaikin  <aandrey@chromium.org>
567
568         Web Inspector: [Canvas] log property setters too along with function calls
569         https://bugs.webkit.org/show_bug.cgi?id=97776
570
571         Reviewed by Pavel Feldman.
572
573         Trace logs should also contain property setter calls.
574
575         * inspector/InjectedScriptCanvasModuleSource.js:
576         (.):
577         * inspector/Inspector.json:
578         * inspector/front-end/CanvasProfileView.js:
579         (WebInspector.CanvasProfileView.prototype._showTraceLog):
580
581 2012-09-28  Kent Tamura  <tkent@chromium.org>
582
583         Remove LocalizedNumber*.*
584         https://bugs.webkit.org/show_bug.cgi?id=97876
585
586         Reviewed by Yuta Kitamura.
587
588         LocalizedNumber.h functions are replaced with Localizer class.
589
590         * CMakeLists.txt: Remove LocalizedNumberNone.*.
591         * GNUmakefile.list.am: ditto.
592         * Target.pri: ditto.
593         * WebCore.vcpproj/WebCore.vcproj: ditto.
594         * WebCore.gyp/WebCore.gyp: Remove LocalizedNumber*.*.
595         * WebCore.gypi: ditto.
596         * WebCore.xcodeproj/project.pbxproj: ditto.
597
598         * html/NumberInputType.cpp: Use Localizer for the element locale.
599         (WebCore::NumberInputType::localizeValue):
600         (WebCore::NumberInputType::convertFromVisibleValue):
601
602         * platform/text/Localizer.h: Move some comments from LocalizedNumber.h
603
604         * platform/text/LocalizedNumber.h: Removed.
605         * platform/text/LocalizedNumberICU.cpp: Removed.
606         * platform/text/LocalizedNumberNone.cpp: Removed.
607         * platform/text/mac/LocalizedNumberMac.mm: Removed.
608         * platform/text/win/LocalizedNumberWin.cpp: Removed.
609
610 2012-09-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
611
612         Unreviewed, rolling out r129863.
613         http://trac.webkit.org/changeset/129863
614         https://bugs.webkit.org/show_bug.cgi?id=97173
615
616         WK2 layout test on debug is broken by this patch.
617
618         * platform/efl/RunLoopEfl.cpp:
619         (WebCore::RunLoop::RunLoop):
620         (WebCore::RunLoop::~RunLoop):
621
622 2012-09-28  Vsevolod Vlasov  <vsevik@chromium.org>
623
624         Web Inspector: Formatting on load is broken
625         https://bugs.webkit.org/show_bug.cgi?id=97880
626
627         Reviewed by Alexander Pavlov.
628
629         Bound formatted callback on UISourceCode and fixed callback call.
630
631         * inspector/front-end/UISourceCode.js:
632         (WebInspector.UISourceCode.prototype._fireContentAvailable.formattedCallback):
633         (WebInspector.UISourceCode.prototype._fireContentAvailable):
634
635 2012-09-28  Yoshifumi Inoue  <yosin@chromium.org>
636
637         [Forms] Multiple fields month input UI
638         https://bugs.webkit.org/show_bug.cgi?id=97299
639
640         Reviewed by Kent Tamura.
641
642         This patch introduces multiple fields "month" input UI in DRT. We'll
643         enable this feature once we add tests.
644
645         Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_MONTH
646         and ENABLE_INPUT_MULTIPLE_FIELDS_UI.
647
648         No new tests. To reduce size of this patch, other patches add tests
649         for multiple fields month input UI.
650
651         Note: Actual outputs of two tests
652             - fast/forms/month/month-input-visible-string.html
653             - fast/forms/month/month-stepup-stepdown-from-renderer.html
654         are different.
655
656         * css/html.css:
657         (input::-webkit-datetime-edit-month-field): Added for field appearance.
658         (input::-webkit-datetime-edit-year-field): ditto.
659         (input::-webkit-datetime-edit-month-field:focus): Added to remove focus ring.
660         (input::-webkit-datetime-edit-year-field:focus): ditto.
661         * html/MonthInputType.cpp:
662         (WebCore::MonthInputType::formatDateTimeFieldsState): Added to format numeric value to string value as specified in HTML5 specification.
663         (WebCore::MonthInputType::setupLayoutParameters): Added to set layout of multiple fields.
664         * html/MonthInputType.h: Changed to include BaseMultipleFieldsDateAndTimeInputType.h and introduce BaseMonthInputType typedef.
665         (WebCore::MonthInputType::MonthInputType): Changed base class name to BaseMonthInputType.
666         (MonthInputType): Changed to add declarations for formatDateTimeFieldsState() and setupLayoutParameters().
667         * html/shadow/DateTimeEditElement.cpp:
668         (DateTimeEditBuilder): Changed to have copy of object in m_stepRange and m_dateValue member variables for being robust.
669         (WebCore::DateTimeEditBuilder::DateTimeEditBuilder): Changed to add initialize m_placeholderForMonth and m_placeholderForYear.
670         (WebCore::DateTimeEditBuilder::visitField): Changed to support month field and year field.
671         * html/shadow/DateTimeEditElement.h:
672         (LayoutParameters): Changed to add member variables, placeholderForMonth and placeholderForYear. Changed to have copy of object in stepRange member variable for being robust.
673
674 2012-09-28  Eunmi Lee  <eunmi15.lee@samsung.com>
675
676         [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
677         https://bugs.webkit.org/show_bug.cgi?id=97173
678
679         Reviewed by Gyuyoung Kim.
680
681         Remove codes to initialize and shutdown the EFL libraries from
682         RunLoopEfl.cpp. Initialization and shutdown will be done in the
683         ewk_main.cpp for ui process and WebProcessMainEfl.cpp for web
684         process.
685
686         No new tests. This patch doesn't change behavior.
687
688         * platform/efl/RunLoopEfl.cpp:
689         (WebCore::RunLoop::RunLoop):
690         (WebCore::RunLoop::~RunLoop):
691
692 2012-09-19  Vsevolod Vlasov  <vsevik@chromium.org>
693
694         Web Inspector: Prepare UISourceCode to transformation into File.
695         https://bugs.webkit.org/show_bug.cgi?id=97113
696
697         Reviewed by Pavel Feldman.
698
699         This patch moves methods and fields from UISourceCode descendants except for the modification bindings.
700
701         * inspector/front-end/BreakpointManager.js:
702         (WebInspector.BreakpointManager.breakpointStorageId):
703         (WebInspector.BreakpointManager.isDivergedFromVM):
704         (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
705         (WebInspector.BreakpointManager.Breakpoint):
706         (WebInspector.BreakpointManager.Breakpoint.prototype._updateBreakpoint):
707         (WebInspector.BreakpointManager.Breakpoint.prototype._breakpointStorageId):
708         (WebInspector.BreakpointManager.Storage.prototype._restoreBreakpoints):
709         (set WebInspector.BreakpointManager.Storage.Item):
710         * inspector/front-end/JavaScriptSource.js:
711         (WebInspector.JavaScriptSource):
712         (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
713         * inspector/front-end/JavaScriptSourceFrame.js:
714         (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
715         (WebInspector.JavaScriptSourceFrame.prototype._supportsEnabledBreakpointsWhileEditing):
716         (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
717         (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointsBeforeEditing):
718         (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
719         (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
720         (WebInspector.JavaScriptSourceFrame.prototype._handleGutterClick):
721         * inspector/front-end/SASSSourceMapping.js:
722         * inspector/front-end/ScriptSnippetModel.js:
723         (WebInspector.ScriptSnippetModel):
724         (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
725         (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.get var):
726         (WebInspector.ScriptSnippetModel.prototype._projectWillReset):
727         (WebInspector.SnippetJavaScriptSource):
728         (WebInspector.SnippetJavaScriptSource.prototype.workingCopyChanged):
729         * inspector/front-end/ScriptsNavigator.js:
730         (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
731         * inspector/front-end/ScriptsPanel.js:
732         (WebInspector.ScriptsPanel.prototype._addUISourceCode):
733         (WebInspector.ScriptsPanel.prototype._uiSourceCodeFormatted):
734         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
735         * inspector/front-end/SnippetJavaScriptSourceFrame.js:
736         (WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):
737         * inspector/front-end/StyleSource.js:
738         * inspector/front-end/UISourceCode.js:
739         (WebInspector.UISourceCode.prototype.searchInContent):
740         (WebInspector.UISourceCode.prototype._fireContentAvailable.formattedCallback):
741         (WebInspector.UISourceCode.prototype._fireContentAvailable):
742         (WebInspector.UISourceCode.prototype.setFormatted.if):
743         (WebInspector.UISourceCode.prototype.setFormatted.didGetContent.formattedChanged):
744         (WebInspector.UISourceCode.prototype.setFormatted.didGetContent):
745         (WebInspector.UISourceCode.prototype.setFormatted):
746         (WebInspector.UISourceCode.prototype.setSourceMapping):
747
748 2012-09-28  MORITA Hajime  <morrita@google.com>
749
750         Move Shadow DOM inspection feature out from experiments
751         https://bugs.webkit.org/show_bug.cgi?id=94274
752
753         Reviewed by Pavel Feldman.
754
755         This chagne turns the showShadowDOM experiments into a settings,
756         adding aSettingsScreen entry for that.
757
758         * English.lproj/localizedStrings.js:
759         * inspector/front-end/DOMAgent.js:
760         * inspector/front-end/Settings.js:
761         (WebInspector.ExperimentsSettings):
762         * inspector/front-end/SettingsScreen.js:
763         (WebInspector.GenericSettingsTab):
764
765 2012-09-27  Kent Tamura  <tkent@chromium.org>
766
767         Use Localizer in PagePopupController
768         https://bugs.webkit.org/show_bug.cgi?id=97862
769
770         Reviewed by Hajime Morita.
771
772         No new tests. This doesn't change any behavior.
773
774         * page/PagePopupClient.h:
775         (WebCore):
776         (PagePopupClient): Add "localizer" member function.
777         * page/PagePopupController.cpp:
778         (WebCore::PagePopupController::localizeNumberString):
779         Use a Localizer object provided by PagePopupClient.
780
781 2012-09-28  Kent Tamura  <tkent@chromium.org>
782
783         Switch monthLabels, weekDayShortLabels, and firstDayOfWeek to Localizer
784         https://bugs.webkit.org/show_bug.cgi?id=97874
785
786         Reviewed by Kentaro Hara.
787
788         No new tests. This change shouldn't change any behavior.
789
790         * platform/text/Localizer.h:
791         (Localizer): Add monthLabels, weekDayShortLabels, and firstDayOfWeek.
792         * platform/text/LocalizedDate.h:
793         (WebCore): Remove them.
794         * platform/text/LocalizedDateICU.cpp:
795         (WebCore::localizedDateFormatText): ditto.
796         * platform/text/LocalizedDateWin.cpp:
797         (WebCore::localizedDateFormatText): ditto.
798         * platform/text/mac/LocalizedDateMac.cpp:
799         (WebCore::localizedDateFormatText): ditto.
800
801         * platform/text/LocaleICU.h:
802         (LocaleICU): Add virtual and OVERRIDE.
803         * platform/text/LocaleWin.h:
804         (LocaleWin):
805         - Add virtual and OVERRIDE.
806         - Move the content of firstDayOfWeek to LocaleWin.cpp because inline
807         definition of a virtual function is not efficient.
808         * platform/text/LocaleWin.cpp:
809         (WebCore::LocaleWin::firstDayOfWeek): See above.
810         * platform/text/mac/LocaleMac.h:
811         (LocaleMac): Add virtual and OVERRIDE.
812
813 2012-09-28  Eugene Klyuchnikov  <eustas.bug@gmail.com>
814
815         Web Inspector: Elements: Show entities in edit as HTML.
816         https://bugs.webkit.org/show_bug.cgi?id=97798
817
818         Reviewed by Alexander Pavlov.
819
820         In elements tree entities like "&emsp;", "&ensp;" are shown.
821         But in "Edit as HTML" mode they are replaced by Unicode chars.
822
823         For better consistency, these chars should be rendered the same
824         way both in tree and edit field.
825
826         * inspector/front-end/ElementsTreeOutline.js:
827         Replaced invisible chars with entities.
828
829 2012-09-28  Yoshifumi Inoue  <yosin@chromium.org>
830
831         [Forms] Adding DateTimeMonthFieldElement and DateTimeYearFieldElement
832         https://bugs.webkit.org/show_bug.cgi?id=97864
833
834         Reviewed by Kent Tamura.
835
836         This patch is a part of preparation of implementing multiple fields
837         date/time input UI.
838
839         This patch introduces DateTimeMonthFieldElement and DateTimeYearFieldElement
840         classes for implementing multiple fields "month" input type.
841
842         Multiple fields "month" input type uses two fields for month and year
843         in locale dependent order. Month field display month as two digit.
844         Year field display year as four digits in usual case and can display
845         up to 6 digits to support maximum year 275760, defined in HTML5
846         specification.
847
848         This patch also changes default value for step down and up on empty
849         field to better UI in year field. Year field displays current year
850         when step down and up on empty field rather than minimum year 1, or
851         maximum year 275760.
852
853         Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME
854         and ENABLE_INPUT_MULTIPLE_FIELDS_UI.
855
856         No new tests. This patch doesn't change behavior.
857
858         * html/shadow/DateTimeFieldElements.cpp:
859         (WebCore::DateTimeMonthFieldElement::DateTimeMonthFieldElement): Added.
860         (WebCore::DateTimeMonthFieldElement::create): Added.
861         (WebCore::DateTimeMonthFieldElement::populateDateTimeFieldsState): Added.
862         (WebCore::DateTimeMonthFieldElement::setValueAsDate): Added.
863         (WebCore::DateTimeMonthFieldElement::setValueAsDateTimeFieldsState): Added.
864         (WebCore::DateTimeYearFieldElement::DateTimeYearFieldElement): Added.
865         (WebCore::DateTimeYearFieldElement::create): Added.
866         (WebCore::DateTimeYearFieldElement::defaultValueForStepDown): Added.
867         (WebCore::DateTimeYearFieldElement::defaultValueForStepUp): Added.
868         (WebCore::DateTimeYearFieldElement::populateDateTimeFieldsState): Added.
869         (WebCore::DateTimeYearFieldElement::setValueAsDate): Added.
870         (WebCore::DateTimeYearFieldElement::setValueAsDateTimeFieldsState): Added.
871         * html/shadow/DateTimeFieldElements.h:
872         (DateTimeMonthFieldElement): Added.
873         (DateTimeYearFieldElement): Added.
874         * html/shadow/DateTimeNumericFieldElement.cpp:
875         (WebCore::DateTimeNumericFieldElement::Range::isInRange): Added for ease of checking value is in range.
876         (WebCore::DateTimeNumericFieldElement::defaultValueForStepDown): Added for default behavior.
877         (WebCore::DateTimeNumericFieldElement::defaultValueForStepUp): ditto.
878         (WebCore::DateTimeNumericFieldElement::stepDown): Changed to use defaultValueForStepDown instead of maximum field value.
879         (WebCore::DateTimeNumericFieldElement::stepUp):  Changed to use defaultValueForStepUp minium field value.
880         (WebCore::DateTimeNumericFieldElement::value): Changed to use "%04d" when maximum field value is greater than 999 for year field.
881         * html/shadow/DateTimeNumericFieldElement.h:
882         (DateTimeNumericFieldElement): Changed to add declarations of defaultValueForStepDown() and defaultValueForStepUp().
883
884 2012-09-27  Yoshifumi Inoue  <yosin@chromium.org>
885
886         [Forms] Adding placeholder feature to DateTimeNumericElement, and update its existing subclasses.
887         https://bugs.webkit.org/show_bug.cgi?id=97863
888
889         Reviewed by Kent Tamura.
890
891         This patch is a part of preparation of implementing multiple fields
892         date/time input UI.
893
894         This patch introduces placeholder feature to DateTimeNumericElement
895         to display date format guide in field, e.g. displaying "dd/mm/yyyy".
896
897         Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
898         ENABLE_INPUT_MULTIPLE_FIELDS_UI.
899
900         No new tests. This patch doesn't change behavior.
901
902         * html/shadow/DateTimeFieldElements.cpp:
903         (WebCore::DateTimeHourFieldElement::DateTimeHourFieldElement): Changed to pass placeholder class to base class.
904         (WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement): ditto
905         (WebCore::DateTimeMinuteFieldElement::DateTimeMinuteFieldElement): ditto
906         (WebCore::DateTimeSecondFieldElement::DateTimeSecondFieldElement): ditto
907         * html/shadow/DateTimeNumericFieldElement.cpp: Removed no more needed static function displaySizeOfNumbre().
908         (WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement): Changed to add new parameter to take placeholder.
909         (WebCore::DateTimeNumericFieldElement::visibleValue): Changed to use m_placholder.
910         * html/shadow/DateTimeNumericFieldElement.h:
911         (DateTimeNumericFieldElement): Changed to add a member variable m_placholder to hold placholder to DateTimeNumbericElement class.
912
913 2012-09-27  Kent Tamura  <tkent@chromium.org>
914
915         Make sure Localizer class is not copyable
916         https://bugs.webkit.org/show_bug.cgi?id=97857
917
918         Reviewed by Kentaro Hara.
919
920         We don't intent Localizer obejcts are copyable.
921
922         * platform/text/Localizer.h:
923         (Localizer): Add WTF_MAKE_NONCOPYABLE.
924
925 2012-09-27  Nico Weber  <thakis@chromium.org>
926
927         Delete some unused code. Found by -Wunused-function.
928         https://bugs.webkit.org/show_bug.cgi?id=97858
929
930         Reviewed by Anders Carlsson.
931
932         No intended behavior change.
933
934         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
935         (WebCore):
936         * platform/graphics/chromium/CrossProcessFontLoading.mm:
937         * platform/graphics/skia/GraphicsContextSkia.cpp:
938         * platform/mac/ScrollbarThemeMac.mm:
939         (WebCore):
940
941 2012-09-27  Kentaro Hara  <haraken@chromium.org>
942
943         [V8] StringCache::v8ExternalString() can return a stale persistent handle
944         https://bugs.webkit.org/show_bug.cgi?id=97767
945
946         Reviewed by Adam Barth.
947
948         For details, see the Chromium bug: http://code.google.com/p/chromium/issues/detail?id=151902
949
950         StringCache::v8ExternalString() can return a stale persistent handle
951         in the following scenario:
952
953         (1) Assume that StringImpl A with value "foo" is in m_stringCache.
954         (2) StringImpl B with value "foo" is accessed. At this point, m_lastStringImpl
955         points to B, and m_lastV8String points to B's handle.
956         (3) A minor GC is triggered and a weak callback is called back for StringImpl A.
957         At this point, "foo" is removed from m_stringCache. A's handle is disposed.
958         However, m_lastV8String is not cleared because m_lastStringImpl (i.e. StringImpl B)
959         is not equal to StringImpl A. As a result, m_lastV8String points to a stale
960         persistent handle.
961         (4) The persistent handle is eventually reused in V8 and made weak again.
962         (5) StringImpl B with value "foo" is accessed. Then StringCache::v8ExternalString()
963         returns the stale persistent handle, which is already used for another purpose.
964
965         To solve the problem, we need to clear m_stringImpl and m_lastV8String when any
966         string wrapper is disposed. Specifically, we need to change the code like this:
967
968           static void cachedStringCallback(v8::Persistent<v8::Value> wrapper, void* parameter)
969           {
970             StringImpl* stringImpl = static_cast<StringImpl*>(parameter);
971             V8PerIsolateData::current()->stringCache()->remove(stringImpl);
972             wrapper.Dispose();
973             stringImpl->deref();
974           }
975
976           void StringCache::remove(StringImpl* stringImpl)
977           {
978             m_stringCache.remove(stringImpl);
979             if (m_lastStringImpl.get() == stringImpl) {  // Remove this line.
980                 m_lastStringImpl = 0;
981                 m_lastV8String.Clear();
982             }
983           }
984
985         Note: Removing the line might be stronger than is needed. Instead of removing
986         the line, we can just replace the line with 'if (m_lastV8String == wrapper)'.
987         However, just in case (for correctness), I'd prefer removing the line.
988         Given that GC won't happen so frequently, clearing the cache in every weak callback
989         won't affect performance.
990
991         No tests because it depends on the GC behavior and I couldn't reproduce the bug.
992
993         * bindings/v8/V8ValueCache.cpp:
994         (WebCore::StringCache::remove):
995
996 2012-09-26  Antti Koivisto  <antti@apple.com>
997
998         CSSComputedStyleDeclaration::getPropertyCSSValue() triggering unnecessary relayouts and style recalcs
999         https://bugs.webkit.org/show_bug.cgi?id=97760
1000
1001         Reviewed by Andreas Kling.
1002
1003         Currently getPropertyCSSValue() (which is also used to implement the more common getPropertyValue()) 
1004         calls Document::updateLayoutIgnorePendingStylesheets() unconditionally. However only a few properties 
1005         are actually layout dependent, making many of these relayouts unnecessary. Moreover, triggering full 
1006         style recalc is also often unnecessary as the current node may already have valid style even if some 
1007         other parts of the tree require recalc.
1008         
1009         - Only trigger relayouts for layout dependent properties.
1010         - Trigger style recalc only if the style of the current element or its ancestors is dirty.
1011         
1012         This is a significant (several percent) progression on some real world web content based page loading
1013         benchmarks.
1014
1015         * css/CSSComputedStyleDeclaration.cpp:
1016         (WebCore::isLayoutDependentProperty):
1017         (WebCore):
1018         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1019         * css/StyleResolver.h:
1020         (WebCore::StyleResolver::hasViewportDependentMediaQueries):
1021         * dom/Document.cpp:
1022         (WebCore::Document::hasPendingStyleRecalc):
1023         
1024             Renamed for consistency.
1025
1026         (WebCore::Document::hasPendingForcedStyleRecalc):
1027         (WebCore):
1028         * dom/Document.h:
1029         (Document):
1030         * rendering/RenderImage.cpp:
1031         (WebCore::RenderImage::imageChanged):
1032
1033 2012-09-27  Mark Pilgrim  <pilgrim@chromium.org>
1034
1035         [Chromium] Remove unused PlatformSupport reference in DraggedIsolatedFileSystem
1036         https://bugs.webkit.org/show_bug.cgi?id=97851
1037
1038         Reviewed by Kentaro Hara.
1039
1040         Part of a refactoring series. See tracking bug 82948.
1041
1042         * Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp:
1043
1044 2012-09-27  Andrew Lo  <anlo@rim.com>
1045
1046         requestAnimationFrame broken with subframes (DisplayRefreshMonitorManager::registerClient fails to register client)
1047         https://bugs.webkit.org/show_bug.cgi?id=95360
1048
1049         Reviewed by Simon Fraser.
1050
1051         Remove unnecessary code introduced in http://trac.webkit.org/changeset/129808.
1052
1053         No new tests because it's already covered by fast/animation/request-animation-frame-iframe2.html.
1054
1055         * platform/graphics/DisplayRefreshMonitor.cpp:
1056         (WebCore::DisplayRefreshMonitor::addClient):
1057         (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient):
1058
1059 2012-09-27  Mark Pilgrim  <pilgrim@chromium.org>
1060
1061         [Chromium] Remove unused PlatformSupport reference in FontCacheSkia
1062         https://bugs.webkit.org/show_bug.cgi?id=97850
1063
1064         Reviewed by Kentaro Hara.
1065
1066         Part of a refactoring series. See tracking bug 82948.
1067
1068         * platform/graphics/skia/FontCacheSkia.cpp:
1069
1070 2012-09-27  Mark Pilgrim  <pilgrim@chromium.org>
1071
1072         [Chromium][Android] Remove unused PlatformSupport reference in ScrollbarThemeChromiumAndroid
1073         https://bugs.webkit.org/show_bug.cgi?id=97846
1074
1075         Reviewed by Kentaro Hara.
1076
1077         Part of a refactoring series. See tracking bug 82948.
1078
1079         * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
1080
1081 2012-09-27  Mark Pilgrim  <pilgrim@chromium.org>
1082
1083         [Chromium] Remove unused PlatformSupport reference in ClipboardChromium
1084         https://bugs.webkit.org/show_bug.cgi?id=97840
1085
1086         Reviewed by Kentaro Hara.
1087
1088         Part of a refactoring series. See tracking bug 82948.
1089
1090         * platform/chromium/ClipboardChromium.cpp:
1091
1092 2012-09-27  Kent Tamura  <tkent@chromium.org>
1093
1094         DateTimeNumericFieldElement should use Localizer functions.
1095         https://bugs.webkit.org/show_bug.cgi?id=97318
1096
1097         Reviewed by Hajime Morita.
1098
1099         Source/WebCore:
1100
1101         Use Localizer functions instead of functions in LocalizedNumber to test
1102         i18n behavior. This affects only layout tests because
1103         Document::getLocalizer() always returns a Localizer for the browser
1104         locale.
1105
1106         To obtain a Localizer object for <input>'s locale from a deep shadow node,
1107         we add localeIdentifier() function to DateTimeFieldElement::FieldOwner
1108         and DateTimeEditElement::EditControlOwner interfaces.
1109
1110         Tests: fast/forms/time-multiple-fields/time-multiple-fields-localization.html
1111
1112         * html/shadow/DateTimeFieldElement.h:
1113         (FieldOwner): Add localeIdentifier callback.
1114         (DateTimeFieldElement): Add localeIdentifier().
1115         * html/shadow/DateTimeFieldElement.cpp:
1116         (WebCore::DateTimeFieldElement::localeIdentifier):
1117         Added. Returns FieldOwner::localeIdentifier if m_fieldOwner is available.
1118
1119         * html/shadow/DateTimeNumericFieldElement.h:
1120         (DateTimeNumericFieldElement): Declare localizer().
1121         * html/shadow/DateTimeNumericFieldElement.cpp:
1122         (WebCore::DateTimeNumericFieldElement::localizer):
1123         Returns a Localizer for DateTimeFieldElement::localeIdentifier()
1124         (WebCore::DateTimeNumericFieldElement::handleKeyboardEvent): Use localizer().
1125         (WebCore::DateTimeNumericFieldElement::value): Use localizer().
1126
1127         * html/shadow/DateTimeEditElement.h:
1128         (EditControlOwner): Add localeIdentifier() callback.
1129         (DateTimeEditElement):
1130         Declare localeIdentifier(), which implements FieldOwner::localeIdentifier().
1131         * html/shadow/DateTimeEditElement.cpp:
1132         (WebCore::DateTimeEditElement::localeIdentifier):
1133         Added. Returns EditControlOwner::localeIdentifier if m_editControlOwner is available.
1134
1135         * html/BaseMultipleFieldsDateAndTimeInputType.h:
1136         (BaseMultipleFieldsDateAndTimeInputType): Declare localeIdentifier(),
1137         which implements EditControlOwner::localeIdentifier().
1138         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
1139         (WebCore::BaseMultipleFieldsDateAndTimeInputType::localeIdentifier):
1140         Added. Returns <input>'s inherited locale identifier.
1141
1142 2012-09-27  Luke Macpherson   <macpherson@chromium.org>
1143
1144         Implement reviewer feedback that I missed on bug 95930.
1145         https://bugs.webkit.org/show_bug.cgi?id=97752
1146
1147         Reviewed by Alexey Proskuryakov.
1148
1149         This patch updates the indentation of function parameters in a few places,
1150         and reserves an appropriate amount of space when using StringBuilder.
1151
1152         * css/CSSBasicShapes.cpp:
1153         (WebCore::buildRectangleString):
1154         (WebCore::CSSBasicShapeRectangle::cssText):
1155         (WebCore::CSSBasicShapeRectangle::serializeResolvingVariables):
1156         (WebCore::CSSBasicShapeCircle::serializeResolvingVariables):
1157         (WebCore::CSSBasicShapeEllipse::serializeResolvingVariables):
1158         (WebCore::buildPolygonString):
1159         * css/Rect.h:
1160         (WebCore::Rect::serializeResolvingVariables):
1161         (WebCore::Quad::serializeResolvingVariables):
1162         (WebCore::Quad::generateCSSString):
1163
1164 2012-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
1165
1166         Unreviewed, rolling out r129823.
1167         http://trac.webkit.org/changeset/129823
1168         https://bugs.webkit.org/show_bug.cgi?id=97837
1169
1170         Cause a bunch of pixel failures on Chrome Linux that look like
1171         real regressions (Requested by ojan on #webkit).
1172
1173         * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
1174         (WebCore::Font::drawGlyphs):
1175         (WebCore::Font::drawComplexText):
1176         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
1177         (WebCore::FontPlatformData::setupPaint):
1178         * platform/graphics/skia/SimpleFontDataSkia.cpp:
1179         (WebCore::SimpleFontData::platformWidthForGlyph):
1180
1181 2012-09-27  Mark Pilgrim  <pilgrim@chromium.org>
1182
1183         [Chromium] Remove screen-related functions from PlatformSupport
1184         https://bugs.webkit.org/show_bug.cgi?id=97474
1185
1186         Reviewed by Adam Barth.
1187
1188         Part of a refactoring series. See tracking bug 82948.
1189         Screen-related functions like screenHorizontalDPI that
1190         used to be on PlatformSupport are now accessed through a new
1191         PlatformPageClient attached to Widget in WebCore-land, which is
1192         implemented by ChromeClientImpl in WebKit-land, which proxies
1193         calls to WebWidgetClient, which is actually implemented in
1194         Chromium-land.
1195
1196         * WebCore.gypi:
1197         * platform/Widget.h:
1198         * platform/chromium/PageClientChromium.h: Copied from Source/WebCore/platform/chromium/PlatformWidget.h.
1199         (PageClientChromium):
1200         * platform/chromium/PlatformScreenChromium.cpp:
1201         (WebCore::toPlatformPageClient):
1202         (WebCore):
1203         (WebCore::screenHorizontalDPI):
1204         (WebCore::screenVerticalDPI):
1205         (WebCore::screenDepth):
1206         (WebCore::screenDepthPerComponent):
1207         (WebCore::screenIsMonochrome):
1208         (WebCore::screenRect):
1209         (WebCore::screenAvailableRect):
1210         * platform/chromium/PlatformSupport.h:
1211         (PlatformSupport):
1212
1213 2012-09-27  Kenichi Ishibashi  <bashi@chromium.org>
1214
1215         [Chromium] FontHarfBuzz.cpp should not use drawTextOnPath().
1216         https://bugs.webkit.org/show_bug.cgi?id=97676
1217
1218         Reviewed by Tony Chang.
1219
1220         Use drawPosText() if possible for vertical text.
1221         Use drawTextOnPath() only if the font doesn't have vhea/vmtx table.
1222
1223         No new tests. No change in behavior on LayoutTests.
1224         Confirmed improvement in vertical text positioning using ipafont and Skia r5677.
1225
1226         * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
1227         (WebCore::drawVerticalTextWithBrokenIdeographs): Added.
1228         (WebCore):
1229         (WebCore::Font::drawGlyphs): Draw vertical text by drawPosText() in a similar manner of FontSkia.cpp.
1230         (WebCore::Font::drawComplexText): Disable setVerticalText(). Complex path doesn't support it now.
1231         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
1232         (WebCore::FontPlatformData::setupPaint): Call setVertialText().
1233         * platform/graphics/skia/SimpleFontDataSkia.cpp:
1234         (WebCore::SimpleFontData::platformWidthForGlyph): Disable setVerticalText() if the font doesn't have vertical metrics.
1235
1236 2012-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
1237
1238         Unreviewed, rolling out r129806.
1239         http://trac.webkit.org/changeset/129806
1240         https://bugs.webkit.org/show_bug.cgi?id=97831
1241
1242         Broke windows build due to missing header (Requested by jsbell
1243         on #webkit).
1244
1245         * Modules/indexeddb/IDBLevelDBCoding.cpp:
1246         (WebCore::IDBLevelDBCoding::encodeString):
1247         (WebCore::IDBLevelDBCoding::decodeString):
1248
1249 2012-09-27  Levi Weintraub  <leviw@chromium.org>
1250
1251         REGRESSION(r129186): Pressing enter at the end of a line deletes the line
1252         https://bugs.webkit.org/show_bug.cgi?id=97763
1253
1254         Reviewed by Ryosuke Niwa.
1255
1256         r129186 exposed incorrect behavior in RenderText whereby RenderText's lines were
1257         dirtied but the renderer wasn't marked for layout. Rich text editing in GMail exposed
1258         this behavior. RenderText::setTextWithOffset is called with a text string identical
1259         to the current text. It still dirties lines, then calls setText, which has a check
1260         for the case when the strings are the same and returns early and doesn't mark us as
1261         needing layout.
1262
1263         This change adds the same early bailing logic in setText to setTextWithOffset, but
1264         forces setText to work its magic whenever we dirty lines there (and avoid double-
1265         checking that the strings are equal).
1266
1267         * rendering/RenderText.cpp:
1268         (WebCore::RenderText::setTextWithOffset):
1269
1270 2012-09-27  Andrew Lo  <anlo@rim.com>
1271
1272         requestAnimationFrame broken with subframes (DisplayRefreshMonitorManager::registerClient fails to register client)
1273         https://bugs.webkit.org/show_bug.cgi?id=95360
1274
1275         Reviewed by Simon Fraser.
1276
1277         DisplayRefreshMonitorManager::ensureMonitorForClient currently only adds the DisplayRefreshMonitorClient
1278         to the appropriate DisplayRefreshMonitor when a new monitor is created.
1279         It should also do so when it finds an existing monitor.
1280
1281         Test: fast/animation/request-animation-frame-iframe2.html
1282
1283         * platform/graphics/DisplayRefreshMonitor.cpp:
1284         (WebCore::DisplayRefreshMonitor::addClient):
1285         (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient):
1286
1287 2012-09-27  Erik Arvidsson  <arv@chromium.org>
1288         Unreviewed Chromium debug build fix.
1289
1290         Two fixes makes one breakage
1291
1292         http://trac.webkit.org/changeset/129785
1293         http://trac.webkit.org/changeset/129798
1294
1295         * bindings/v8/V8Binding.h:
1296         (WebCore::toNativeArguments):
1297
1298 2012-09-27  Joshua Bell  <jsbell@chromium.org>
1299
1300         IndexedDB: Optimize encodeString/decodeString
1301         https://bugs.webkit.org/show_bug.cgi?id=97794
1302
1303         Reviewed by Tony Chang.
1304
1305         Optimize string encoding/decoding, which showed up as a CPU hot spot during profiling.
1306         The backing store uses big-endian ordering of 16-bit code unit strings, so a memcopy
1307         isn't sufficient, but the code used StringBuilder::append() character-by-character
1308         and custom byte-swapping which was slow.
1309
1310         Ran a test w/ DumpRenderTree (to avoid multiprocess overhead) taking a 10k character string
1311         and putting it 20k times and getting it 20k times. On my test box, mean time before the
1312         patch was 8.2s, mean time after the patch was 4.6s.
1313
1314         Tested by Chromium's webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.*String*'
1315
1316         * Modules/indexeddb/IDBLevelDBCoding.cpp:
1317         (WebCore::IDBLevelDBCoding::encodeString):
1318         (WebCore::IDBLevelDBCoding::decodeString):
1319
1320 2012-09-27  Mark Pilgrim  <pilgrim@chromium.org>
1321
1322         [Chromium][Mac] Move Mac-specific theme functions out of PlatformSupport
1323         https://bugs.webkit.org/show_bug.cgi?id=97817
1324
1325         Reviewed by Adam Barth.
1326
1327         Part of a refactoring series. See tracking bug 82948. We're calling WebThemeEngine directly now instead of proxying through PlatformSupport.
1328
1329         * platform/chromium/PlatformSupport.h:
1330         (PlatformSupport):
1331         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1332         (WebCore::scrollbarStateToThemeState):
1333         (WebCore):
1334         (WebCore::ScrollbarThemeChromiumMac::paint):
1335
1336 2012-09-27  Erik Arvidsson  <arv@chromium.org>
1337
1338         Fix issue with ClassList which was hitting an assert in debug mode
1339         https://bugs.webkit.org/show_bug.cgi?id=97820
1340
1341         Reviewed by Ojan Vafai.
1342
1343         http://trac.webkit.org/changeset/129779 hit asserts in debug mode when trying to use fastGetAttribute on an SVG element.
1344
1345         No new tests. No change in behavior.
1346
1347         * bindings/v8/V8Binding.h:
1348         (WebCore::toNativeArguments):
1349         * html/ClassList.h:
1350
1351 2012-09-27  Philip Rogers  <pdr@google.com>
1352
1353         Rewrite multithreaded filter job dispatching
1354         https://bugs.webkit.org/show_bug.cgi?id=97500
1355
1356         Reviewed by Dean Jackson.
1357
1358         This patch solves the problem of splitting up images into subregions for multithreaded
1359         filters. This fixes the way we partition the image array into equal-sized chunks.
1360         If we have an array of length N and want to split it into K chunks, we calculate:
1361           int jobSize = N / K; // integer division, so this is floored
1362           int jobSizeExtra = N % K; // modulus produces the remainder
1363         We then split the array into jobSizeExtra number of jobs with size jobSize + 1
1364         and (K - jobSizeExtra) number of jobs with size jobSize. This pattern
1365         is used in each of the 5 filters in this patch.
1366
1367         This patch primarily fixes an error in FEMorphology::platformApply where
1368         the image array was partitioned into (1 + (N / K)) pieces with the last job
1369         taking the remainder. Unfortunately, this can cause overruns in the 2nd-to-last job.
1370         Consider N = 2373 and K = 64 jobs. Job 0 would take indices 0...38, job 1 would take
1371         38...76, etc. Unfortunately the 62nd job takes 2356...2394 which overruns.
1372
1373         To prevent similar issues elsewhere this patch updates all of the filters
1374         to use the same pattern as FEMorphology.
1375
1376         Test: svg/filters/feMorphology-crash.html
1377
1378         * platform/graphics/filters/FEConvolveMatrix.cpp:
1379         (WebCore::FEConvolveMatrix::platformApplySoftware):
1380         * platform/graphics/filters/FEGaussianBlur.cpp:
1381         (WebCore::FEGaussianBlur::platformApply):
1382         * platform/graphics/filters/FELighting.cpp:
1383         (WebCore::FELighting::platformApplyGeneric):
1384         * platform/graphics/filters/FEMorphology.cpp:
1385         (WebCore::FEMorphology::platformApply):
1386
1387             Some special care is taken for Gaussian Blur because there is an
1388             extraHeight parameter for sampling outside the image's dimensions.
1389             This means we use the same partitioning algorithm but add
1390             extraHeight padding on the lower and upper bounds.
1391
1392         * platform/graphics/filters/FETurbulence.cpp:
1393         (WebCore::FETurbulence::platformApplySoftware):
1394
1395 2012-09-27  Mark Pilgrim  <pilgrim@chromium.org>
1396
1397         [Chromium] Move UNIX-specific theme functions out of PlatformSupport
1398         https://bugs.webkit.org/show_bug.cgi?id=96516
1399
1400         Reviewed by Adam Barth.
1401
1402         Call WebThemeEngine functions and use WebThemeEngine enums
1403         directly from the new Platform/ directly; remove all
1404         intermediate functions and enums and conversion functions from
1405         PlatformSupport.
1406         Part of a refactoring series; see tracking bug 82948.
1407
1408         * WebCore.gyp/WebCore.gyp:
1409         * platform/chromium/PlatformSupport.h:
1410         (PlatformSupport):
1411         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1412         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
1413         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
1414         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
1415         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
1416         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
1417         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
1418         * rendering/RenderThemeChromiumAndroid.cpp:
1419         (WebCore::RenderThemeChromiumAndroid::adjustInnerSpinButtonStyle):
1420         (WebCore::RenderThemeChromiumAndroid::menuListArrowPadding):
1421         * rendering/RenderThemeChromiumLinux.cpp:
1422         (WebCore::getWebThemeState):
1423         (WebCore):
1424         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
1425         (WebCore::RenderThemeChromiumLinux::paintCheckbox):
1426         (WebCore::RenderThemeChromiumLinux::setCheckboxSize):
1427         (WebCore::RenderThemeChromiumLinux::paintRadio):
1428         (WebCore::RenderThemeChromiumLinux::setRadioSize):
1429         (WebCore::RenderThemeChromiumLinux::paintButton):
1430         (WebCore::RenderThemeChromiumLinux::paintTextField):
1431         (WebCore::RenderThemeChromiumLinux::paintMenuList):
1432         (WebCore::RenderThemeChromiumLinux::paintSliderTrack):
1433         (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
1434         (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle):
1435         (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton):
1436         (WebCore::RenderThemeChromiumLinux::paintProgressBar):
1437
1438 2012-09-27  Bear Travis  <betravis@adobe.com>
1439
1440         [CSS Exclusions] Rename RenderStyle::wrapShapeInside/Outside to shapeInside/Outside
1441         https://bugs.webkit.org/show_bug.cgi?id=97707
1442
1443         Reviewed by Antti Koivisto.
1444
1445         The exclusions specification has renamed wrap-shape-inside and wrap-shape-outside
1446         to shape-inside and shape-outside. We should rename the getter/setter functions
1447         in RenderStyle, and update the derived variable and function names accordingly.
1448         For more information, see: http://dev.w3.org/csswg/css3-exclusions/#declaring-shapes
1449
1450         Covered by existing tests. No new functionality.
1451
1452         * css/CSSComputedStyleDeclaration.cpp:
1453         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1454         * css/StyleBuilder.cpp:
1455         (WebCore::ApplyPropertyExclusionShape::applyValue):
1456         (WebCore::StyleBuilder::StyleBuilder):
1457         * rendering/ExclusionShapeInsideInfo.cpp:
1458         (WebCore::ExclusionShapeInsideInfo::exclusionShapeInsideInfoForRenderBlock):
1459         (WebCore::ExclusionShapeInsideInfo::isExclusionShapeInsideInfoEnabledForRenderBlock):
1460         (WebCore::ExclusionShapeInsideInfo::removeExclusionShapeInsideInfoForRenderBlock):
1461         (WebCore::ExclusionShapeInsideInfo::computeShapeSize):
1462         * rendering/RenderBlock.cpp:
1463         (WebCore::RenderBlock::styleDidChange):
1464         (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange):
1465         * rendering/RenderBlock.h:
1466         (WebCore::RenderBlock::exclusionShapeInsideInfo):
1467         * rendering/style/RenderStyle.cpp:
1468         (WebCore::RenderStyle::diff):
1469         * rendering/style/RenderStyle.h:
1470         * rendering/style/StyleRareNonInheritedData.cpp:
1471         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1472         (WebCore::StyleRareNonInheritedData::operator==):
1473         (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
1474         * rendering/style/StyleRareNonInheritedData.h:
1475         (StyleRareNonInheritedData):
1476
1477 2012-09-27  Michael Saboff  <msaboff@apple.com>
1478
1479         ApplicationCacheStorage does not optimally handle 8 bit strings
1480         https://bugs.webkit.org/show_bug.cgi?id=97733
1481
1482         Reviewed by Alexey Proskuryakov.
1483
1484         Added 8 bit string paths.
1485
1486         No functional change, therefore no new tests.
1487
1488         * loader/appcache/ApplicationCacheStorage.cpp:
1489         (WebCore::urlHostHash):
1490         (WebCore::ApplicationCacheStorage::store):
1491         (WebCore::parseHeader):
1492         (WebCore::parseHeaders):
1493
1494 2012-09-27  Stephen Chenney  <schenney@chromium.org>
1495
1496         Unreviewed Chromium debug build fix.
1497
1498         ASSERT contains an inequality of unmatched types. A cast should do the trick.
1499
1500         * bindings/v8/V8Binding.h:
1501         (WebCore::toNativeArguments):
1502
1503 2012-09-27  Adam Klein  <adamk@chromium.org>
1504
1505         Simplify and clarify MutationObserverRegistration interface and usage
1506         https://bugs.webkit.org/show_bug.cgi?id=97742
1507
1508         Reviewed by Ojan Vafai.
1509
1510         Minor cleanups in MutationObserverRegistration: make const methods explicitly const,
1511         use C++ templates to avoid duplicating logic, improve usage of raw pointers vs PassRefPtr,
1512         remove the declaration of a no-longer-existing method.
1513
1514         No change in behavior.
1515
1516         * dom/MutationObserverRegistration.cpp:
1517         (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach): Take a raw pointer because we don't always ref the node.
1518         (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom): Make this a const method.
1519         * dom/MutationObserverRegistration.h:
1520         (MutationObserverRegistration): Removed declaration of non-existent caseInsensitiveAttributeFilter method.
1521         (WebCore::MutationObserverRegistration::hasTransientRegistrations): const method.
1522         (WebCore::MutationObserverRegistration::isSubtree): Remove superfluous "inline" keyword.
1523         (WebCore::MutationObserverRegistration::observer): const method.
1524         * dom/Node.cpp:
1525         (WebCore):
1526         (WebCore::collectMatchingObserversForMutation): Add a templatized function to reduce duplicated code.
1527         (WebCore::Node::getRegisteredMutationObserversOfType):
1528         (WebCore::Node::registerMutationObserver): Take a raw pointer because we don't always ref the observer.
1529         * dom/Node.h:
1530         (Node): Remove old method, replaced by templatized static function.
1531
1532 2012-09-27  Erik Arvidsson  <arv@chromium.org>
1533
1534         DOM4: Add support for rest parameters to DOMTokenList
1535         https://bugs.webkit.org/show_bug.cgi?id=97335
1536
1537         Reviewed by Ojan Vafai.
1538
1539         This adds support for rest paramaters to DOMTokenList add and remove.
1540         http://dom.spec.whatwg.org/#domtokenlist
1541
1542         The code generator has been updated to understand variadic methods.
1543         When a method has a rest parameter the remaining arguments are collected
1544         into a WTF::Vector.
1545
1546         DOMTokenList, DOMSettableTokenList and ClassList were restructured a bit to
1547         allow code to be shared better.
1548
1549         Updated existing tests and includes new binding tests.
1550
1551         * bindings/js/JSDOMBinding.h:
1552         (WebCore::toNativeArray):
1553         (WebCore):
1554         (WebCore::toNativeArguments): Similar to toNativeArray but extracts the arguments instead.
1555         * bindings/scripts/CodeGeneratorJS.pm:
1556         (GenerateArgumentsCountCheck): Updated to treat rest paramaters as optional.
1557         (GenerateParametersCheck): Generate code for rest params.
1558         * bindings/scripts/CodeGeneratorV8.pm:
1559         (GenerateFunctionParametersCheck): Updated to treat rest paramaters as optional.
1560         (GenerateArgumentsCountCheck): Ditto.
1561         (GenerateParametersCheck):  Generate code for rest params.
1562         * bindings/scripts/IDLParser.pm:
1563         (parseOptionalOrRequiredArgument):
1564         * bindings/scripts/IDLStructure.pm:
1565         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1566         (WebDOMTestObj::variadicStringMethod):
1567         (WebDOMTestObj::variadicDoubleMethod):
1568         (WebDOMTestObj::variadicNodeMethod):
1569         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1570         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1571         (webkit_dom_test_obj_variadic_string_method):
1572         (webkit_dom_test_obj_variadic_double_method):
1573         (webkit_dom_test_obj_variadic_node_method):
1574         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1575         * bindings/scripts/test/JS/JSTestObj.cpp:
1576         (WebCore):
1577         (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
1578         (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
1579         (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
1580         * bindings/scripts/test/JS/JSTestObj.h:
1581         (WebCore):
1582         * bindings/scripts/test/ObjC/DOMTestObj.h:
1583         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1584         (-[DOMTestObj variadicStringMethod:tail:]):
1585         (-[DOMTestObj variadicDoubleMethod:tail:]):
1586         (-[DOMTestObj variadicNodeMethod:tail:]):
1587         * bindings/scripts/test/TestObj.idl:
1588         * bindings/scripts/test/V8/V8TestObj.cpp:
1589         (WebCore::TestObjV8Internal::variadicStringMethodCallback):
1590         (TestObjV8Internal):
1591         (WebCore::TestObjV8Internal::variadicDoubleMethodCallback):
1592         (WebCore::TestObjV8Internal::variadicNodeMethodCallback):
1593         (WebCore):
1594         (WebCore::ConfigureV8TestObjTemplate):
1595         * bindings/v8/V8Binding.h:
1596         (WebCore::toNativeArray):
1597         (WebCore):
1598         (WebCore::toNativeArguments): Similar to toNativeArray but extracts the arguments instead.
1599         * html/ClassList.cpp:
1600         (WebCore::ClassList::ClassList):
1601         * html/ClassList.h:
1602         (WebCore):
1603         (ClassList):
1604         * html/DOMSettableTokenList.cpp:
1605         (WebCore::DOMSettableTokenList::containsInternal):
1606         (WebCore::DOMSettableTokenList::add):
1607         (WebCore::DOMSettableTokenList::addInternal):
1608         (WebCore::DOMSettableTokenList::remove):
1609         (WebCore::DOMSettableTokenList::removeInternal):
1610         (WebCore::DOMSettableTokenList::setValue):
1611         * html/DOMSettableTokenList.h:
1612         (DOMSettableTokenList):
1613         * html/DOMTokenList.cpp:
1614         (WebCore::DOMTokenList::validateTokens):
1615         (WebCore):
1616         (WebCore::DOMTokenList::contains): Moved implementation to base class to allow code sharing.
1617         (WebCore::DOMTokenList::add): Ditto.
1618         (WebCore::DOMTokenList::remove): Ditto.
1619         (WebCore::DOMTokenList::toggle): Ditto.
1620         (WebCore::DOMTokenList::addInternal): Ditto.
1621         (WebCore::DOMTokenList::removeInternal): Ditto.
1622         (WebCore::DOMTokenList::addToken): Ditto.
1623         (WebCore::DOMTokenList::addTokens):
1624         (WebCore::DOMTokenList::removeToken): Ditto.
1625         (WebCore::DOMTokenList::removeTokens):
1626         * html/DOMTokenList.h:
1627         (DOMTokenList):
1628         (WebCore::DOMTokenList::toString):
1629         * html/DOMTokenList.idl:
1630
1631 2012-09-27  Andreas Kling  <kling@webkit.org>
1632
1633         332kB below DocumentEventQueue::create() on Membuster3.
1634         <http://webkit.org/b/97712>
1635
1636         Reviewed by Anders Carlsson.
1637
1638         Give DocumentEventQueue::m_queuedEvents an inline capacity of 16 (the default is 256.)
1639         312kB progression on Membuster3.
1640
1641         * dom/DocumentEventQueue.h:
1642         * dom/DocumentEventQueue.cpp:
1643         (WebCore::DocumentEventQueue::pendingEventTimerFired):
1644
1645 2012-09-27  Vsevolod Vlasov  <vsevik@chromium.org>
1646
1647         Web Inspector: [REGRESSION] Breakpoints are not always shown in breakpoints sidebar pane.
1648         https://bugs.webkit.org/show_bug.cgi?id=97783
1649
1650         Reviewed by Pavel Feldman.
1651
1652         BreakpointSidebarPane now explicitly adds all breakpoints that are available at the moment of its creation.
1653
1654         * inspector/front-end/BreakpointManager.js:
1655         (WebInspector.BreakpointManager.prototype._filteredBreakpointLocations):
1656         (WebInspector.BreakpointManager.prototype.breakpointLocationsForUISourceCode):
1657         (WebInspector.BreakpointManager.prototype.allBreakpointLocations):
1658         * inspector/front-end/BreakpointsSidebarPane.js:
1659         (WebInspector.JavaScriptBreakpointsSidebarPane):
1660         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded):
1661
1662 2012-09-27  Mike West  <mkwst@chromium.org>
1663
1664         Dropping JSC references from InspectorInstrumentation.h by including 'ScriptState.h'
1665         https://bugs.webkit.org/show_bug.cgi?id=97759
1666
1667         Reviewed by Adam Barth.
1668
1669         InspectorInstrumentation.h includes two '#if USE(JSC)' blocks, which
1670         I've been reliably informed should not appear in WebCore[1]. This patch
1671         drops both blocks, and includes 'ScriptState.h' instead, which should
1672         have the same practical effect.
1673
1674         There's no functional change, so this should be covered by existing tests.
1675
1676         [1]: https://bugs.webkit.org/show_bug.cgi?id=94433#c55
1677
1678         * inspector/InspectorInstrumentation.h:
1679         (WebCore):
1680
1681 2012-09-27  Erik Arvidsson  <arv@chromium.org>
1682
1683         Remove unused regular expressions from IDLStructure.pm
1684         https://bugs.webkit.org/show_bug.cgi?id=97790
1685
1686         Reviewed by Kentaro Hara.
1687
1688         After http://trac.webkit.org/changeset/129723 these regular expressions are no longer used.
1689
1690         No new tests, run-binding-tests generates the same output.
1691
1692         * bindings/scripts/IDLStructure.pm:
1693
1694 2012-09-27  Tommy Widenflycht  <tommyw@google.com>
1695
1696         MediaStream API: Enhance MediaConstraints to make it easier to get the constraint data
1697         https://bugs.webkit.org/show_bug.cgi?id=97559
1698
1699         Reviewed by Adam Barth.
1700
1701         Instead of just returning the names, return a pair of name and value.
1702
1703         Existing tests cover this patch.
1704
1705         * Modules/mediastream/MediaConstraintsImpl.cpp:
1706         (WebCore::MediaConstraintsImpl::initialize):
1707         (WebCore::MediaConstraintsImpl::getMandatoryConstraints):
1708         (WebCore::MediaConstraintsImpl::getOptionalConstraints):
1709         (WebCore::MediaConstraintsImpl::getOptionalConstraintValue):
1710         * Modules/mediastream/MediaConstraintsImpl.h:
1711         (MediaConstraintsImpl):
1712         * platform/chromium/support/WebMediaConstraints.cpp:
1713         (WebKit::WebMediaConstraint::WebMediaConstraint):
1714         (WebKit):
1715         (WebKit::WebMediaConstraints::getMandatoryConstraints):
1716         (WebKit::WebMediaConstraints::getOptionalConstraints):
1717         * platform/mediastream/MediaConstraints.h:
1718         (WebCore::MediaConstraint::MediaConstraint):
1719         (MediaConstraint):
1720         (WebCore):
1721         (MediaConstraints):
1722
1723 2012-09-27  Ilya Tikhonovsky  <loislo@chromium.org>
1724
1725         Web Inspector: NMI: move visited and countObjectSize methods implementation into separate class.
1726         https://bugs.webkit.org/show_bug.cgi?id=97461
1727
1728         Reviewed by Yury Semikhatsky.
1729
1730         These methods and the data collected by them need to be used in the instrumentation code for other components.
1731         As example when we are visiting bitmaps we need to visit platform specific objects.
1732         These objects will be instrumented with help of component's own instrumentation code
1733         but we have to keep the single set of visited objects and the map of counters.
1734
1735         * inspector/InspectorMemoryAgent.cpp:
1736         (WebCore):
1737         (WebCore::collectDomTreeInfo):
1738         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
1739         * inspector/MemoryInstrumentationImpl.cpp:
1740         (WebCore::MemoryInstrumentationClientImpl::countObjectSize):
1741         (WebCore):
1742         (WebCore::MemoryInstrumentationClientImpl::visited):
1743         (WebCore::MemoryInstrumentationImpl::selfSize):
1744         * inspector/MemoryInstrumentationImpl.h:
1745         (WebCore::MemoryInstrumentationClientImpl::MemoryInstrumentationClientImpl):
1746         (WebCore::MemoryInstrumentationClientImpl::selfSize):
1747         (MemoryInstrumentationClientImpl):
1748         (WebCore::MemoryInstrumentationClientImpl::visitedObjects):
1749         (WebCore):
1750         (MemoryInstrumentationImpl):
1751         (WebCore::MemoryInstrumentationImpl::MemoryInstrumentationImpl):
1752         (WebCore::MemoryInstrumentationImpl::checkInstrumentedObjects):
1753
1754 2012-09-27  Jinwoo Song  <jinwoo7.song@samsung.com>
1755
1756         [CMAKE] Remove unnecessary header files from CMakeLists.txt
1757         https://bugs.webkit.org/show_bug.cgi?id=97771
1758
1759         Reviewed by Kentaro Hara.
1760
1761         Remove the header files which are added in the source file list.
1762
1763         * CMakeLists.txt:
1764
1765 2012-09-27  Andrey Kosyakov  <caseq@chromium.org>
1766
1767         Unreviewed, re-landing r129633 with the proper order of calls.
1768         https://bugs.webkit.org/show_bug.cgi?id=97659
1769
1770         * inspector/InspectorOverlay.cpp:
1771         (WebCore::InspectorOverlay::paint):
1772
1773 2012-09-27  Andrey Kosyakov  <caseq@chromium.org>
1774
1775         Unreviewed, rolling out r129633.
1776         http://trac.webkit.org/changeset/129633
1777         https://bugs.webkit.org/show_bug.cgi?id=97659
1778
1779         Breaks inspector overlay in non-composited mode
1780
1781         * inspector/InspectorOverlay.cpp:
1782         (WebCore::InspectorOverlay::paint):
1783
1784 2012-09-27  Christophe Dumez  <christophe.dumez@intel.com>
1785
1786         [EFL] Remove duplicated CSS between mediaControlsEfl.css and mediaControlsEflFullscreen.css
1787         https://bugs.webkit.org/show_bug.cgi?id=97770
1788
1789         Reviewed by Kenneth Rohde Christiansen.
1790
1791         Some CSS rules were duplicated between mediaControlsEfl.css and mediaControlsEflFullscreen.css
1792         for no reason. This is an issue because it is easy to update mediaControlsEfl.css and forget
1793         to make the same update to mediaControlsEflFullscreen.css. As a matter of fact, the timeline
1794         display in fullscreen is currently off by a few pixels because its fullscreen CSS is not in
1795         sync with what is in mediaControlsEfl.css.
1796
1797         We need to include in mediaControlsEflFullscreen.css only the CSS rules that are specific to
1798         fullscreen mode, that is to say, the hiding of some controls.
1799
1800         No new tests, no behavior change for layout tests.
1801
1802         * css/mediaControlsEflFullscreen.css:
1803
1804 2012-09-27  Vsevolod Vlasov  <vsevik@chromium.org>
1805
1806         Web Inspector: Open resource dialog should assume implicit wildcard in the beginning of the query.
1807         https://bugs.webkit.org/show_bug.cgi?id=97768
1808
1809         Reviewed by Pavel Feldman.
1810
1811         Open resource dialog now assumes implicit wildcard in the beginning of the query.
1812
1813         * inspector/front-end/FilteredItemSelectionDialog.js:
1814         (WebInspector.FilteredItemSelectionDialog.prototype._innerCreateSearchRegExp):
1815
1816 2012-09-27  Pavel Feldman  <pfeldman@chromium.org>
1817
1818         Web Inspector: do not use InspectorInstrumentation::hasFrontends() check when collecting stacks
1819         https://bugs.webkit.org/show_bug.cgi?id=96730
1820
1821         Reviewed by Vsevolod Vlasov.
1822
1823         - Introduced InspectorInstrumentation::console|timeline|runtime|canvasAgentEnabled
1824         - Using it all over the place instead of the hasFrontend (the latter is now only used once to guard hot path)
1825         - Introduced explicit "enabled" state of the console and runtime agents
1826
1827         * bindings/js/JSHTMLCanvasElementCustom.cpp:
1828         (WebCore::JSHTMLCanvasElement::getContext):
1829         * bindings/js/JSMainThreadExecState.h:
1830         (WebCore::JSMainThreadExecState::instrumentFunctionCall):
1831         * bindings/js/ScheduledAction.cpp:
1832         (WebCore::ScheduledAction::create):
1833         * bindings/js/ScriptCallStackFactory.cpp:
1834         (WebCore::createScriptCallStackForConsole):
1835         * bindings/js/ScriptCallStackFactory.h:
1836         (WebCore):
1837         * bindings/scripts/CodeGeneratorJS.pm:
1838         (GenerateCallWith):
1839         * bindings/scripts/CodeGeneratorV8.pm:
1840         (GenerateCallWith):
1841         * bindings/scripts/test/JS/JSTestObj.cpp:
1842         (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
1843         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
1844         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
1845         * bindings/scripts/test/V8/V8TestObj.cpp:
1846         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
1847         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
1848         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackCallback):
1849         * bindings/v8/ScriptCallStackFactory.cpp:
1850         (WebCore::createScriptCallStackForConsole):
1851         * bindings/v8/ScriptCallStackFactory.h:
1852         (WebCore):
1853         * bindings/v8/ScriptController.cpp:
1854         (WebCore::ScriptController::callFunctionWithInstrumentation):
1855         * bindings/v8/V8DOMWindowShell.cpp:
1856         (WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
1857         * bindings/v8/V8WorkerContextEventListener.cpp:
1858         (WebCore::V8WorkerContextEventListener::callListenerFunction):
1859         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1860         (WebCore::WindowSetTimeoutImpl):
1861         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1862         (WebCore::V8HTMLCanvasElement::getContextCallback):
1863         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1864         (WebCore::SetTimeoutOrInterval):
1865         * inspector/Inspector.json:
1866         * inspector/InspectorConsoleAgent.cpp:
1867         (WebCore):
1868         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1869         (WebCore::InspectorConsoleAgent::enable):
1870         (WebCore::InspectorConsoleAgent::disable):
1871         (WebCore::InspectorConsoleAgent::clearMessages):
1872         (WebCore::InspectorConsoleAgent::clearFrontend):
1873         (WebCore::InspectorConsoleAgent::addConsoleMessage):
1874         * inspector/InspectorConsoleAgent.h:
1875         (WebCore::InspectorConsoleAgent::enabled):
1876         (InspectorConsoleAgent):
1877         * inspector/InspectorController.cpp:
1878         (WebCore::InspectorController::connectFrontend):
1879         (WebCore::InspectorController::disconnectFrontend):
1880         * inspector/InspectorInstrumentation.cpp:
1881         (WebCore):
1882         (WebCore::InspectorInstrumentation::canvasAgentEnabled):
1883         (WebCore::InspectorInstrumentation::consoleAgentEnabled):
1884         (WebCore::InspectorInstrumentation::runtimeAgentEnabled):
1885         (WebCore::InspectorInstrumentation::timelineAgentEnabled):
1886         * inspector/InspectorInstrumentation.h:
1887         (InspectorInstrumentation):
1888         (WebCore::InspectorInstrumentation::canvasAgentEnabled):
1889         (WebCore::InspectorInstrumentation::consoleAgentEnabled):
1890         (WebCore::InspectorInstrumentation::runtimeAgentEnabled):
1891         (WebCore::InspectorInstrumentation::timelineAgentEnabled):
1892         * inspector/InspectorRuntimeAgent.cpp:
1893         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
1894         * inspector/InspectorRuntimeAgent.h:
1895         (WebCore::InspectorRuntimeAgent::enabled):
1896         (WebCore::InspectorRuntimeAgent::enable):
1897         (WebCore::InspectorRuntimeAgent::disable):
1898         (InspectorRuntimeAgent):
1899         * inspector/PageRuntimeAgent.cpp:
1900         (PageRuntimeAgentState):
1901         (WebCore::PageRuntimeAgent::clearFrontend):
1902         (WebCore::PageRuntimeAgent::restore):
1903         (WebCore):
1904         (WebCore::PageRuntimeAgent::enable):
1905         (WebCore::PageRuntimeAgent::disable):
1906         (WebCore::PageRuntimeAgent::didClearWindowObject):
1907         (WebCore::PageRuntimeAgent::didCreateIsolatedContext):
1908         (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
1909         * inspector/PageRuntimeAgent.h:
1910         (PageRuntimeAgent):
1911         * inspector/WorkerRuntimeAgent.cpp:
1912         * inspector/WorkerRuntimeAgent.h:
1913         * inspector/front-end/RuntimeModel.js:
1914         (WebInspector.RuntimeModel.prototype._didLoadCachedResources):
1915         * page/DOMWindow.cpp:
1916         (WebCore::DOMWindow::postMessage):
1917
1918 2012-09-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1919
1920         Unify event handling of middle mouse button.
1921         https://bugs.webkit.org/show_bug.cgi?id=97690
1922
1923         Reviewed by Tony Chang.
1924
1925         Implement a unified version of middle mouse button press that can be shared between
1926         all the ports with X11 support.
1927
1928         * page/EventHandler.cpp:
1929         (WebCore::EventHandler::handleMousePressEventSingleClick):
1930         (WebCore::EventHandler::handleMouseReleaseEvent):
1931         (WebCore::EventHandler::handlePasteGlobalSelection):
1932         * page/EventHandler.h:
1933         (EventHandler):
1934
1935 2012-09-27  Tommy Widenflycht  <tommyw@google.com>
1936
1937         MediaStream API: Update getUserMedia to match the latest specification
1938         https://bugs.webkit.org/show_bug.cgi?id=97540
1939
1940         Reviewed by Adam Barth.
1941
1942         http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia
1943         Navigator.getUserMedia is changed so that the audio and video members can either
1944         be a bool or a constraints object.
1945
1946         Existing tests expanded to cover the new change.
1947
1948         * Modules/mediastream/MediaConstraintsImpl.cpp:
1949         (WebCore::MediaConstraintsImpl::create):
1950         (WebCore):
1951         * Modules/mediastream/MediaConstraintsImpl.h:
1952         (MediaConstraintsImpl):
1953         * Modules/mediastream/NavigatorMediaStream.cpp:
1954         (WebCore::NavigatorMediaStream::webkitGetUserMedia):
1955         * Modules/mediastream/UserMediaRequest.cpp:
1956         (WebCore::parseOptions):
1957         (WebCore):
1958         (WebCore::UserMediaRequest::create):
1959         (WebCore::UserMediaRequest::UserMediaRequest):
1960         (WebCore::UserMediaRequest::audio):
1961         (WebCore::UserMediaRequest::video):
1962         (WebCore::UserMediaRequest::audioConstraints):
1963         (WebCore::UserMediaRequest::videoConstraints):
1964         * Modules/mediastream/UserMediaRequest.h:
1965         (WebCore):
1966         (UserMediaRequest):
1967         * platform/chromium/support/WebMediaConstraints.cpp:
1968         (WebKit::WebMediaConstraints::WebMediaConstraints):
1969         (WebKit):
1970
1971 2012-09-27  Vsevolod Vlasov  <vsevik@chromium.org>
1972
1973         Unreviewed inspector front-end closure compilation fix.
1974
1975         * inspector/front-end/UISourceCode.js:
1976         (WebInspector.UISourceCode.prototype.revertToOriginal):
1977         (WebInspector.UISourceCode.prototype.revertAndClearHistory):
1978
1979 2012-09-25  Alexander Pavlov  <apavlov@chromium.org>
1980
1981         CollectingRules and QueryingRules modes of SelectorChecker miss some complex selectors with pseudo elements
1982         https://bugs.webkit.org/show_bug.cgi?id=78595
1983
1984         Reviewed by Antti Koivisto.
1985
1986         Do not use the same dynamicPseudo reference when recursively invoking checkSelector() for non-SubSelector selectors.
1987
1988         Test: fast/dom/Window/getMatchedCSSRules-with-pseudo-elements-complex.html
1989
1990         * css/SelectorChecker.cpp:
1991         (WebCore::SelectorChecker::checkSelector): Use new NOPSEUDO dynamic pseudoId values
1992         for each non-SubSelector selector further in the tag history.
1993
1994 2012-09-27  Christophe Dumez  <christophe.dumez@intel.com>
1995
1996         [EFL] No way to exit video fullscreen mode once entered
1997         https://bugs.webkit.org/show_bug.cgi?id=97631
1998
1999         Reviewed by Kenneth Rohde Christiansen.
2000
2001         Show fullscreen media control in fullscreen so that
2002         we now have a way to exit fullscreen mode.
2003
2004         No new tests, no behavior change for layout tests.
2005
2006         * css/mediaControlsEflFullscreen.css:
2007         * platform/efl/RenderThemeEfl.cpp:
2008         (WebCore::RenderThemeEfl::emitMediaButtonSignal):
2009         (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
2010
2011 2012-09-27  Yoshifumi Inoue  <yosin@chromium.org>
2012
2013         [Forms] BaseMultipleFieldsDateAndTimeInputType class should inherit DateTimeEditElement::EditControlOwner rather than containing
2014         https://bugs.webkit.org/show_bug.cgi?id=97756
2015
2016         Reviewed by Kent Tamura.
2017
2018         This patch changes class hierarchy of BaseMultipleFieldsDateAndTimeInputType
2019         to inherit from DateTimeEditElement::EditControlOwner rather than
2020         containing an instance of DateTimeEditElement::EditControlOwner for
2021         saving memory, although one pointer, and one memory fetch on using
2022         HTMLInputElement.
2023
2024         Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
2025         ENABLE_INPUT_MULTIPLE_FIELDS_UI.
2026
2027         No new tests. This patch doesn't change behavior.
2028
2029         * html/BaseMultipleFieldsDateAndTimeInputType.cpp: DateTimeEditElement::EditControlOwner::DateTimeformatDateTimeFieldsState was removed. We no longer need to redirection. Each date/time input type classe implements it.
2030         (WebCore::BaseMultipleFieldsDateAndTimeInputType::didBlurFromControl): Moved from DateTimeEditControlOwnerImpl and removed reference of m_dateTimeInputType.
2031         (WebCore::BaseMultipleFieldsDateAndTimeInputType::didFocusOnControl): ditto.
2032         (WebCore::BaseMultipleFieldsDateAndTimeInputType::editControlValueChanged): ditto.
2033         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isEditControlOwnerDisabled): ditto.
2034         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isEditControlOwnerReadOnly): ditto.
2035         (WebCore::BaseMultipleFieldsDateAndTimeInputType::BaseMultipleFieldsDateAndTimeInputType): ditto.
2036         (WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree): Changed to pass BaseMultipleFieldsDateAndTimeInputType instead of DateTimeEditControlOwnerImpl.
2037         * html/BaseMultipleFieldsDateAndTimeInputType.h: Changed base class to have DateTImeEditElement::EditControlOwner.
2038         (BaseMultipleFieldsDateAndTimeInputType): Removed DateTimeEditControlOwnerImpl class and member variable m_dateTimeEditControlOwner.
2039
2040 2012-09-27  Keishi Hattori  <keishi@webkit.org>
2041
2042         SuggestionPicker should support rtl
2043         https://bugs.webkit.org/show_bug.cgi?id=97555
2044
2045         Reviewed by Kent Tamura.
2046
2047         Add support for rtl to SuggestionPicker. We add another parameter
2048         because text direction for the calendar picker should depend on the UI
2049         language but the text direction for suggestion picker should depend on
2050         the input element style.
2051
2052         Test: platform/chromium/fast/forms/date/date-suggestion-picker-appearance-rtl.html
2053
2054         * Resources/pagepopups/calendarPicker.js:
2055         (CalendarPicker.prototype._layout):
2056         * Resources/pagepopups/pickerCommon.css:
2057         (.rtl): Added so we can change styles when in rtl mode.
2058         * Resources/pagepopups/suggestionPicker.css:
2059         (.suggestion-list-entry .label):
2060         (.rtl .suggestion-list-entry .label): Change float direction to left.
2061         * Resources/pagepopups/suggestionPicker.js:
2062         (SuggestionPicker.prototype._layout):
2063         * html/shadow/CalendarPickerElement.cpp:
2064         (WebCore::CalendarPickerElement::openPopup): Set isAnchorElementRTL to true if the input element is rtl.
2065         * platform/DateTimeChooser.h:
2066         (DateTimeChooserParameters): Added isAnchorElementRTL.
2067
2068 2012-09-27  Takashi Sakamoto  <tasak@google.com>
2069
2070         Follow-up to r129723 to once more allow parsing of scoped names in IDL files.
2071
2072         Reviewed by Kentaro Hara.
2073
2074         This functionality was supported by the old IDL parser but was lost in the rewrite of the parser
2075         in r129723. It is being reinstated to unbreak clients that currently depend on it, but will likely
2076         be removed in the future once those clients have a chance to adopt an approach that more closely
2077         follows the WebIDL syntax.
2078
2079         * bindings/scripts/IDLParser.pm:
2080         (parseDefinition):
2081         (parseInheritance):
2082         (parseImplementsStatement):
2083         (parseExtendedAttribute):
2084         (parseExtendedAttribute2):
2085         (parseExtendedAttributeRest2):
2086         (parseExtendedAttributeRest3):
2087         (parseScopedNameListNoComma):
2088         (parseNonAnyType):
2089         (parseExceptionList):
2090         (parseDefinitionOld):
2091         (parseScopedName):
2092         (parseAbsoluteScopedName):
2093         (parseRelativeScopedName):
2094         (parseScopedNameParts):
2095         (parseScopedNameList):
2096         (parseScopedNames):
2097
2098 2012-09-27  Yury Semikhatsky  <yurys@chromium.org>
2099
2100         Web Inspector: expose debug memory instrumentation debug data through the protocol
2101         https://bugs.webkit.org/show_bug.cgi?id=97683
2102
2103         Reviewed by Pavel Feldman.
2104
2105         Memory.getProcessMemoryDistribution command now returns number of instrumented
2106         objects that were found and the number of the objects that were counted by
2107         the instrumentation but were not actually allocated by the memory allocator.
2108         These numbers are only added to the response if embedder provides access to the
2109         set of all live heap objects. These numbers are intended to be used for testing
2110         memory instrumentation.
2111
2112         * inspector/InspectorMemoryAgent.cpp:
2113         (WebCore::collectDomTreeInfo):
2114         * inspector/MemoryInstrumentationImpl.cpp:
2115         (WebCore::MemoryInstrumentationImpl::MemoryInstrumentationImpl):
2116         (WebCore::MemoryInstrumentationImpl::checkCountedObject):
2117         * inspector/MemoryInstrumentationImpl.h:
2118         (WebCore::MemoryInstrumentationImpl::checkInstrumentedObjects):
2119         (WebCore::MemoryInstrumentationImpl::totalCountedObjects):
2120         (WebCore::MemoryInstrumentationImpl::totalObjectsNotInAllocatedSet):
2121         (MemoryInstrumentationImpl):
2122
2123 2012-09-27  Mihnea Ovidenie  <mihnea@adobe.com>
2124
2125         [CSSRegions]Refactor RenderFlowThread::contentLogical(Width/Height/Left)OfFirstRegion
2126         https://bugs.webkit.org/show_bug.cgi?id=97577
2127
2128         Reviewed by Andreas Kling.
2129
2130         RenderFlowThread methods contentLogicalWidthOfFirstRegion, contentLogicalHeightOfFirstRegion, contentLogicalLeftOfFirstRegion
2131         were using code to get the first valid region associated with the flow. We can use RenderFlowThread::firstRegion() method instead.
2132
2133         No new tests as this is just refactoring of existing code, the change is covered by existing regions tests.
2134
2135         * rendering/RenderFlowThread.cpp:
2136         (WebCore::RenderFlowThread::contentLogicalWidthOfFirstRegion):
2137         (WebCore::RenderFlowThread::contentLogicalHeightOfFirstRegion):
2138         (WebCore):
2139         (WebCore::RenderFlowThread::contentLogicalLeftOfFirstRegion):
2140         (WebCore::RenderFlowThread::firstRegion):
2141         (WebCore::RenderFlowThread::lastRegion):
2142         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
2143         (WebCore::RenderFlowThread::objectInFlowRegion):
2144         (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
2145
2146 2012-09-27  Patrick Gansterer  <paroga@webkit.org>
2147
2148         Build fix for !USE(ICU_UNICODE) after r129662.
2149
2150         Convert LChar to UChar so we can call the existing function until the
2151         other TextBreakIterator implemenations provide an overload for LChar.
2152
2153         * platform/text/TextBreakIterator.cpp:
2154         (WebCore):
2155         (WebCore::acquireLineBreakIterator):
2156
2157 2012-09-26  Yoshifumi Inoue  <yosin@chromium.org>
2158
2159         [Forms] Move multiple fields related functions to BaseDateAndTimeInputType from TimeInputType
2160         https://bugs.webkit.org/show_bug.cgi?id=97521
2161
2162         Reviewed by Kent Tamura.
2163
2164         This patch introduces new class BaseMultipleFieldsDateAndTimeInputType
2165         for sharing code among multiple fields date/time input UI.
2166
2167         Member functions in BaseMultipleFieldsDateAndTimeInputType are moved
2168         from TimeInputType. BaseMultipleFieldsDateAndTimeInputType.{cpp,h}
2169         were copied from TimeInputType.{cpp,h} by r129721.
2170
2171         This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
2172         ENABLE_INPUT_MULTIPLE_FIELDS_UI.
2173
2174         No new tests. This patch doesn't change behavior.
2175
2176         * WebCore.gypi: Changed to have html/BaseMultipleFieldsDateAndTimeInputType.{cpp,h}
2177         * html/BaseDateAndTimeInputType.h:
2178         (BaseDateAndTimeInputType): Exposed setMillisecondToDateComponents as protected for BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState().
2179         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
2180         (WebCore::BaseMultipleFieldsDateAndTimeInputType::DateTimeEditControlOwnerImpl::DateTimeEditControlOwnerImpl): Moved from TimeInputType::DateTimeEditControlOwnerImpl.
2181         (WebCore::BaseMultipleFieldsDateAndTimeInputType::DateTimeEditControlOwnerImpl::~DateTimeEditControlOwnerImpl): ditto.
2182         (WebCore::BaseMultipleFieldsDateAndTimeInputType::DateTimeEditControlOwnerImpl::didBlurFromControl): ditto.
2183         (WebCore::BaseMultipleFieldsDateAndTimeInputType::DateTimeEditControlOwnerImpl::didFocusOnControl): ditto.
2184         (WebCore::BaseMultipleFieldsDateAndTimeInputType::DateTimeEditControlOwnerImpl::editControlValueChanged): ditto.
2185         (WebCore::BaseMultipleFieldsDateAndTimeInputType::DateTimeEditControlOwnerImpl::formatDateTimeFieldsState): Moved from TimeInputType::DateTimeEditControlOwnerImpl and changed to call formatDateTimeFieldsState() in BaseMultipleFieldsDateAndTimeInputTypeInputType class.
2186         (WebCore::BaseMultipleFieldsDateAndTimeInputType::hasCustomFocusLogic): Moved from TimeInputType.
2187         (WebCore::BaseMultipleFieldsDateAndTimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerDisabled): ditto.
2188         (WebCore::BaseMultipleFieldsDateAndTimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerReadOnly): ditto.
2189         (WebCore::BaseMultipleFieldsDateAndTimeInputType::BaseMultipleFieldsDateAndTimeInputType): ditto.
2190         (WebCore::BaseMultipleFieldsDateAndTimeInputType::~BaseMultipleFieldsDateAndTimeInputType): ditto.
2191         (WebCore::BaseMultipleFieldsDateAndTimeInputType::blur): ditto.
2192         (WebCore::BaseMultipleFieldsDateAndTimeInputType::createRenderer): ditto.
2193         (WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree): ditto.
2194         (WebCore::BaseMultipleFieldsDateAndTimeInputType::destroyShadowSubtree): ditto.
2195         (WebCore::BaseMultipleFieldsDateAndTimeInputType::focus): ditto.
2196         (WebCore::BaseMultipleFieldsDateAndTimeInputType::forwardEvent): ditto.
2197         (WebCore::BaseMultipleFieldsDateAndTimeInputType::disabledAttributeChanged): ditto.
2198         (WebCore::BaseMultipleFieldsDateAndTimeInputType::handleKeydownEvent): ditto.
2199         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isKeyboardFocusable): ditto.
2200         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isMouseFocusable): ditto.
2201         (WebCore::BaseMultipleFieldsDateAndTimeInputType::minOrMaxAttributeChanged): ditto.
2202         (WebCore::BaseMultipleFieldsDateAndTimeInputType::readonlyAttributeChanged): ditto.
2203         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isTextField): ditto.
2204         (WebCore::BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState): ditto.
2205         (WebCore::BaseMultipleFieldsDateAndTimeInputType::saveFormControlState): ditto.
2206         (WebCore::BaseMultipleFieldsDateAndTimeInputType::setValue): ditto.
2207         (WebCore::BaseMultipleFieldsDateAndTimeInputType::shouldUseInputMethod): ditto.
2208         (WebCore::BaseMultipleFieldsDateAndTimeInputType::stepAttributeChanged): ditto.
2209         (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue): Moved from TimeInputType and changed to call setupLayoutParameters() to set date/time format by each input type.
2210         * html/BaseMultipleFieldsDateAndTimeInputType.h:
2211         (BaseMultipleFieldsDateAndTimeInputType): Added.
2212         (DateTimeEditControlOwnerImpl): Moved from TimeInputType.
2213         * html/TimeInputType.cpp: Moved multiple fields UI related functions to BaseMultipleFieldsDateAndTimeInputType.
2214         (WebCore::TimeInputType::TimeInputType): Changed base class name to BaseTimeInput.
2215         (WebCore::TimeInputType::formatDateTimeFieldsState): Moved from TimeINput::DateTImeEditControlOwnerImpl class.
2216         (WebCore::TimeInputType::setupLayoutParameters): Added for set time format.
2217         * html/TimeInputType.h:
2218         (TimeInputType): Chaned base class to BaseTimeInput which is alias of BaseDateAndTimeInputType or BaseMultipleFieldsDateAndTimeInputType.
2219
2220 2012-09-26  Yoshifumi Inoue  <yosin@chromium.org>
2221
2222         [Forms] Adding localization texts for multiple fields date/time input UI
2223         https://bugs.webkit.org/show_bug.cgi?id=97633
2224
2225         Reviewed by Kent Tamura.
2226
2227         This patch adds function declarations for getting localized strings
2228         used in multiple fields date/time input UI inside ENABLE_INPUT_MULTIPLE_FIELDS_UI.
2229
2230         New functions are:
2231          - placeholderForDayOfMonthField()
2232             It returns localized placeholder text, e.g. "dd", for date field
2233             used in multiple fields "date", "datetime", and "datetime-local"
2234             input UI instead "--".
2235
2236         - placeholderForfMonthField()
2237             It returns localized placeholder text, e.g. "mm", for month field
2238             used in multiple fields "date", "datetime", and "datetime-local"
2239             input UI instead "--".
2240
2241         - placeholderForYearField()
2242             It returns localized placeholder text, e.g. "yyyy", for year field
2243             used in multiple fields "date", "datetime", and "datetime-local"
2244             input UI instead "----".
2245
2246         - monthFormatInLDML()
2247             It returns month and year format in LDML, Unicode technical
2248             standard 35, Locale Data Markup Language, e.g. "MM-yyyyy" for
2249             "month" input type.
2250
2251         - monthFormatInLDML()
2252             It returns week and year format in LDML, e.g. "WW-yyyyy" for
2253             "week" input type.
2254
2255         No new tests. This patch doesn't change behavior.
2256
2257         * platform/LocalizedStrings.h:
2258         (WebCore): Added declarations of placeholderForDayOfMonthField(), placeholderForMonthField(),
2259         placeholderForYearField(), monthFormatInLDML() and weekFormatInLDML().
2260
2261 2012-09-26  Huang Dongsung  <luxtella@company100.net>
2262
2263         [CSS Shaders] Remove an unused member variable m_program in FECustomFilter.h
2264         https://bugs.webkit.org/show_bug.cgi?id=97755
2265
2266         Reviewed by Kentaro Hara.
2267
2268         No new tests. This patch doesn't change behavior.
2269
2270         * platform/graphics/filters/FECustomFilter.h:
2271         (WebCore):
2272
2273 2012-08-09  Takashi Sakamoto  <tasak@google.com>
2274
2275         Move IDL extended attributes to the location specified in WebIDL
2276         https://bugs.webkit.org/show_bug.cgi?id=26398
2277
2278         Reviewed by Kentaro Hara.
2279
2280         Recreated a new IDLParser based on the WebIDL spec:
2281         http://dev.w3.org/2006/webapi/WebIDL/
2282
2283         Firstly merges two grammars (editors draft and WebKit current IDL) and
2284         generates IDL parser by using python script. The generated parser is
2285         modified to generate the same outputs as the previous IDLParser.pm.
2286         The new IDLParser.pm can parse both WebIDL grammar.
2287
2288         No new tests. Tested by comparing with sources generated by
2289         the previous IDLParser.pm.
2290
2291         * bindings/scripts/IDLParser.pm:
2292         (new):
2293         (assertTokenValue):
2294         (assertTokenType):
2295         (assertUnexpectedToken):
2296         (Parse):
2297         A method to start parsing a IDL file. Arguments and return values are
2298         the same as the previous IDLParser.pm's Parse method.
2299         (nextToken):
2300         Implemented to see a next token, because of LL(1).
2301         (getToken):
2302         Returns current token, and update next and current token.
2303         (getTokenInternal):
2304         According to the regular expressions defined in WebIDL spec, extracts
2305         one new token from a text string. The order of the regular expressions
2306         to be tested is important, i.e. "0." should be considered as a float
2307         token, but if firstly checks the integer regular expression, "0." is
2308         considered as "0" and ".".
2309         (parseDefinition):
2310         (parseCallbackOrInterface):
2311         (parseCallbackRestOrInterface):
2312         (parseInterface):
2313         (parsePartial):
2314         (parsePartialDefinition):
2315         (parsePartialInterface):
2316         (parseInterfaceMember):
2317         (parseDictionary):
2318         (parseDictionaryMember):
2319         (parsePartialDictionary):
2320         (parseDefaultValue):
2321         (parseException):
2322         (parseExceptionMembers):
2323         (parseEnum):
2324         (parseEnumValueList):
2325         (parseCallbackRest):
2326         (parseTypedef):
2327         (parseImplementsStatement):
2328         (parseConst):
2329         (parseConstValue):
2330         (parseBooleanLiteral):
2331         (parseFloatLiteral):
2332         (parseAttributeOrOperationOrIterator):
2333         (parseSerializer):
2334         (parseSerializationPattern):
2335         (parseQualifier):
2336         (parseAttributeOrOperationRest):
2337         (parseAttribute):
2338         (parseAttributeRest):
2339         (parseOperationOrIterator):
2340         (parseSpecialOperation):
2341         (parseSpecial):
2342         (parseOperationOrIteratorRest):
2343         (parseIteratorRest):
2344         (parseOptionalIteratorInterfaceOrObject):
2345         (parseOperationRest):
2346         (parseArguments):
2347         (parseArgument):
2348         (parseOptionalOrRequiredArgument):
2349         (parseArgumentName):
2350         (parseExceptionMember):
2351         (parseExceptionField):
2352         (parseExtendedAttributeList):
2353         (parseExtendedAttribute):
2354         (parseExtendedAttributeRest2):
2355         (parseArgumentNameKeyword):
2356         (parseType):
2357         (parseSingleType):
2358         (parseUnionType):
2359         (parseNonAnyType):
2360         (parsePrimitiveType):
2361         (parseUnrestrictedFloatType):
2362         (parseFloatType):
2363         (parseUnsignedIntegerType):
2364         (parseNull):
2365         (parseGet):
2366         (parseInheritsGetter):
2367         (parseSetGetRaises):
2368         (parseGetRaises2):
2369         (parseSetRaises):
2370         (parseSetRaises3):
2371         (parseDefinitionOld):
2372         (parseModule):
2373         (parseInterfaceOld):
2374         (parseInterfaceMemberOld):
2375         (parseDictionaryOld):
2376         (parseDictionaryMemberOld):
2377         (parseExceptionOld):
2378         (parseEnumOld):
2379         (parseAttributeOrOperationOrIteratorOld):
2380         (parseAttributeOrOperationRestOld):
2381         (parseAttributeOld):
2382         (parseIn):
2383         (parseOptionalSemicolon):
2384         (applyMemberList):
2385         (applyExtendedAttributeList):
2386         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2387         (WebDOMTestObj::longAttr):
2388         (WebDOMTestObj::setLongAttr):
2389         (WebDOMTestObj::voidMethodWithArgs):
2390         (WebDOMTestObj::longMethod):
2391         (WebDOMTestObj::longMethodWithArgs):
2392         (WebDOMTestObj::objMethodWithArgs):
2393         (WebDOMTestObj::convert1):
2394         (WebDOMTestObj::convert2):
2395         (WebDOMTestObj::convert3):
2396         (WebDOMTestObj::convert4):
2397         (WebDOMTestObj::convert5):
2398         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2399         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2400         (webkit_dom_test_obj_set_property):
2401         (webkit_dom_test_obj_get_property):
2402         (webkit_dom_test_obj_class_init):
2403         (webkit_dom_test_obj_void_method_with_args):
2404         (webkit_dom_test_obj_long_method):
2405         (webkit_dom_test_obj_long_method_with_args):
2406         (webkit_dom_test_obj_obj_method_with_args):
2407         (webkit_dom_test_obj_convert1):
2408         (webkit_dom_test_obj_convert2):
2409         (webkit_dom_test_obj_convert3):
2410         (webkit_dom_test_obj_convert4):
2411         (webkit_dom_test_obj_convert5):
2412         (webkit_dom_test_obj_get_long_attr):
2413         (webkit_dom_test_obj_set_long_attr):
2414         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2415         * bindings/scripts/test/JS/JSTestObj.cpp:
2416         (WebCore):
2417         (WebCore::jsTestObjLongAttr):
2418         (WebCore::setJSTestObjLongAttr):
2419         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
2420         (WebCore::jsTestObjPrototypeFunctionLongMethod):
2421         (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
2422         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
2423         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
2424         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
2425         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
2426         (WebCore::jsTestObjPrototypeFunctionConvert1):
2427         (WebCore::jsTestObjPrototypeFunctionConvert2):
2428         (WebCore::jsTestObjPrototypeFunctionConvert3):
2429         (WebCore::jsTestObjPrototypeFunctionConvert4):
2430         (WebCore::jsTestObjPrototypeFunctionConvert5):
2431         * bindings/scripts/test/JS/JSTestObj.h:
2432         (WebCore):
2433         * bindings/scripts/test/ObjC/DOMTestObj.h:
2434         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2435         (-[DOMTestObj longAttr]):
2436         (-[DOMTestObj setLongAttr:]):
2437         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
2438         (-[DOMTestObj longMethod]):
2439         (-[DOMTestObj longMethodWithArgs:strArg:objArg:]):
2440         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
2441         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
2442         (-[DOMTestObj convert1:]):
2443         (-[DOMTestObj convert2:]):
2444         (-[DOMTestObj convert3:]):
2445         (-[DOMTestObj convert4:]):
2446         (-[DOMTestObj convert5:]):
2447         * bindings/scripts/test/TestObj.idl:
2448         Removed the line which has only "JSC, V8".
2449         Added argument to convert1, ... convert5.
2450         * bindings/scripts/test/V8/V8TestObj.cpp:
2451         (WebCore::TestObjV8Internal::longAttrAttrGetter):
2452         (WebCore::TestObjV8Internal::longAttrAttrSetter):
2453         (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
2454         (WebCore::TestObjV8Internal::longMethodCallback):
2455         (WebCore::TestObjV8Internal::longMethodWithArgsCallback):
2456         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
2457         (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
2458         (WebCore::TestObjV8Internal::overloadedMethod2Callback):
2459         (WebCore::TestObjV8Internal::overloadedMethod4Callback):
2460         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
2461         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
2462         (WebCore::TestObjV8Internal::enabledPerContextMethod1Callback):
2463         (WebCore::TestObjV8Internal::enabledPerContextMethod2Callback):
2464         (WebCore::TestObjV8Internal::convert1Callback):
2465         (WebCore::TestObjV8Internal::convert2Callback):
2466         (WebCore::TestObjV8Internal::convert3Callback):
2467         (WebCore::TestObjV8Internal::convert4Callback):
2468         (WebCore::TestObjV8Internal::convert5Callback):
2469         (WebCore):
2470         (WebCore::ConfigureV8TestObjTemplate):
2471         * Modules/webaudio/AudioBufferSourceNode.idl:
2472         As only restricted extended attribute syntax is supported, modify the
2473         idl from [...] [...] to [..., ...].
2474
2475 2012-09-26  Yoshifumi Inoue  <yosin@chromium.org>
2476
2477         [Forms] Copy TimeInputType.{cpp,h} to BaseMultipleFieldsDateAndTimeInputType.{cpp,h}
2478         https://bugs.webkit.org/show_bug.cgi?id=97649
2479
2480         Reviewed by Kent Tamura.
2481
2482         This patch copies TimeInput.{cpp,h} to BaseMultipleFieldsDateAndTimeInputType.{cpp,h}
2483         for sharing code related to multiple fields date/time input UI among date/time related
2484         input types, such as "date", "datetime", "month", "time" and "week".
2485
2486         No new tests. This patch doesn't change behavior.
2487
2488         * html/BaseMultipleFieldsDateAndTimeInputType.cpp: Copied from Source/WebCore/html/TimeInputType.cpp.
2489         * html/BaseMultipleFieldsDateAndTimeInputType.h: Copied from Source/WebCore/html/TimeInputType.h.
2490
2491 2012-09-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2492
2493         [Texmap][EFL] Accelerated compositing support using TextureMapper on EFL port
2494         https://bugs.webkit.org/show_bug.cgi?id=73111
2495
2496         Reviewed by Gyuyoung Kim.
2497
2498         Remove unneeded files
2499
2500         * PlatformEfl.cmake: Do not add the files any more.
2501         * platform/graphics/efl/GraphicsLayerEfl.cpp: Removed.
2502         * platform/graphics/efl/GraphicsLayerEfl.h: Removed.
2503
2504 2012-09-26  Simon Fraser  <simon.fraser@apple.com>
2505
2506         Rename Page::frameCount() to subframeCount(), and related
2507         https://bugs.webkit.org/show_bug.cgi?id=97729
2508
2509         Reviewed by Alexey Proskuryakov.
2510
2511         Rename member functions and variables on Page that refer to
2512         "frame count" to use "subframe count", since the main frame is
2513         not included in the count.
2514
2515         * history/CachedFrame.cpp:
2516         (WebCore::CachedFrame::CachedFrame):
2517         (WebCore::CachedFrame::open):
2518         * history/CachedPage.cpp:
2519         (WebCore::CachedPage::restore):
2520         * html/HTMLFrameElementBase.cpp:
2521         (WebCore::HTMLFrameElementBase::isURLAllowed):
2522         * html/HTMLPlugInImageElement.cpp:
2523         (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
2524         * loader/FrameLoader.cpp:
2525         (WebCore::FrameLoader::closeAndRemoveChild):
2526         * page/Frame.cpp:
2527         (WebCore::Frame::Frame):
2528         (WebCore::Frame::disconnectOwnerElement):
2529         * page/Page.cpp:
2530         (WebCore::Page::Page):
2531         (WebCore::Page::checkSubframeCountConsistency):
2532         * page/Page.h:
2533         (WebCore::Page::incrementSubframeCount):
2534         (WebCore::Page::decrementSubframeCount):
2535         (WebCore::Page::subframeCount):
2536         (WebCore::Page::checkSubframeCountConsistency):
2537
2538 2012-09-26  Michael Saboff  <msaboff@apple.com>
2539
2540         Unreviewed speculative build fix for clang.
2541
2542         Added explicit static_cast from int64_t to int32_t.
2543
2544         * platform/text/TextBreakIteratorICU.cpp:
2545         (WebCore::uTextLatin1Clone):
2546         (WebCore::uTextLatin1Extract):
2547         (WebCore::uTextLatin1MapNativeIndexToUTF16):
2548
2549 2012-09-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2550
2551         Unreviewed, rolling out r129673.
2552         http://trac.webkit.org/changeset/129673
2553         https://bugs.webkit.org/show_bug.cgi?id=97723
2554
2555         Causing window build breakage (Requested by alecf on #webkit).
2556
2557         * platform/chromium/PlatformSupport.h:
2558         (PlatformSupport):
2559         * platform/graphics/skia/SkiaFontWin.cpp:
2560         (WebCore::paintSkiaText):
2561
2562 2012-09-26  David Barton  <dbarton@mathscribe.com>
2563
2564         [MathML] Implement <mtd> rowspan and columnspan attributes
2565         https://bugs.webkit.org/show_bug.cgi?id=97401
2566
2567         Reviewed by Eric Seidel.
2568
2569         These should behave like rowspan and colspan for HTMLTableCell. As in that case,
2570         RenderTableCell accesses these attributes of its element as needed.
2571
2572         Tested by modifications to LayoutTests/mathml/presentation/tables.xhtml.
2573
2574         * mathml/MathMLElement.cpp:
2575         (WebCore::MathMLElement::colSpan):
2576         (WebCore::MathMLElement::rowSpan):
2577         (WebCore::MathMLElement::parseAttribute):
2578         * mathml/MathMLElement.h:
2579         (MathMLElement):
2580         (WebCore::toMathMLElement):
2581         * mathml/mathattrs.in:
2582         * mathml/mathtags.in:
2583         * rendering/RenderTableCell.cpp:
2584         (WebCore::RenderTableCell::RenderTableCell):
2585         (WebCore::isMathMLElement):
2586         (WebCore::RenderTableCell::colSpan):
2587         (WebCore::RenderTableCell::rowSpan):
2588         (WebCore::RenderTableCell::colSpanOrRowSpanChanged):
2589         * rendering/RenderTableCell.h:
2590         (RenderTableCell):
2591             - Changed m_hasAssociatedTableCellElement to m_hasHTMLTableCellElement.
2592
2593 2012-09-26  Marcelo Lira  <marcelo.lira@openbossa.org>
2594
2595         [Qt] load event fires on XMLHttpRequestUpload twice with Qt5
2596         https://bugs.webkit.org/show_bug.cgi?id=92669
2597
2598         Reviewed by Kenneth Rohde Christiansen.
2599
2600         When finishing, after the upload have already been done, Qt5's
2601         QNetworkReply emits an uploadProgress signal with total bytes set to
2602         zero. Since 0 of 0 bytes doesn't make any sense as progress, a
2603         conditional was added to QNetworkReplyHandler::uploadProgress to make
2604         do nothing with such values.
2605
2606         Unskip XMLHttpRequestUpload tests.
2607
2608         * platform/network/qt/QNetworkReplyHandler.cpp:
2609         (WebCore::QNetworkReplyHandler::uploadProgress):
2610
2611 2012-09-26  Bear Travis  <betravis@adobe.com>
2612
2613         [CSS Exclusions] Rename WrapShapeInfo to ExclusionShapeInfo
2614         https://bugs.webkit.org/show_bug.cgi?id=96157
2615
2616         Reviewed by Dirk Schulze.
2617
2618         Rename WrapShapeInfo to the more specific ExclusionShapeInsideInfo, which is the only
2619         information the class is currently tracking. This patch updates build files, class
2620         instances and variable names. When shape-outside is added, there may be an additional
2621         ExclusionShapeOutsideInfo class that shares a common parent class with 
2622         ExclusionShapeInsideInfo. This patch only changes names, there is no new functionality.
2623
2624         Covered by existing tests
2625
2626         * CMakeLists.txt: Rename files from WrapShapeInfo to ExclusionShapeInsideInfo.
2627         * GNUmakefile.list.am: Ditto.
2628         * Target.pri: Ditto.
2629         * WebCore.gypi: Ditto.
2630         * WebCore.vcproj/WebCore.vcproj: Ditto.
2631         * WebCore.xcodeproj/project.pbxproj: Ditto.
2632         * rendering/ExclusionShapeInsideInfo.cpp: Renamed from Source/WebCore/rendering/WrapShapeInfo.cpp.
2633         (WebCore):  Renaming functions and variables to use ExclusionShapeInsideInfo rather than
2634         WrapShapeInfo.
2635         (WebCore::exclusionShapeInsideInfoMap):
2636         (WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo):
2637         (WebCore::ExclusionShapeInsideInfo::~ExclusionShapeInsideInfo):
2638         (WebCore::ExclusionShapeInsideInfo::ensureExclusionShapeInsideInfoForRenderBlock):
2639         (WebCore::ExclusionShapeInsideInfo::exclusionShapeInsideInfoForRenderBlock):
2640         (WebCore::ExclusionShapeInsideInfo::isExclusionShapeInsideInfoEnabledForRenderBlock):
2641         (WebCore::ExclusionShapeInsideInfo::removeExclusionShapeInsideInfoForRenderBlock):
2642         (WebCore::ExclusionShapeInsideInfo::computeShapeSize):
2643         (WebCore::ExclusionShapeInsideInfo::computeSegmentsForLine):
2644         * rendering/ExclusionShapeInsideInfo.h: Renamed from Source/WebCore/rendering/WrapShapeInfo.h.
2645         (WebCore):
2646         (ExclusionShapeInsideInfo):
2647         (WebCore::ExclusionShapeInsideInfo::create):
2648         (WebCore::ExclusionShapeInsideInfo::shapeLogicalTop):
2649         (WebCore::ExclusionShapeInsideInfo::shapeLogicalBottom):
2650         (WebCore::ExclusionShapeInsideInfo::hasSegments):
2651         (WebCore::ExclusionShapeInsideInfo::segments):
2652         (WebCore::ExclusionShapeInsideInfo::dirtyShapeSize):
2653         (WebCore::ExclusionShapeInsideInfo::lineOverlapsShapeBounds):
2654         * rendering/LayoutState.cpp:
2655         (WebCore::LayoutState::LayoutState):
2656         * rendering/LayoutState.h:
2657         (WebCore):
2658         (WebCore::LayoutState::LayoutState):
2659         (WebCore::LayoutState::exclusionShapeInsideInfo):
2660         (LayoutState):
2661         * rendering/RenderBlock.cpp:
2662         (WebCore::RenderBlock::willBeDestroyed):
2663         (WebCore::RenderBlock::styleDidChange):
2664         (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange):
2665         (WebCore::RenderBlock::updateRegionsAndExclusionsLogicalSize):
2666         (WebCore::RenderBlock::computeExclusionShapeSize):
2667         * rendering/RenderBlock.h:
2668         (WebCore::RenderBlock::exclusionShapeInsideInfo):
2669         (RenderBlock):
2670         * rendering/RenderBlockLineLayout.cpp:
2671         (WebCore::layoutExclusionShapeInsideInfo):
2672         (WebCore::LineWidth::LineWidth):
2673         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
2674         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
2675         * rendering/RenderView.h:
2676         (WebCore::RenderView::pushLayoutState):
2677
2678 2012-09-26  Christophe Dumez  <christophe.dumez@intel.com>
2679
2680         [EFL] Volume button should not be shown for videos without audio
2681         https://bugs.webkit.org/show_bug.cgi?id=97574
2682
2683         Reviewed by Kenneth Rohde Christiansen.
2684
2685         The volume control is no longer shown for videos with
2686         no audio.
2687
2688         No new tests, already tested by media/video-no-audio.html.
2689
2690         * platform/efl/RenderThemeEfl.cpp:
2691         (WebCore::RenderThemeEfl::hasOwnDisabledStateHandlingFor):
2692         (WebCore):
2693         * platform/efl/RenderThemeEfl.h:
2694         (RenderThemeEfl):
2695
2696 2012-09-26  Gavin Barraclough  <barraclough@apple.com>
2697
2698         Generalize JSGlobalThis as JSProxy
2699         https://bugs.webkit.org/show_bug.cgi?id=97716
2700
2701         Reviewed by Oliver Hunt.
2702
2703         This patch moves window shell functionality up to JSC::JSProxy.
2704
2705         * ForwardingHeaders/runtime/JSGlobalThis.h: Removed.
2706         * ForwardingHeaders/runtime/JSProxy.h: Copied from Source/WebCore/ForwardingHeaders/runtime/JSGlobalThis.h.
2707         * bindings/js/JSDOMGlobalObject.cpp:
2708         (WebCore::JSDOMGlobalObject::finishCreation):
2709             - JSGlobalThis -> JSObject
2710         * bindings/js/JSDOMGlobalObject.h:
2711         (JSDOMGlobalObject):
2712             - JSGlobalThis -> JSObject
2713         * bindings/js/JSDOMWindowBase.cpp:
2714         (WebCore):
2715             - Hoist toThisObject up into JSC.
2716         * bindings/js/JSDOMWindowBase.h:
2717         (JSDOMWindowBase):
2718             - Hoist toThisObject up into JSC.
2719         * bindings/js/JSDOMWindowShell.cpp:
2720         (WebCore):
2721             - JSGlobalThis -> JSProxy
2722             - moved JSObject callbacks to JSProxy
2723         * bindings/js/JSDOMWindowShell.h:
2724         (JSDOMWindowShell):
2725             - JSGlobalThis -> JSProxy
2726             - moved JSObject callbacks to JSProxy
2727         (WebCore::JSDOMWindowShell::window):
2728             - unwrappedObject() -> target()
2729         (WebCore::JSDOMWindowShell::setWindow):
2730             - setUnwrappedObject() -> setTarget()
2731         (WebCore::JSDOMWindowShell::createStructure):
2732             - GlobalThisType -> ProxyType
2733
2734 2012-09-26  Andreas Kling  <kling@webkit.org>
2735
2736         4.95MB below RenderBlock::insertIntoTrackedRendererMaps() on Membuster3.
2737         <http://webkit.org/b/97687>
2738
2739         Reviewed by Anders Carlsson.
2740
2741         Give the TrackedRendererListHashSet typedef an inline capacity of 16 (the default is 256.)
2742         Browsing around the web, I saw almost no cases with more than 20 entries in these lists,
2743         and this simple change saves us ~4.68MB on the Membuster3 benchmark.
2744
2745         * rendering/RenderBlock.h:
2746
2747 2012-09-26  Chris Rogers  <crogers@google.com>
2748
2749         DelayNode must take sample-accurate delay times into account
2750         https://bugs.webkit.org/show_bug.cgi?id=97609
2751
2752         Reviewed by Kenneth Russell.
2753
2754         Currently DelayNode simply uses a coarse-grained k-rate smoothing of .delayTime
2755         It should also be capable of supporting audio-rate control of .delayTime
2756
2757         * Modules/webaudio/DelayDSPKernel.cpp:
2758         (WebCore::DelayDSPKernel::DelayDSPKernel):
2759         (WebCore::DelayDSPKernel::process):
2760         * Modules/webaudio/DelayDSPKernel.h:
2761         (DelayDSPKernel):
2762
2763 2012-09-26  Mark Pilgrim  <pilgrim@chromium.org>
2764
2765         [Chromium][Win] Remove ensureFontLoaded from PlatformSupport
2766         https://bugs.webkit.org/show_bug.cgi?id=97696
2767
2768         Reviewed by Adam Barth.
2769
2770         Part of a refactoring series. See tracking bug 82948.
2771
2772         * platform/chromium/PlatformSupport.h:
2773         (PlatformSupport):
2774         * platform/graphics/skia/SkiaFontWin.cpp:
2775         (WebCore::paintSkiaText):
2776
2777 2012-09-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2778
2779         Unreviewed, rolling out r129654.
2780         http://trac.webkit.org/changeset/129654
2781         https://bugs.webkit.org/show_bug.cgi?id=97702
2782
2783         breaks chromium windows build (Requested by schenney on
2784         #webkit).
2785
2786         * CMakeLists.txt:
2787         * GNUmakefile.list.am:
2788         * Modules/mediastream/RTCPeerConnection.cpp:
2789         * Modules/mediastream/RTCPeerConnection.h:
2790         (WebCore):
2791         (RTCPeerConnection):
2792         * Modules/mediastream/RTCPeerConnection.idl:
2793         * Modules/mediastream/RTCStatsCallback.h: Removed.
2794         * Modules/mediastream/RTCStatsCallback.idl: Removed.
2795         * Modules/mediastream/RTCStatsElement.cpp: Removed.
2796         * Modules/mediastream/RTCStatsElement.h: Removed.
2797         * Modules/mediastream/RTCStatsElement.idl: Removed.
2798         * Modules/mediastream/RTCStatsReport.cpp: Removed.
2799         * Modules/mediastream/RTCStatsReport.h: Removed.
2800         * Modules/mediastream/RTCStatsReport.idl: Removed.
2801         * Modules/mediastream/RTCStatsRequestImpl.cpp: Removed.
2802         * Modules/mediastream/RTCStatsRequestImpl.h: Removed.
2803         * Modules/mediastream/RTCStatsResponse.cpp: Removed.
2804         * Modules/mediastream/RTCStatsResponse.h: Removed.
2805         * Modules/mediastream/RTCStatsResponse.idl: Removed.
2806         * WebCore.gypi:
2807         * platform/chromium/support/WebRTCStatsRequest.cpp: Removed.
2808         * platform/mediastream/RTCPeerConnectionHandler.cpp:
2809         (RTCPeerConnectionHandlerDummy):
2810         * platform/mediastream/RTCPeerConnectionHandler.h:
2811         (WebCore):
2812         (RTCPeerConnectionHandler):
2813         * platform/mediastream/RTCStatsRequest.h: Removed.
2814         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
2815         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
2816         (RTCPeerConnectionHandlerChromium):
2817
2818 2012-09-26  Philip Rogers  <pdr@google.com>
2819
2820         Refactor SMILTimeContainer to maintain animation information instead of recalculating it every frame
2821         https://bugs.webkit.org/show_bug.cgi?id=96697
2822
2823         Reviewed by Eric Seidel.
2824
2825         SVGTimeContainer can be improved by maintaining extra information about
2826         animations during schedule/unschedule instead of re-calculating it
2827         every frame.
2828
2829         After this patch, SMILTimeContainer maintains a GroupedAnimationsMap instead of
2830         just a Vector. This map maps a list of animations to the specific ElementAttributePair
2831         that will be animated.
2832
2833         On schedule/unschedule we modify this map instead of creating it in updateAnimations.
2834         As a result, we need to be careful about always notifying (or, re-scheduling) the
2835         time container when either an animation's target changes or an animation's attributeName
2836         changes. This notification is managed by tracking changes with targetElementWillChange
2837         and setAttributeName.
2838
2839         After this patch, updateAnimations only iterates over m_scheduledAnimations.
2840         Furthermore, the sorting of animations by priority is now done over each Vector of
2841         SVGSMILElements affecting a {SVGElement*, QualifiedName} pair instead of over all the
2842         SVGSMILElements at once.
2843
2844         Lastly, a guard (m_preventScheduledAnimationsChanges) has been added
2845         to prove that we do not modify the scheduled animations map out
2846         from under ourselves.
2847
2848         No new tests as this is just a refactoring.
2849
2850         * svg/SVGAnimateElement.cpp:
2851         (WebCore::SVGAnimateElement::hasValidAttributeType):
2852
2853         * svg/SVGAnimateMotionElement.cpp:
2854         (WebCore::SVGAnimateMotionElement::hasValidAttributeName):
2855
2856             Per the spec, AnimateMotion is not affected by attributeName. Instead
2857             of having a special case for this in SMILTimeContainer::updateAnimations
2858             we simply implement this method.
2859
2860         (WebCore):
2861         * svg/SVGAnimateMotionElement.h:
2862         (SVGAnimateMotionElement):
2863         * svg/SVGAnimationElement.cpp:
2864         (WebCore::SVGAnimationElement::updateAnimation):
2865         * svg/animation/SMILTimeContainer.cpp:
2866         (WebCore):
2867         (WebCore::SMILTimeContainer::SMILTimeContainer):
2868         (WebCore::SMILTimeContainer::~SMILTimeContainer):
2869
2870             This method now cleans up the map since we have dynamically allocated
2871             Vectors in it.
2872
2873         (WebCore::SMILTimeContainer::schedule):
2874
2875             Here we are just adding an entry to the map. There is some special handling
2876             for creating the Vector of one does not exist.
2877
2878         (WebCore::SMILTimeContainer::unschedule):
2879         (WebCore::SMILTimeContainer::notifyIntervalsChanged):
2880         (WebCore::SMILTimeContainer::setElapsed):
2881         (WebCore::SMILTimeContainer::startTimer):
2882         (WebCore::SMILTimeContainer::updateAnimations):
2883         * svg/animation/SMILTimeContainer.h:
2884         (WebCore::SMILTimeContainer::create):
2885         (SMILTimeContainer):
2886         * svg/animation/SVGSMILElement.cpp:
2887         (WebCore::SVGSMILElement::~SVGSMILElement):
2888         (WebCore::SVGSMILElement::insertedInto):
2889         (WebCore::SVGSMILElement::removedFrom):
2890         (WebCore):
2891         (WebCore::SVGSMILElement::hasValidAttributeName):
2892         (WebCore::SVGSMILElement::svgAttributeChanged):
2893         (WebCore::SVGSMILElement::setAttributeName):
2894         (WebCore::SVGSMILElement::targetElementWillChange):
2895         (WebCore::SVGSMILElement::resetTargetElement):
2896         (WebCore::SVGSMILElement::resolveFirstInterval):
2897         (WebCore::SVGSMILElement::beginListChanged):
2898         (WebCore::SVGSMILElement::endListChanged):
2899         (WebCore::SVGSMILElement::progress):
2900         * svg/animation/SVGSMILElement.h:
2901         (SVGSMILElement):
2902
2903 2012-09-26  Michael Saboff  <msaboff@apple.com>
2904
2905         Update SVGFontData for 8 bit TextRun changes
2906         https://bugs.webkit.org/show_bug.cgi?id=97379
2907
2908         Reviewed by Geoffrey Garen.
2909
2910         Educated applySVGGlyphSelection to be 8 / 16 bit TextRun aware.
2911
2912         No change in funcitonality, therefore no new tests.
2913
2914         * svg/SVGFontData.cpp:
2915         (WebCore::SVGFontData::applySVGGlyphSelection):
2916
2917 2012-09-26  Michael Saboff  <msaboff@apple.com>
2918
2919         Update ComplexTextController for 8 bit TextRun changes
2920         https://bugs.webkit.org/show_bug.cgi?id=97378
2921
2922         Reviewed by Geoffrey Garen.
2923
2924         Since the ComplextTextController code is primarily used for UChar data, just upconvert an 8 bit
2925         TextRun into a new String and hold on to the String with a vector for the life of the controller.
2926
2927         No change in functionality, therefore no new tests.
2928
2929         * platform/graphics/mac/ComplexTextController.cpp:
2930         (WebCore::ComplexTextController::ComplexTextController):
2931         (WebCore::ComplexTextController::collectComplexTextRuns):
2932         * platform/graphics/mac/ComplexTextController.h:
2933         (ComplexTextController):
2934
2935 2012-09-26  Michael Saboff  <msaboff@apple.com>
2936
2937         Add Latin-1 Line Break Iterator to TextBreakIteratorICU.cpp
2938         https://bugs.webkit.org/show_bug.cgi?id=96935
2939
2940         Reviewed by Geoffrey Garen.
2941
2942         Added a Latin-1 UText implementation for the ICU library to use.  Added a new acquireLineBreakIterator() for
2943         8 bit strings that uses the Latin-1 UText implementation.  This code path is not being called with the current 
2944         ToT code.  Subsequent changes will enable calling the new code.
2945
2946         * platform/text/TextBreakIterator.h:
2947         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
2948         (LazyLineBreakIterator):
2949         (WebCore::LazyLineBreakIterator::string):
2950         (WebCore::LazyLineBreakIterator::get):
2951         (WebCore::LazyLineBreakIterator::reset):
2952         * platform/text/TextBreakIteratorICU.cpp:
2953         (WebCore::uTextLatin1Clone):
2954         (WebCore::uTextLatin1NativeLength):
2955         (WebCore::uTextLatin1Access):
2956         (WebCore::uTextLatin1Extract):
2957         (WebCore::uTextLatin1MapOffsetToNative):
2958         (WebCore::uTextLatin1MapNativeIndexToUTF16):
2959         (WebCore::uTextLatin1Close):
2960         (WebCore::UTextOpenLatin1):
2961         (WebCore::acquireLineBreakIterator):
2962         * rendering/RenderBlockLineLayout.cpp:
2963         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
2964         * rendering/RenderText.cpp:
2965         (WebCore::RenderText::computePreferredLogicalWidths):
2966         * rendering/break_lines.cpp:
2967         (WebCore::nextBreakablePosition):
2968         (WebCore::nextBreakablePositionIgnoringNBSP):
2969
2970 2012-09-26  Otto Derek Cheung  <otcheung@rim.com>
2971
2972         [BlackBerry] Reverting implementation for 407 error pages
2973         https://bugs.webkit.org/show_bug.cgi?id=97455
2974
2975         Reviewed by Rob Buis.
2976
2977         Last fix to NetworkJob to invoke AuthenticationChallenge by resetting 
2978         BlackBerryPlatformSettings's proxy credentials to "" if authentication
2979         failed.
2980
2981         * platform/network/blackberry/NetworkJob.cpp:
2982         (WebCore::NetworkJob::sendRequestWithCredentials):
2983
2984 2012-09-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2985
2986         Reorder Cairo WebCore includes
2987         https://bugs.webkit.org/show_bug.cgi?id=97679
2988
2989         Reviewed by Simon Hausmann.
2990
2991         * platform/graphics/cairo/FontCairo.cpp:
2992         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2993         * platform/graphics/cairo/TransformationMatrixCairo.cpp:
2994         * platform/wx/wxcode/cairo/non-kerned-drawing.cpp:
2995
2996 2012-09-25  Emil A Eklund  <eae@chromium.org>
2997
2998         Change FractionalLayoutUnit denominator to 64 to reduce precision loss when converting to floating point
2999         https://bugs.webkit.org/show_bug.cgi?id=96139
3000
3001         Reviewed by Eric Seidel.
3002
3003         We currently use a denominator of 60 in FractionalLayoutUnit,
3004         this causes a loss of precision when converting to floating
3005         point.
3006         
3007         By changing the denominator to 64 the values can better be
3008         represented as floating point (without loosing any precision for
3009         many values), this in turn allows us to remove the tolerance
3010         hack in the line break logic and avoids problems caused by this
3011         precision for web sites that do their own layout based on
3012         element measurements.
3013
3014         Test: fast/sub-pixel/float-precision.html
3015
3016         * platform/FractionalLayoutUnit.h:
3017         Change denominator to 64.
3018         * rendering/RenderBlockLineLayout.cpp:
3019         (WebCore::LineWidth::fitsOnLine):
3020         Remove epsilon tolerance hack.
3021
3022 2012-09-26  Csaba Osztrogon√°c  <ossy@webkit.org>
3023
3024         [Qt] Unreviewed buildfix after r129647.
3025
3026         * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp: Revert incorrect include reordering.
3027
3028 2012-09-26  Harald Tveit Alvestrand  <harald@alvestrand.no>
3029         
3030         Implement the GetStats interface on PeerConnection
3031         https://bugs.webkit.org/show_bug.cgi?id=95193
3032
3033         Specification:
3034         http://dev.w3.org/2011/webrtc/editor/webrtc-20120920.html
3035
3036         Reviewed by Adam Barth.
3037
3038         The implementation consists of a pure virtual platform object
3039         (RTCStatsRequest) that is implemented in WebCore, and stores
3040         its information in a straightforward data hierarchy.
3041         This patch adds the call path and the storage structures.
3042         It does not add filling in data.
3043
3044         Test: fast/mediastream/RTCPeerConnection-stats.html
3045
3046         * CMakeLists.txt:
3047         * Modules/mediastream/RTCPeerConnection.cpp:
3048         (WebCore::RTCPeerConnection::getStats):
3049         (WebCore):
3050         * Modules/mediastream/RTCPeerConnection.h:
3051         (WebCore):
3052         (RTCPeerConnection):
3053         * Modules/mediastream/RTCPeerConnection.idl:
3054         * Modules/mediastream/RTCStatsCallback.h: Added.
3055         (WebCore):
3056         (RTCStatsCallback):
3057         (WebCore::RTCStatsCallback::~RTCStatsCallback):
3058         * Modules/mediastream/RTCStatsCallback.idl: Added.
3059         * Modules/mediastream/RTCStatsElement.cpp: Added.
3060         (WebCore):
3061         (WebCore::RTCStatsElement::create):
3062         (WebCore::RTCStatsElement::RTCStatsElement):
3063         (WebCore::RTCStatsElement::stat):
3064         * Modules/mediastream/RTCStatsElement.h: Added.
3065         (WebCore):
3066         (RTCStatsElement):
3067         * Modules/mediastream/RTCStatsElement.idl: Added.
3068         * Modules/mediastream/RTCStatsReport.cpp: Added.
3069         (WebCore):
3070         (WebCore::RTCStatsReport::create):
3071         (WebCore::RTCStatsReport::RTCStatsReport):
3072         * Modules/mediastream/RTCStatsReport.h: Added.
3073         (WebCore):
3074         (RTCStatsReport):
3075         (WebCore::RTCStatsReport::local):
3076         (WebCore::RTCStatsReport::remote):
3077         * Modules/mediastream/RTCStatsReport.idl: Added.
3078         * Modules/mediastream/RTCStatsRequestImpl.cpp: Added.
3079         (WebCore):
3080         (WebCore::RTCStatsRequestImpl::create):
3081         (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
3082         (WebCore::RTCStatsRequestImpl::~RTCStatsRequestImpl):
3083         (WebCore::RTCStatsRequestImpl::requestSucceeded):
3084         (WebCore::RTCStatsRequestImpl::stop):
3085         (WebCore::RTCStatsRequestImpl::clear):
3086         * Modules/mediastream/RTCStatsRequestImpl.h: Added.
3087         (WebCore):
3088         (RTCStatsRequestImpl):
3089         * Modules/mediastream/RTCStatsResponse.cpp: Added.
3090         (WebCore):
3091         (WebCore::RTCStatsResponse::create):
3092         (WebCore::RTCStatsResponse::RTCStatsResponse):
3093         * Modules/mediastream/RTCStatsResponse.h: Added.
3094         (WebCore):
3095         (RTCStatsResponse):
3096         (WebCore::RTCStatsResponse::result):
3097         * Modules/mediastream/RTCStatsResponse.idl: Added.
3098         * WebCore.gypi:
3099         * platform/chromium/support/WebRTCStatsRequest.cpp: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h.
3100         (WebKit):
3101         (WebKit::WebRTCStatsRequest::WebRTCStatsRequest):
3102         (WebKit::WebRTCStatsRequest::assign):
3103         (WebKit::WebRTCStatsRequest::reset):
3104         (WebKit::WebRTCStatsRequest::requestSucceeded):
3105         * platform/mediastream/RTCPeerConnectionHandler.h:
3106         (WebCore):
3107         (RTCPeerConnectionHandler):
3108         * platform/mediastream/RTCStatsRequest.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
3109         (WebCore):
3110         (RTCStatsRequest):
3111         (WebCore::RTCStatsRequest::~RTCStatsRequest):
3112         (WebCore::RTCStatsRequest::RTCStatsRequest):
3113         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
3114         (WebCore::RTCPeerConnectionHandlerChromium::getStats):
3115         (WebCore):
3116         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
3117         (RTCPeerConnectionHandlerChromium):
3118
3119 2012-09-26  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3120
3121         [WK2][WTR] Policy client: dumping from decidePolicyForResponse callback
3122         https://bugs.webkit.org/show_bug.cgi?id=97034
3123
3124         Reviewed by Kenneth Rohde Christiansen.
3125
3126         Exported WebCore::ResourceResponseBase::isAttachment() method for MAC port.
3127
3128         No new tests. No functionality added.
3129
3130         * WebCore.exp.in:
3131
3132 2012-09-26  Brady Eidson  <beidson@apple.com>
3133
3134         (Threaded scrolling) WebKit not scrolling to the correct location upon going back on macsurfer.com
3135         <rdar://problem/12039913> and https://bugs.webkit.org/show_bug.cgi?id=97617
3136
3137         Reviewed by Anders Carlsson.
3138
3139         In the asynchronous land of threaded scrolling we lose the information about whether or not a scroll
3140         is programmatic.
3141
3142         This caused all scrolls to be treated as user scrolls and to generated scroll events.
3143
3144         We can fix this by passing the programmatic bit to the scrolling thread and re-applying it back in the main thread.
3145
3146         Unable to test threaded scrolling at this time.
3147
3148         Include the "Is programmatic scroll" bit in the scroll state:
3149         * page/scrolling/ScrollingTreeState.cpp:
3150         (WebCore::ScrollingTreeState::ScrollingTreeState):
3151         (WebCore::ScrollingTreeState::setRequestedScrollPosition): Also set whether or not this represents a programmatic scroll.
3152         * page/scrolling/ScrollingTreeState.h:
3153         (ScrollingTreeState):
3154         (WebCore::ScrollingTreeState::requestedScrollPositionRepresentsProgrammaticScroll):
3155
3156         Pass that bit back to the ScrollingCoordinator:
3157         * page/scrolling/ScrollingTree.cpp:
3158         (WebCore::ScrollingTree::ScrollingTree):
3159         (WebCore::ScrollingTree::commitNewTreeState):
3160         (WebCore::ScrollingTree::updateMainFrameScrollPosition):
3161         * page/scrolling/ScrollingTree.h:
3162
3163         * page/scrolling/ScrollingCoordinator.cpp:
3164         (WebCore::ScrollingCoordinator::requestScrollPositionUpdate): Pass the "is programmatic scroll" bit to the scrolling thread.
3165         (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition): Reset the "is programmatic scroll" bit on the FrameView.
3166         * page/scrolling/ScrollingCoordinator.h:
3167         (ScrollingCoordinator):
3168
3169         * page/FrameView.h:
3170         (FrameView):
3171         (WebCore::FrameView::inProgrammaticScroll): Expose setter/getters for the programmatic scroll flag.
3172         (WebCore::FrameView::setInProgrammaticScroll):
3173
3174 2012-09-26  Martin Robinson  <mrobinson@igalia.com>
3175
3176         [GTK] Use XDamage to simplify RedirectedXCompositeWindow
3177         https://bugs.webkit.org/show_bug.cgi?id=97267
3178
3179         Reviewed by Alejandro G. Castro.
3180
3181         Use XDamage to queue redraws of the widget when redirecting accelerated compositing
3182         to an offscreen window. This allows removing a finicky timer-based approach, improves
3183         performance, and allows simplifying things greatly.
3184
3185         No new tests. This is covered by existing tests.
3186
3187         * GNUmakefile.am: Add the XDamage CFLAGS in the appropriate place.
3188         * platform/gtk/RedirectedXCompositeWindow.cpp:
3189         (WebCore::getWindowHashMap): Added.
3190         (WebCore::filterXDamageEvent): Added.
3191         (WebCore::supportsXDamageAndXComposite): Added.
3192         (WebCore::RedirectedXCompositeWindow::create): Fail to create the window if
3193         the XServer doesn't support XDamage and XComposite.
3194         (WebCore::RedirectedXCompositeWindow::RedirectedXCompositeWindow): Add XDamage support and
3195         remove the m_usable size distinction. Add the window the window HashMap now.
3196         (WebCore::RedirectedXCompositeWindow::~RedirectedXCompositeWindow): Remove the window
3197         from the window HashMap.
3198         (WebCore::RedirectedXCompositeWindow::resize): Now just immediately update the size.
3199         (WebCore::RedirectedXCompositeWindow::callDamageNotifyCallback): Added.
3200         * platform/gtk/RedirectedXCompositeWindow.h:
3201         (WebCore::RedirectedXCompositeWindow::setDamageNotifyCallback): Added.
3202
3203 2012-09-26  Ilya Tikhonovsky  <loislo@chromium.org>
3204
3205         Web Inspector: NMI: replace manual JS external resources counting with MemoryInstrumentation
3206         https://bugs.webkit.org/show_bug.cgi?id=97662
3207
3208         Reviewed by Yury Semikhatsky.
3209
3210         Old schema uses sizeInBytes method on StringImpl. This method works incorrect for substrings.
3211         Also we'd like to know exact pointers to strings and buffers for verification purposes.
3212
3213         * dom/WebCoreMemoryInstrumentation.cpp:
3214         (WebCore):
3215         * dom/WebCoreMemoryInstrumentation.h:
3216         (WebCoreMemoryTypes):
3217         * inspector/InspectorMemoryAgent.cpp:
3218         (MemoryBlockName):
3219         (WebCore):
3220         (WebCore::collectDomTreeInfo):
3221         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
3222
3223 2012-09-26  Vsevolod Vlasov  <vsevik@chromium.org>
3224
3225         Web Inspector: [REGRESSION] Revision support problems: revert and apply original content  cause exceptions
3226         https://bugs.webkit.org/show_bug.cgi?id=97669
3227
3228         Reviewed by Pavel Feldman.
3229
3230         Added missed callback parameters.
3231
3232         Test: inspector/uisourcecode-revisions.html
3233
3234         * inspector/front-end/UISourceCode.js:
3235         (WebInspector.UISourceCode.prototype.revertToOriginal):
3236         (WebInspector.UISourceCode.prototype.revertAndClearHistory):
3237
3238 2012-09-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3239
3240         Reorder Qt WebCore includes
3241         https://bugs.webkit.org/show_bug.cgi?id=97678
3242
3243         Reviewed by Noam Rosenthal.
3244
3245         * bridge/qt/qt_instance.cpp:
3246         * bridge/qt/qt_instance.h:
3247         * bridge/qt/qt_pixmapruntime.cpp:
3248         * bridge/qt/qt_runtime.cpp:
3249         * platform/graphics/qt/FontCacheQt.cpp:
3250         * platform/graphics/qt/FontCustomPlatformData.h:
3251         * platform/graphics/qt/ImageDecoderQt.cpp:
3252         * platform/graphics/qt/ImageDecoderQt.h:
3253         * platform/graphics/qt/PathQt.cpp:
3254         * platform/graphics/qt/TransformationMatrixQt.cpp:
3255         * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
3256         * platform/network/qt/DnsPrefetchHelper.h:
3257         * platform/network/qt/QNetworkReplyHandler.cpp:
3258         * platform/network/qt/ResourceHandleQt.cpp:
3259         * platform/qt/ClipboardQt.cpp:
3260         * platform/qt/GamepadsQt.cpp:
3261         * platform/qt/PasteboardQt.cpp:
3262         * platform/qt/PlatformScreenQt.cpp:
3263         * platform/qt/RenderThemeQt.cpp:
3264         * platform/text/qt/TextBoundariesQt.cpp:
3265         * plugins/qt/PluginPackageQt.cpp:
3266         * plugins/qt/PluginViewQt.cpp:
3267
3268 2012-09-26  Christophe Dumez  <christophe.dumez@intel.com>
3269
3270         [EFL] mediaControlsEflFullscreen.css overrides regular media controls styling
3271         https://bugs.webkit.org/show_bug.cgi?id=97671
3272
3273         Reviewed by Kenneth Rohde Christiansen.
3274
3275         Add missing ":-webkit-full-screen" in mediaControlsEflFullscreen.css so
3276         that regular media controls styling is not overridden by full screen
3277         styling when switching to full screen mode. This was causing a lot of
3278         flakiness in our media tests.
3279
3280         No new tests, already covered by existing media tests.
3281
3282         * css/mediaControlsEflFullscreen.css:
3283         (video:-webkit-full-screen::-webkit-media-controls-panel):
3284         (video:-webkit-full-screen:-webkit-full-page-media::-webkit-media-controls-panel):
3285         (video:-webkit-full-screen::-webkit-media-controls-mute-button):
3286         (video:-webkit-full-screen::-webkit-media-controls-play-button):
3287         (video:-webkit-full-screen::-webkit-media-controls-timeline-container):
3288         (video:-webkit-full-screen::-webkit-media-controls-current-time-display):
3289         (video:-webkit-full-screen::-webkit-media-controls-time-remaining-display):
3290         (video:-webkit-full-screen::-webkit-media-controls-timeline):
3291         (video:-webkit-full-screen::-webkit-media-controls-volume-slider-container):
3292         (video:-webkit-full-screen::-webkit-media-controls-volume-slider):
3293         (video:-webkit-full-screen::-webkit-media-controls-seek-back-button):
3294         (video:-webkit-full-screen::-webkit-media-controls-seek-forward-button):
3295         (video:-webkit-full-screen::-webkit-media-controls-fullscreen-button):
3296         (video:-webkit-full-screen::-webkit-media-controls-rewind-button):
3297         (video:-webkit-full-screen::-webkit-media-controls-return-to-realtime-button):
3298         (video:-webkit-full-screen::-webkit-media-controls-toggle-closed-captions-button):
3299
3300 2012-09-26  Andrey Kosyakov  <caseq@chromium.org>
3301
3302         Web Inspector: display stack of last layout invalidation instead of first one
3303         https://bugs.webkit.org/show_bug.cgi?id=97677
3304
3305         Reviewed by Vsevolod Vlasov.
3306
3307         - add a call to InspectorInstrumentation::didInvalidateLayout() when upgrading relayout root;
3308         - do not suppress timeline's Invalidate Layout records other than first.
3309
3310         * inspector/InspectorTimelineAgent.cpp:
3311         (WebCore::InspectorTimelineAgent::didInvalidateLayout):
3312         * page/FrameView.cpp:
3313         (WebCore::FrameView::scheduleRelayoutOfSubtree):
3314
3315 2012-09-25  Antti Koivisto  <antti@apple.com>
3316
3317         Optimize stylesheet insertions
3318         https://bugs.webkit.org/show_bug.cgi?id=97627
3319
3320         Reviewed by Andreas Kling.
3321
3322         We currently do scope analysis for stylesheets that are added to the end of the active stylesheet list to avoid unnecessary style
3323         recalcs and StyleResolver rebuilding. However it is somewhat common to insert <style> elements dynamically to positions other than last.
3324         In this case we currently simply force full style recalc. We should do scope analysis and partial style recalcs also in these cases.
3325         
3326         PerformanceTests/CSS/StyleSheetInsert.html microbenchmark shows ~20x progression from the patch.
3327
3328         * css/StyleResolver.cpp:
3329         (WebCore::StyleResolver::StyleResolver):
3330         (WebCore::StyleResolver::resetAuthorStyle):
3331         
3332             Add a way to reset author RuleSet without deleting the whole StyleResolver.
3333
3334         (WebCore):
3335         * css/StyleResolver.h:
3336         (StyleResolver):
3337         * dom/DocumentStyleSheetCollection.cpp:
3338         (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
3339         
3340             Check if there have been insertions to the stylesheet list. If so we need to reset
3341             the StyleResolver (to handle rule position changes) but don't need to force full
3342             style recalc. Do scope analysis for inserted stylesheets as well.
3343
3344         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
3345         * dom/DocumentStyleSheetCollection.h:
3346
3347 2012-09-26  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3348
3349         Gesture tap highlighting entire first line
3350         https://bugs.webkit.org/show_bug.cgi?id=97668
3351
3352         Reviewed by Kenneth Rohde Christiansen.
3353
3354         Keep better track if which part is the first, middle or last, and adjust the X-edges accordingly.
3355
3356         * page/GestureTapHighlighter.cpp:
3357
3358 2012-09-26  Vsevolod Vlasov  <vsevik@chromium.org>
3359
3360         Web Inspector: DefaultTextEditor throws exception sometimes.
3361         https://bugs.webkit.org/show_bug.cgi?id=97681
3362
3363         Reviewed by Alexander Pavlov.
3364
3365         Added a check that line number does not exceed text model line count.
3366
3367         * inspector/front-end/DefaultTextEditor.js:
3368         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
3369
3370 2012-09-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3371
3372         [TextureMapper] Remove unused method
3373         https://bugs.webkit.org/show_bug.cgi?id=97675
3374
3375         Reviewed by Simon Hausmann.
3376
3377         * platform/graphics/texmap/TextureMapperGL.h: Remove uidForImage()
3378
3379 2012-09-25  Ilya Tikhonovsky  <loislo@chromium.org>
3380
3381         Web Inspector: extract HashSet instrumentation from core NMI code and put it into MemoryInstrumentationHashSet.h
3382         https://bugs.webkit.org/show_bug.cgi?id=97198
3383
3384         Reviewed by Yury Semikhatsky.
3385
3386         Current implementation has overloads for HashSet.
3387         This prevents us from instrumenting complex cases like Vector<HashSet<...> >.
3388
3389         * css/CSSCursorImageValue.cpp:
3390         (WebCore::CSSCursorImageValue::reportDescendantMemoryUsage):
3391         * css/StyleResolver.cpp:
3392         (WebCore::StyleResolver::Features::reportMemoryUsage):
3393         (WebCore::StyleResolver::collectMatchingRulesForList):
3394         * dom/Document.cpp:
3395         (WebCore::Document::reportMemoryUsage):
3396         * dom/DocumentEventQueue.cpp:
3397         (WebCore::DocumentEventQueue::reportMemoryUsage):
3398         * loader/DocumentLoader.cpp:
3399         (WebCore::DocumentLoader::reportMemoryUsage):
3400         * loader/FrameLoader.cpp:
3401         (WebCore::FrameLoader::reportMemoryUsage):
3402         * loader/cache/CachedResource.cpp:
3403         (WebCore::CachedResource::reportMemoryUsage):
3404         * loader/cache/CachedResourceLoader.cpp:
3405         (WebCore::CachedResourceLoader::reportMemoryUsage):
3406
3407 2012-09-26  Dominik R√∂ttsches  <dominik.rottsches@intel.com>
3408
3409         [soup] Obey setTimeoutInterval in soup backend
3410         https://bugs.webkit.org/show_bug.cgi?id=94796
3411
3412         Reviewed by Gustavo Noronha Silva.
3413
3414         Implementing ResourceHandle's setTimeoutInterval support for the soup backend.
3415         This is preparatory work for bug 74802, timeout support for XHR2. The patch
3416         has been successfully tested in combination with my work-in-progress
3417         for that bug.
3418
3419         No new tests yet, tests will be added with the patch in bug 74802.
3420
3421         * platform/network/ResourceHandleInternal.h:
3422         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Adding a timeout source.
3423         (ResourceHandleInternal):
3424         * platform/network/soup/ResourceHandleSoup.cpp:
3425         (WebCore):
3426         (WebCore::cleanupSoupRequestOperation): Resetting the timer.
3427         (WebCore::sendRequestCallback): Stopping the timer.
3428         (WebCore::startHTTPRequest): Starting a timeout timer before the async request.
3429         (WebCore::ResourceHandle::platformSetDefersLoading): Starting a timeout timer before the async request.
3430         (WebCore::requestTimeoutCallback): Preparing a corresponding resource error and notifying clients of failure.
3431         (WebCore::startNonHTTPRequest): Starting a timeout timer before the async request.
3432
3433 2012-09-26  Andrey Kosyakov  <caseq@chromium.org>
3434
3435         Web Inspector: paint inspector overlay on a transparency layer
3436         https://bugs.webkit.org/show_bug.cgi?id=97659
3437
3438         Reviewed by Pavel Feldman.
3439
3440         Set composite operation to copy and begin transparency layer before painting the
3441             frame view of overlay page, so that text on transparent background is properly rendered.
3442
3443         * inspector/InspectorOverlay.cpp:
3444         (WebCore::InspectorOverlay::paint):
3445
3446 2012-09-26  Marcelo Lira  <marcelo.lira@openbossa.org>
3447
3448         [Qt] Make use of ASCIILiteral in PlatformKeyboardEventQt.cpp
3449         https://bugs.webkit.org/show_bug.cgi?id=97612
3450
3451         Reviewed by Jocelyn Turcotte.
3452
3453         String literals returned by keyIdentifierForQtKeyCode and
3454         keyTextForKeyEvent now make use of more efficient ASCIILiteral.
3455
3456         * platform/qt/PlatformKeyboardEventQt.cpp:
3457         (WebCore::keyIdentifierForQtKeyCode):
3458         (WebCore::keyTextForKeyEvent):
3459