d30f94d4b06f232517c0cba8b4c4ae850a290e26
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-22  Bear Travis  <betravis@adobe.com>
2
3         Not correctly recalculating layout for elements within nested SVG elements
4         https://bugs.webkit.org/show_bug.cgi?id=77535
5
6         Reviewed by Dirk Schulze.
7
8         Relatively positioned text is not correctly updating its position when the
9         size of its nearest viewport changes. Updating to mark text for layout when
10         viewPort size changes.
11         
12         Test: svg/repaint/inner-svg-change-viewPort-relative.svg
13
14         * rendering/svg/SVGRenderSupport.cpp:
15         (WebCore::SVGRenderSupport::layoutChildren):
16
17 2012-02-22  Alexei Svitkine  <asvitkine@chromium.org>
18
19         [chromium] Fix remaining compositing/rubberbanding test failures
20         https://bugs.webkit.org/show_bug.cgi?id=78008
21
22         These were happening due to the fact that ScrollView wasn't updating
23         the overhang layer when the contentsSize was updated. This is necessary
24         because calculateOverhangAreasForPainting() takes the contentsSize into
25         account when determining whether the overhang areas are visible.
26
27         Reviewed by James Robinson.
28
29         Re-enabled the following tests with updated baselines:
30         * platform/chromium/compositing/rubberbanding/transform-overhang-e-expected.png:
31         * platform/chromium/compositing/rubberbanding/transform-overhang-s-expected.png:
32         * platform/chromium/compositing/rubberbanding/transform-overhang-se-expected.png:
33         * platform/chromium/test_expectations.txt:
34
35         * platform/ScrollView.cpp:
36         (WebCore::ScrollView::setContentsSize):
37         (WebCore::ScrollView::scrollContents):
38         (WebCore::ScrollView::updateOverhangAreas):
39         (WebCore):
40         * platform/ScrollView.h:
41         (ScrollView):
42
43 2012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>
44
45         Web Inspector: [Regression] network worker tests crash on qt.
46         https://bugs.webkit.org/show_bug.cgi?id=79263
47
48         Reviewed by Pavel Feldman.
49
50         * inspector/InspectorPageAgent.cpp:
51         (WebCore::InspectorPageAgent::createDecoder):
52         (WebCore::InspectorPageAgent::cachedResourceContent):
53
54 2012-02-22  Adrienne Walker  <enne@google.com>
55
56         Unreviewed, rolling out r108518.
57         http://trac.webkit.org/changeset/108518
58         https://bugs.webkit.org/show_bug.cgi?id=75864
59
60         Breaks surfaceOcclusionWithOverlappingSiblingSurfaces unit test.
61
62         * WebCore.gypi:
63         * platform/graphics/chromium/cc/CCLayerIterator.cpp:
64         (WebCore):
65         (WebCore::CCLayerIteratorActions::BackToFront::begin):
66         (WebCore::CCLayerIteratorActions::BackToFront::end):
67         (WebCore::CCLayerIteratorActions::BackToFront::next):
68         (WebCore::CCLayerIteratorActions::FrontToBack::begin):
69         (WebCore::CCLayerIteratorActions::FrontToBack::end):
70         (WebCore::CCLayerIteratorActions::FrontToBack::next):
71         (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
72         * platform/graphics/chromium/cc/CCLayerIterator.h:
73         (WebCore):
74         (WebCore::CCLayerIterator::CCLayerIterator):
75         (WebCore::CCLayerIterator::operator++):
76         (WebCore::CCLayerIterator::operator==):
77         (WebCore::CCLayerIterator::operator->):
78         (WebCore::CCLayerIterator::operator*):
79         (WebCore::CCLayerIterator::representsTargetRenderSurface):
80         (WebCore::CCLayerIterator::representsContributingRenderSurface):
81         (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
82         (CCLayerIterator):
83         (BackToFront):
84         (FrontToBack):
85         * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Added.
86         (WebCore):
87         (CCLayerIteratorPositionValue):
88         (WebCore::CCLayerIteratorPosition::CCLayerIteratorPosition):
89         (CCLayerIteratorPosition):
90         (WebCore::CCLayerIteratorPosition::currentLayer):
91         (WebCore::CCLayerIteratorPosition::currentLayerRepresentsContributingRenderSurface):
92         (WebCore::CCLayerIteratorPosition::currentLayerRepresentsTargetRenderSurface):
93         (WebCore::CCLayerIteratorPosition::targetRenderSurfaceLayer):
94         (WebCore::CCLayerIteratorPosition::targetRenderSurface):
95         (WebCore::CCLayerIteratorPosition::targetRenderSurfaceChildren):
96         (WebCore::CCLayerIteratorPosition::operator==):
97
98 2012-02-22  Dan Bernstein  <mitz@apple.com>
99
100         REGRESSION (r62632): page-break-inside: avoid is ignored
101         https://bugs.webkit.org/show_bug.cgi?id=79262
102
103         Reviewed by Adele Peterson.
104
105         This was disabled in r62632 because of <http://webkit.org/b/41532>. Changes to the
106         pagination code since then have invalidated that bug, so enabling the feature again does not
107         re-introduce the bug.
108
109         Updated expected results for printing/page-break-inside-avoid.html.
110
111         * rendering/RenderBlock.cpp:
112         (WebCore::RenderBlock::adjustForUnsplittableChild):
113
114 2012-02-22  Philippe Normand  <pnormand@igalia.com>
115
116         [GStreamer] webkitwebsrc: use HTTP referer provided by MediaPlayer
117         https://bugs.webkit.org/show_bug.cgi?id=79236
118
119         Reviewed by Martin Robinson.
120
121         Store a pointer to the MediaPlayer object in the private structure
122         of the WebKitWebSrc element so we can call its public methods,
123         like ::referrer().
124
125         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
126         (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
127         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
128         (_WebKitWebSrcPrivate):
129         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:
130
131 2012-02-22  Martin Robinson  <mrobinson@igalia.com>
132
133         [GTK] Clean build is broken when using make -j
134         https://bugs.webkit.org/show_bug.cgi?id=76388
135
136         No new tests. This is just a build fix.
137
138         Use order-only dependencies to ensure that built sources are built before
139         files that depend on them.
140
141         * GNUmakefile.am: Establish an order-only dependency on some built sources before starting
142         to build non-generated sources. Rename some temporary files and variables to be more consistent.
143         * bindings/gobject/GNUmakefile.am: Updated to reflect new variable names.
144
145 2012-02-22  Dana Jansens  <danakj@chromium.org>
146
147         [Chromium] New CCOcclusionTracker class with tests
148         https://bugs.webkit.org/show_bug.cgi?id=78549
149
150         Reviewed by James Robinson.
151
152         Adds a CCOcclusionTrackerBase template class that is able to track occlusion
153         of layers while traversing the layer tree from front-to-back, with typedefed
154         versions for the main and impl threads.
155
156         At each step of the front-to-back traversal, the class should be notified of
157         changes to the current render target, and when done working with a layer, the
158         layer is added the tracked occlusion.
159
160         The class provides tests for checking if a rect in content space
161         for a layer/surface is occluded by others in front of it.
162
163         Unit tests: CCOcclusionTrackerTest.cpp
164
165         * WebCore.gypi:
166         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added.
167         (WebCore):
168         (WebCore::::enterTargetRenderSurface):
169         (WebCore::::finishedTargetRenderSurface):
170         (WebCore::transformSurfaceOpaqueRegion):
171         (WebCore::::leaveToTargetRenderSurface):
172         (WebCore::contentToScreenSpaceTransform):
173         (WebCore::contentToTargetSurfaceTransform):
174         (WebCore::computeOcclusionBehindLayer):
175         (WebCore::::markOccludedBehindLayer):
176         (WebCore::testContentRectOccluded):
177         (WebCore::::occluded):
178         (WebCore::::surfaceOccluded):
179         (WebCore::rectSubtractRegion):
180         (WebCore::computeUnoccludedContentRect):
181         (WebCore::::unoccludedContentRect):
182         (WebCore::::surfaceUnoccludedContentRect):
183         (WebCore::::currentOcclusionInScreenSpace):
184         (WebCore::::currentOcclusionInTargetSurface):
185         * platform/graphics/chromium/cc/CCOcclusionTracker.h: Added.
186         (WebCore):
187         (CCOcclusionTrackerBase):
188         (WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase):
189         (StackObject):
190
191 2012-02-22  Joshua Bell  <jsbell@chromium.org>
192
193         [Chromium] IndexedDB: Integrate with about:tracing
194         https://bugs.webkit.org/show_bug.cgi?id=78831
195
196         Annotate interesting IDB functions so they show up in the
197         tracing utility included in the Chromium port.
198
199         Reviewed by Tony Chang.
200
201         * WebCore.gypi:
202         * WebCore.xcodeproj/project.pbxproj:
203         * bindings/v8/IDBBindingUtilities.cpp:
204         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
205         (WebCore::injectIDBKeyIntoSerializedValue):
206         * storage/IDBCursor.cpp:
207         (WebCore::IDBCursor::direction):
208         (WebCore::IDBCursor::key):
209         (WebCore::IDBCursor::primaryKey):
210         (WebCore::IDBCursor::value):
211         (WebCore::IDBCursor::update):
212         (WebCore::IDBCursor::continueFunction):
213         (WebCore::IDBCursor::deleteFunction):
214         * storage/IDBCursorBackendImpl.cpp:
215         (WebCore::IDBCursorBackendImpl::direction):
216         (WebCore::IDBCursorBackendImpl::key):
217         (WebCore::IDBCursorBackendImpl::primaryKey):
218         (WebCore::IDBCursorBackendImpl::value):
219         (WebCore::IDBCursorBackendImpl::update):
220         (WebCore::IDBCursorBackendImpl::continueFunction):
221         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
222         (WebCore::IDBCursorBackendImpl::deleteFunction):
223         (WebCore::IDBCursorBackendImpl::prefetchContinue):
224         (WebCore::IDBCursorBackendImpl::prefetchContinueInternal):
225         (WebCore::IDBCursorBackendImpl::prefetchReset):
226         (WebCore::IDBCursorBackendImpl::close):
227         * storage/IDBDatabase.cpp:
228         (WebCore::IDBDatabase::dispatchEvent):
229         * storage/IDBIndex.cpp:
230         (WebCore::IDBIndex::openCursor):
231         (WebCore::IDBIndex::count):
232         (WebCore::IDBIndex::openKeyCursor):
233         (WebCore::IDBIndex::get):
234         (WebCore::IDBIndex::getKey):
235         * storage/IDBIndexBackendImpl.cpp:
236         (WebCore::IDBIndexBackendImpl::openCursorInternal):
237         (WebCore::IDBIndexBackendImpl::openCursor):
238         (WebCore::IDBIndexBackendImpl::openKeyCursor):
239         (WebCore::IDBIndexBackendImpl::countInternal):
240         (WebCore::IDBIndexBackendImpl::count):
241         (WebCore::IDBIndexBackendImpl::getInternal):
242         (WebCore::IDBIndexBackendImpl::get):
243         (WebCore::IDBIndexBackendImpl::getKey):
244         * storage/IDBObjectStore.cpp:
245         (WebCore::IDBObjectStore::name):
246         (WebCore::IDBObjectStore::keyPath):
247         (WebCore::IDBObjectStore::indexNames):
248         (WebCore::IDBObjectStore::transaction):
249         (WebCore::IDBObjectStore::get):
250         (WebCore::IDBObjectStore::add):
251         (WebCore::IDBObjectStore::put):
252         (WebCore::IDBObjectStore::deleteFunction):
253         (WebCore::IDBObjectStore::clear):
254         (WebCore::IDBObjectStore::createIndex):
255         (WebCore::IDBObjectStore::index):
256         (WebCore::IDBObjectStore::openCursor):
257         (WebCore::IDBObjectStore::count):
258         * storage/IDBObjectStoreBackendImpl.cpp:
259         (WebCore::IDBObjectStoreBackendImpl::get):
260         (WebCore::IDBObjectStoreBackendImpl::getInternal):
261         (WebCore::fetchKeyFromKeyPath):
262         (WebCore::injectKeyIntoKeyPath):
263         (WebCore::IDBObjectStoreBackendImpl::put):
264         (WebCore::IDBObjectStoreBackendImpl::putInternal):
265         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
266         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
267         (WebCore::IDBObjectStoreBackendImpl::clear):
268         (WebCore::IDBObjectStoreBackendImpl::openCursor):
269         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
270         (WebCore::IDBObjectStoreBackendImpl::count):
271         (WebCore::IDBObjectStoreBackendImpl::countInternal):
272         * storage/IDBRequest.cpp:
273         (WebCore::IDBRequest::onSuccess):
274         (WebCore::IDBRequest::onSuccessWithContinuation):
275         (WebCore::IDBRequest::dispatchEvent):
276         * storage/IDBTracing.h: Added.
277         * storage/IDBTransaction.cpp:
278         (WebCore::IDBTransaction::dispatchEvent):
279         * storage/IDBTransactionBackendImpl.cpp:
280         (WebCore::IDBTransactionBackendImpl::abort):
281         (WebCore::IDBTransactionBackendImpl::commit):
282         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
283         (WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
284
285 2012-02-22  Dana Jansens  <danakj@chromium.org>
286
287         [chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class.
288         https://bugs.webkit.org/show_bug.cgi?id=75864
289
290         Reviewed by James Robinson.
291
292         * platform/graphics/chromium/cc/CCLayerIterator.cpp:
293         (WebCore::CCLayerIteratorActions::BackToFront::begin):
294         (WebCore::CCLayerIteratorActions::BackToFront::end):
295         (WebCore::CCLayerIteratorActions::BackToFront::next):
296         (WebCore::CCLayerIteratorActions::FrontToBack::begin):
297         (WebCore::CCLayerIteratorActions::FrontToBack::end):
298         (WebCore::CCLayerIteratorActions::FrontToBack::next):
299         (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
300         * platform/graphics/chromium/cc/CCLayerIterator.h:
301         (WebCore::CCLayerIterator::CCLayerIterator):
302         (WebCore::CCLayerIterator::operator++):
303         (WebCore::CCLayerIterator::operator==):
304         (WebCore::CCLayerIterator::operator->):
305         (WebCore::CCLayerIterator::operator*):
306         (WebCore::CCLayerIterator::representsTargetRenderSurface):
307         (WebCore::CCLayerIterator::representsContributingRenderSurface):
308         (WebCore::CCLayerIterator::currentLayer):
309         (WebCore::CCLayerIterator::currentLayerRepresentsContributingRenderSurface):
310         (WebCore::CCLayerIterator::currentLayerRepresentsTargetRenderSurface):
311         (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
312         (WebCore::CCLayerIterator::targetRenderSurface):
313         (WebCore::CCLayerIterator::targetRenderSurfaceChildren):
314         * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed.
315
316 2012-02-22  Pavel Feldman  <pfeldman@google.com>
317
318         Web Inspector: console doesn't show properly arrays from which tail values have been deleted
319         https://bugs.webkit.org/show_bug.cgi?id=79242
320
321         Reviewed by Yury Semikhatsky.
322
323         * English.lproj/localizedStrings.js:
324         * inspector/front-end/ConsoleMessage.js:
325         (WebInspector.ConsoleMessageImpl.prototype._printArray.appendUndefined):
326         (WebInspector.ConsoleMessageImpl.prototype._printArray):
327
328 2012-02-22  Pavel Feldman  <pfeldman@google.com>
329
330         Web Inspector: warning external font mime (font/font/woff).
331         https://bugs.webkit.org/show_bug.cgi?id=79244
332
333         Reviewed by Yury Semikhatsky.
334
335         * inspector/front-end/Resource.js:
336
337 2012-02-22  Yury Semikhatsky  <yurys@chromium.org>
338
339         Web Inspector: use dots as markers on the counter graphs
340         https://bugs.webkit.org/show_bug.cgi?id=79243
341
342         Changed counter graphs marker and counter text styles.
343
344         Reviewed by Pavel Feldman.
345
346         * English.lproj/localizedStrings.js:
347         * inspector/front-end/MemoryStatistics.js:
348         (WebInspector.MemoryStatistics):
349         (WebInspector.MemoryStatistics.prototype._createCounterSidebarElement):
350         (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
351         (WebInspector.MemoryStatistics.prototype._draw):
352         (WebInspector.MemoryStatistics.prototype._onMouseOut):
353         (WebInspector.MemoryStatistics.prototype._onMouseOver):
354         (WebInspector.MemoryStatistics.prototype._onMouseMove):
355         (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
356         (WebInspector.MemoryStatistics.prototype._recordIndexAt):
357         (WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
358         (WebInspector.MemoryStatistics.prototype._clearMarkers):
359         (WebInspector.MemoryStatistics.prototype._saveImageUnderMarker):
360         (WebInspector.MemoryStatistics.prototype.refresh):
361         (WebInspector.MemoryStatistics.prototype._drawPolyline):
362         (WebInspector.MemoryStatistics.prototype._clear):
363         * inspector/front-end/timelinePanel.css:
364         (.memory-counter-sidebar-info):
365         (.memory-counter-sidebar-info .title):
366         (.memory-counter-sidebar-info .counter-value):
367
368 2012-02-22  Pavel Feldman  <pfeldman@google.com>
369
370         Web Inspector: make 'glue asynchronous events' optional.
371         https://bugs.webkit.org/show_bug.cgi?id=79240
372
373         Reviewed by Yury Semikhatsky.
374
375         * English.lproj/localizedStrings.js:
376         * inspector/front-end/Images/statusbarButtonGlyphs.png:
377         * inspector/front-end/TimelinePanel.js:
378         (WebInspector.TimelinePanel.prototype.get statusBarItems):
379         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
380         (WebInspector.TimelinePanel.prototype._glueParentButtonClicked):
381         (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
382         (WebInspector.TimelinePanel.prototype._repopulateRecords):
383         (WebInspector.TimelinePanel.prototype._findParentRecord):
384         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
385         (WebInspector.TimelinePanel.prototype.sidebarResized):
386         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
387         (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
388         (WebInspector.TimelineRecordGraphRow):
389         (WebInspector.TimelineRecordGraphRow.prototype.update):
390         (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
391         * inspector/front-end/timelinePanel.css:
392         (.glue-async-status-bar-item .glyph):
393         (.timeline-start-at-zero-status-bar-item .glyph):
394
395 2012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>
396
397         Web Inspector: [REGRESSION] Console xhr logging is broken for async xhrs since r107672.
398         https://bugs.webkit.org/show_bug.cgi?id=79229
399
400         Reviewed by Pavel Feldman.
401
402         Test: http/tests/inspector/console-xhr-logging-async.html
403
404         * inspector/InspectorResourceAgent.cpp:
405         (WebCore::InspectorResourceAgent::setInitialScriptContent):
406         * xml/XMLHttpRequest.cpp:
407         (WebCore::XMLHttpRequest::didFinishLoading):
408
409 2012-02-22  Andrey Kosyakov  <caseq@chromium.org>
410
411         Web Inspector: fix memory counters and start-at-zero modes of timeline panels to co-exist nicely
412         https://bugs.webkit.org/show_bug.cgi?id=79241
413
414         Reviewed by Yury Semikhatsky.
415
416         * inspector/front-end/MemoryStatistics.js:
417         (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
418         * inspector/front-end/TimelineOverviewPane.js:
419         (WebInspector.TimelineOverviewPane):
420         (WebInspector.TimelineOverviewPane.prototype._showTimelines):
421         (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
422         (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
423         (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
424         * inspector/front-end/TimelinePanel.js:
425         (WebInspector.TimelinePanel.prototype._timelinesOverviewModeChanged):
426
427 2012-02-22  Andrey Kosyakov  <caseq@chromium.org>
428
429         Web Inspector: [experimental] add a mode to display timeline events aligned by the start time
430         https://bugs.webkit.org/show_bug.cgi?id=79123
431
432         Reviewed by Pavel Feldman.
433
434         * inspector/front-end/Images/statusbarButtonGlyphs.png:
435         * inspector/front-end/Settings.js:
436         (WebInspector.ExperimentsSettings):
437         * inspector/front-end/TimelineOverviewPane.js:
438         (WebInspector.TimelineOverviewPane):
439         (WebInspector.TimelineOverviewPane.prototype._showTimelines):
440         (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
441         (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
442         (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
443         (WebInspector.TimelineOverviewPane.prototype.update):
444         (WebInspector.TimelineOverviewPane.prototype.reset):
445         (WebInspector.TimelineOverviewWindow):
446         (WebInspector.TimelineOverviewWindow.prototype.reset):
447         (WebInspector.TimelineOverviewWindow.prototype._setWindowPosition):
448         (WebInspector.TimelineOverviewWindow.prototype.scrollWindow):
449         (WebInspector.TimelineStartAtZeroOverview):
450         (WebInspector.TimelineStartAtZeroOverview.prototype.reset):
451         (WebInspector.TimelineStartAtZeroOverview.prototype.update):
452         (WebInspector.TimelineStartAtZeroOverview.prototype._filterRecords):
453         (WebInspector.TimelineStartAtZeroOverview.prototype._buildBar):
454         (WebInspector.TimelineStartAtZeroOverview.prototype._onWindowChanged):
455         * inspector/front-end/TimelinePanel.js:
456         (WebInspector.TimelinePanel.prototype.get statusBarItems):
457         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
458         (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
459         (WebInspector.TimelinePanel.prototype.get _startAtZero):
460         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
461         (WebInspector.TimelinePanel.prototype.sidebarResized):
462         (WebInspector.TimelinePanel.prototype._onRecordsCleared):
463         (WebInspector.TimelinePanel.prototype._resetPanel):
464         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
465         (WebInspector.TimelinePanel.prototype._refresh):
466         (WebInspector.TimelinePanel.prototype._filterRecords):
467         (WebInspector.TimelinePanel.prototype._refreshRecords):
468         (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
469         (WebInspector.TimelineStartAtZeroCalculator):
470         (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphPercentages):
471         (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphWindowPosition):
472         (WebInspector.TimelineStartAtZeroCalculator.prototype.calculateWindow):
473         (WebInspector.TimelineStartAtZeroCalculator.prototype.reset):
474         (WebInspector.TimelineStartAtZeroCalculator.prototype.updateBoundaries):
475         (WebInspector.TimelineStartAtZeroCalculator.prototype.formatValue):
476         (WebInspector.TimelinePanel.FormattedRecord):
477         (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
478         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
479         (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
480         (WebInspector.TimelinePanel.FormattedRecord.prototype.get aggregatedStats):
481         (WebInspector.TimelineModel.prototype.get records):
482         (WebInspector.TimelinePresentationModel):
483         (WebInspector.TimelinePresentationModel.prototype.reset):
484         (WebInspector.TimelinePresentationModel.prototype.setWindowIndices):
485         (WebInspector.TimelineRecordFilter):
486         (WebInspector.TimelineRecordFilter.prototype.accept):
487         (WebInspector.TimelineStartAtZeroRecordFilter):
488         (WebInspector.TimelineStartAtZeroRecordFilter.prototype.accept):
489         * inspector/front-end/timelinePanel.css:
490         (.timeline-start-at-zero #timeline-overview-sidebar):
491         (.timeline-start-at-zero #timeline-overview-grid):
492         (.timeline-overview-window):
493         (.timeline-start-at-zero .timeline-overview-window):
494         (.timeline-start-at-zero .timeline-overview-dividers-background):
495         (.timeline-overview-window-rulers):
496         (.timeline-start-at-zero #timeline-overview-memory):
497         (.popover .timeline-loading):
498         (.popover .timeline-scripting):
499         (.popover .timeline-rendering):
500         (.timeline-start-at-zero-status-bar-item .glyph):
501         (.timeline-start-at-zero-status-bar-item.toggled-on .glyph):
502         (.timeline-overview-start-at-zero):
503         (.timeline-overview-start-at-zero-bars):
504         (.timeline-overview-start-at-zero-bars .padding):
505         (.timeline-overview-start-at-zero-bars .timeline-bar-vertical):
506         (.timeline-bar-vertical div:first-child):
507         (.timeline-bar-vertical .timeline-loading):
508         (.timeline-bar-vertical .timeline-scripting):
509         (.timeline-bar-vertical .timeline-rendering):
510
511 2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
512
513         [Qt] Disregard previous backing store as soon as possible
514         https://bugs.webkit.org/show_bug.cgi?id=79232
515
516         Reviewed by Simon Hausmann and No'am Rosenthal.
517
518         Make it possible to drop non-visible tiles and to test
519         if the current visible rect is fully covered.
520
521         * platform/graphics/TiledBackingStore.cpp:
522         (WebCore::TiledBackingStore::visibleContentsRect):
523         (WebCore::TiledBackingStore::coverageRatio):
524         (WebCore::TiledBackingStore::visibleAreaIsCovered):
525         (WebCore):
526         (WebCore::TiledBackingStore::createTiles):
527         (WebCore::TiledBackingStore::removeAllNonVisibleTiles):
528         * platform/graphics/TiledBackingStore.h:
529         (TiledBackingStore):
530
531 2012-02-22  Simon Hausmann  <simon.hausmann@nokia.com>
532
533         [Qt] Move QMenu dependant scrollbar context menu handling out of WebCore
534         https://bugs.webkit.org/show_bug.cgi?id=79233
535
536         Reviewed by Kenneth Rohde Christiansen.
537
538         Move the code into WebKit/qt/Api/qwebpage.cpp, the only place where it is called from.
539
540         * Target.pri: Remove ScrollbarQt.cpp from build.
541         * platform/Scrollbar.h: Remove Qt-only context menu handling but make moveThum
542         accessible from the outside.
543         * platform/qt/ScrollbarQt.cpp: Removed. Not needed anymore.
544
545 2012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>
546
547         Web Inspector: retrieving content for some XHR requests crashes inspected page renderer
548         https://bugs.webkit.org/show_bug.cgi?id=79026
549
550         Reviewed by Pavel Feldman.
551
552         Fixed loading empty xhr content and xhr content decoding that was
553         broken in r107672.
554
555         Tests: http/tests/inspector/network/network-cyrillic-xhr.html
556                http/tests/inspector/network/network-empty-xhr.html
557
558         * inspector/InspectorPageAgent.cpp:
559         (WebCore):
560         (WebCore::InspectorPageAgent::createDecoder):
561         (WebCore::InspectorPageAgent::cachedResourceContent):
562         * inspector/InspectorPageAgent.h:
563         (WebCore):
564         * inspector/NetworkResourcesData.cpp:
565         (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
566         (WebCore::NetworkResourcesData::responseReceived):
567         * inspector/NetworkResourcesData.h:
568         (WebCore::NetworkResourcesData::ResourceData::decoder):
569         (WebCore::NetworkResourcesData::ResourceData::setDecoder):
570
571 2012-02-22  Peter Rybin  <peter.rybin@gmail.com>
572
573         Web Inspector: CodeGeneratorInspector.py: remove neural-net-style constructions
574         https://bugs.webkit.org/show_bug.cgi?id=79153
575
576         Reviewed by Yury Semikhatsky.
577
578         CParamType class removed completely, some ("virtual") methods are
579         removed. TypeModel notion is added instead with some minor helper
580         classes and methods.
581
582         * inspector/CodeGeneratorInspector.py:
583         (DomainNameFixes):
584         (RawTypes.BaseType):
585         (RawTypes.String):
586         (RawTypes.String.get_raw_type_model):
587         (RawTypes.Int):
588         (RawTypes.Int.get_raw_type_model):
589         (RawTypes.Number):
590         (RawTypes.Number.get_raw_type_model):
591         (RawTypes.Bool):
592         (RawTypes.Bool.get_raw_type_model):
593         (RawTypes.Object):
594         (RawTypes.Object.get_raw_type_model):
595         (RawTypes.Any):
596         (RawTypes.Any.get_raw_type_model):
597         (RawTypes.Array):
598         (RawTypes.Array.get_raw_type_model):
599         (replace_right_shift):
600         (CommandReturnPassModel):
601         (CommandReturnPassModel.ByReference):
602         (CommandReturnPassModel.ByReference.__init__):
603         (CommandReturnPassModel.ByReference.get_return_var_type):
604         (CommandReturnPassModel.get_output_argument_prefix):
605         (CommandReturnPassModel.get_output_to_raw_expression):
606         (CommandReturnPassModel.get_output_parameter_type):
607         (CommandReturnPassModel.get_set_return_condition):
608         (CommandReturnPassModel.ByPointer):
609         (CommandReturnPassModel.ByPointer.__init__):
610         (CommandReturnPassModel.ByPointer.get_return_var_type):
611         (TypeModel):
612         (TypeModel.RefPtrBased):
613         (TypeModel.RefPtrBased.__init__):
614         (TypeModel.RefPtrBased.get_optional):
615         (TypeModel.RefPtrBased.get_command_return_pass_model):
616         (TypeModel.RefPtrBased.get_input_param_type_text):
617         (TypeModel.RefPtrBased.get_event_setter_expression_pattern):
618         (TypeModel.Enum):
619         (TypeModel.Enum.__init__):
620         (TypeModel.Enum.get_optional):
621         (TypeModel.Enum.get_optional.EnumOptional):
622         (TypeModel.Enum.get_optional.EnumOptional.get_optional):
623         (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
624         (TypeModel.Enum.get_input_param_type_text):
625         (TypeModel.Enum.get_event_setter_expression_pattern):
626         (TypeModel.Enum.get_command_return_pass_model):
627         (TypeModel.ValueType):
628         (TypeModel.ValueType.__init__):
629         (TypeModel.ValueType.get_optional):
630         (TypeModel.ValueType.get_command_return_pass_model):
631         (TypeModel.ValueType.get_input_param_type_text):
632         (TypeModel.ValueType.get_event_setter_expression_pattern):
633         (TypeModel.ValueType.ValueOptional):
634         (TypeModel.ValueType.ValueOptional.__init__):
635         (TypeModel.ValueType.ValueOptional.get_optional):
636         (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
637         (TypeModel.ValueType.ValueOptional.get_input_param_type_text):
638         (TypeModel.ValueType.ValueOptional.get_event_setter_expression_pattern):
639         (TypeModel.init_class):
640         (TypeBindings.create_ad_hoc_type_declaration.Helper):
641         (TypeBindings.create_type_declaration_.EnumBinding.get_array_item_c_type_text):
642         (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
643         (TypeBindings.create_type_declaration_.EnumBinding):
644         (TypeBindings.create_type_declaration_.EnumBinding.get_type_model):
645         (TypeBindings.create_type_declaration_):
646         (TypeBindings.create_type_declaration_.get_type_model):
647         (TypeBindings.create_type_declaration_.get_array_item_c_type_text):
648         (get_type_model):
649         (AdHocTypeContextImpl.__init__):
650         (PlainObjectBinding):
651         (PlainObjectBinding.get_type_model):
652         (AdHocTypeContext):
653         (ArrayBinding.get_array_item_c_type_text):
654         (ArrayBinding):
655         (ArrayBinding.get_type_model):
656         (RawTypeBinding.get_validator_call_text):
657         (RawTypeBinding.reduce_to_raw_type):
658         (RawTypeBinding):
659         (RawTypeBinding.get_type_model):
660         (MethodGenerateModes.StrictParameterMode.get_c_param_type_text):
661         (MethodGenerateModes.RawParameterMode.get_c_param_type_text):
662         (MethodGenerateModes.CombinedMode.get_c_param_type_text):
663         (Generator.go):
664         (Generator.process_event):
665         (Generator.process_command):
666         (Generator.resolve_type_and_generate_ad_hoc):
667         (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext):
668         * inspector/InspectorDebuggerAgent.cpp:
669         (WebCore::InspectorDebuggerAgent::didParseSource):
670
671 2012-02-21  Vsevolod Vlasov  <vsevik@chromium.org>
672
673         Web Inspector: [InspectorIndexedDB] Show IndexedDB views on selection IndexedDB elements in resources panel.
674         https://bugs.webkit.org/show_bug.cgi?id=79098
675
676         Reviewed by Pavel Feldman.
677
678         * English.lproj/localizedStrings.js:
679         * WebCore.gypi:
680         * WebCore.vcproj/WebCore.vcproj:
681         * inspector/InspectorIndexedDBAgent.cpp:
682         (WebCore):
683         * inspector/compile-front-end.sh:
684         * inspector/front-end/IndexedDBModel.js:
685         (WebInspector.IndexedDBModel.prototype._assertFrameId):
686         (WebInspector.IndexedDBModel.prototype.loadObjectStoreData):
687         (WebInspector.IndexedDBModel.prototype.loadIndexData):
688         * inspector/front-end/IndexedDBViews.js: Added.
689         * inspector/front-end/ObjectPropertiesSection.js:
690         (WebInspector.ObjectPropertiesSection):
691         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
692         * inspector/front-end/ResourcesPanel.js:
693         (WebInspector.ResourcesPanel.prototype.showIndexedDB):
694         (WebInspector.IndexedDBTreeElement.prototype.refreshIndexedDB):
695         (WebInspector.IndexedDBTreeElement.prototype._indexedDBAdded):
696         (WebInspector.IDBDatabaseTreeElement):
697         (WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
698         (WebInspector.IDBDatabaseTreeElement.prototype.update):
699         (WebInspector.IDBDatabaseTreeElement.prototype.onselect):
700         (WebInspector.IDBObjectStoreTreeElement):
701         (WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
702         (WebInspector.IDBObjectStoreTreeElement.prototype.update):
703         (WebInspector.IDBObjectStoreTreeElement.prototype.onselect):
704         (WebInspector.IDBIndexTreeElement):
705         (WebInspector.IDBIndexTreeElement.prototype.get itemURL):
706         (WebInspector.IDBIndexTreeElement.prototype.update):
707         (WebInspector.IDBIndexTreeElement.prototype.onselect):
708         * inspector/front-end/WebKit.qrc:
709         * inspector/front-end/externs.js:
710         * inspector/front-end/indexedDBViews.css: Added.
711         * inspector/front-end/inspector.html:
712
713 2012-02-22  Nikolas Zimmermann  <nzimmermann@rim.com>
714
715         REGRESSION(58212): html foreignObjects with positions other than static not hidden correctly when parent has display:none
716         https://bugs.webkit.org/show_bug.cgi?id=41386
717
718         Reviewed by Zoltan Herczeg.
719
720         r58212 gave SVGGElements a renderer, regardless if "display: none" was set or not, for various reasons (see change set).
721         The <g> renderer for such cases is a RenderSVGHiddenContainer. We make sure in SVG that such subtrees are never used
722         for painting & hittesting - they only exist for the purpose of SVG DOM (query getCTM, etc..) and to create renderers
723         for child resources, like <g display="none"><linearGradient>.
724
725         This concept still works fine for: <g display="none"><foreignObject><body>Foobar</body></foreignObject></g>, as
726         RenderSVGForeignObject::paint is never called thus we never paint the subtree of the <fO>. If the <body> elements
727         contains "position: relative" a new layer is created for the <body>. When the document paints we have two seperated
728         layers, and the <body> layer doesn't know that it's actually inside a "SVG hidden subtree", and gets painted, where it
729         shouldn't. HTML doesn't have this problems, as a display: none object, never creates a renderer.
730
731         The fix is to disallow layer creation in hidden SVG subtrees, to mimic what would happen if we'd follow HTML rules
732         to not create renderers for display: none objects. This avoids any indirections - as no layers are created anymore.
733
734         Tests: svg/foreignObject/fO-display-none-with-relative-pos-content.svg
735                svg/foreignObject/fO-display-none.svg
736                svg/foreignObject/fO-parent-display-changes.svg
737                svg/foreignObject/fO-parent-display-none-with-relative-pos-content.svg
738                svg/foreignObject/fO-parent-display-none.svg
739                svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content.svg
740                svg/foreignObject/fO-parent-of-parent-display-none.svg
741
742         * rendering/RenderBoxModelObject.cpp:
743         (WebCore::RenderBoxModelObject::styleDidChange): Only create layers, if its allowed -- layerCreationAllowedForSubtree() will always return true for HTML, and only false for layers inside a hidden SVG subtree.
744         * rendering/RenderObject.cpp:
745         (WebCore::RenderObject::addChild): Only create layers, if its allowed.
746         * rendering/RenderObject.h: Add inline layerCreationAllowedForSubtree() helper, that craws the tree to find a RenderSVGHiddenContainer ancestor, if not present, return true.
747
748 2012-02-22  Zoltan Herczeg  <zherczeg@webkit.org>
749
750         Drop clipToImageBuffer from RenderBoxModelObject
751         https://bugs.webkit.org/show_bug.cgi?id=79225
752
753         Reviewed by Nikolas Zimmermann.
754
755         -webkit-background-clip: text is a rarely used non-standard
756         feature uses clipToImageBuffer. It is replaced by
757         CompositeDestinationIn on a transparent layer. The new
758         approach has the same speed as the old one.
759
760         Existing tests cover this issue.
761
762         * rendering/RenderBoxModelObject.cpp:
763         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
764
765 2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
766
767         Merge setVisibleRectTrajectoryVector and adjustVisibleRect to
768         the more descriptive coverWithTilesIfNeeded
769         https://bugs.webkit.org/show_bug.cgi?id=79230
770
771         Reviewed by Simon Hausmann.
772
773         Both setVisibleRectTrajectoryVector and the adjustVisibleRect are
774         used for initiating re-tiling, so make that more obvious and merge
775         the two.
776
777         * platform/graphics/TiledBackingStore.cpp:
778         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
779         * platform/graphics/TiledBackingStore.h:
780         (TiledBackingStore):
781
782 2012-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>
783
784         REGRESSION: unbalanced transparency layers for clipPath
785         https://bugs.webkit.org/show_bug.cgi?id=78074
786
787         Reviewed by Zoltan Herczeg.
788
789         If we're rendering to a mask image buffer, all children are rendered with opacity=1, regardless what their RenderStyles specify.
790         SVGRenderSupport::finishRenderSVGContent() did not take this into account and always called endTransparencyLayer(). Fix that
791         by checking if we're rendering to a mask image buffer, if so don't call endTransparencyLayer().
792
793         Add new reftest covering both the visual & logical correctness (no assertion).
794
795         Tests: svg/clip-path/opacity-assertion-expected.svg
796                svg/clip-path/opacity-assertion.svg
797
798         * rendering/svg/SVGRenderSupport.cpp:
799         (WebCore::isRenderingMaskImage): Extraced as sharable helper function.
800         (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Factor out isRenderingMaskImage() function.
801         (WebCore::SVGRenderSupport::finishRenderSVGContent): Only call endTransparencyLayer(), if we actually called beginTL() first. 
802
803 2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
804
805         Improve comments in tiling code.
806
807         Rubberstamped by Simon Hausmann.
808
809         * platform/graphics/TiledBackingStore.cpp:
810         (WebCore::TiledBackingStore::createTiles):
811
812 2012-02-22  'Pavel Feldman'  <pfeldman@google.com>
813
814         Not reviewed: build fix.
815
816         * inspector/InspectorController.cpp:
817         * inspector/InspectorController.h:
818         (InspectorController):
819
820 2012-02-21  Pavel Feldman  <pfeldman@google.com>
821
822         Web Inspector: do not filter out requestAnimationFrame from timeline, implement stop on animation events.
823         https://bugs.webkit.org/show_bug.cgi?id=79116
824
825         Reviewed by Yury Semikhatsky.
826
827         * English.lproj/localizedStrings.js:
828         * dom/ScriptedAnimationController.cpp:
829         (WebCore::ScriptedAnimationController::registerCallback):
830         * inspector/InspectorInstrumentation.cpp:
831         (WebCore):
832         (WebCore::InspectorInstrumentation::didRequestAnimationFrameCallbackImpl):
833         (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl):
834         (WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl):
835         * inspector/InspectorInstrumentation.h:
836         (InspectorInstrumentation):
837         (WebCore::InspectorInstrumentation::didRequestAnimationFrameCallback):
838         * inspector/InspectorTimelineAgent.cpp:
839         (TimelineRecordType):
840         (WebCore::InspectorTimelineAgent::didRequestAnimationFrameCallback):
841         (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
842         (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
843         (WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent):
844         * inspector/InspectorTimelineAgent.h:
845         (InspectorTimelineAgent):
846         * inspector/front-end/BreakpointsSidebarPane.js:
847         (WebInspector.EventListenerBreakpointsSidebarPane):
848         (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI):
849         * inspector/front-end/TimelineAgent.js:
850         * inspector/front-end/TimelinePanel.js:
851         (WebInspector.TimelinePanel):
852         (WebInspector.TimelinePanel.prototype.get _recordStyles):
853         (WebInspector.TimelinePanel.prototype._findParentRecord):
854         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
855         (WebInspector.TimelinePanel.prototype._onRecordsCleared):
856         (WebInspector.TimelinePanel.FormattedRecord):
857         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
858         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
859
860 2012-02-22  Changhun Kang  <temoochin@company100.net>
861
862         Remove unused class declaration in WebCore/page/scrolling/ScrollingCoordinator.h
863         https://bugs.webkit.org/show_bug.cgi?id=79175
864
865         Reviewed by Kentaro Hara.
866
867         * page/scrolling/ScrollingCoordinator.h:
868         Remove PlatformGestureEvent class declaration.
869         (WebCore):
870
871 2012-02-22  Andras Becsi  <andras.becsi@nokia.com>
872
873         [Qt][WK2] Fix the N9 build
874         https://bugs.webkit.org/show_bug.cgi?id=79101
875
876         Reviewed by Simon Hausmann.
877
878         Fixed the include order of the rolled out r108359 not to break
879         the build with CONFIG+=force_static_libs_as_shared.
880
881         * platform/graphics/OpenGLShims.h: Add missing include.
882
883 2012-02-22  Shinya Kawanaka  <shinyak@chromium.org>
884
885         firstRendererOf() should also return a fallback element renderer in NodeRenderingContext.
886         https://bugs.webkit.org/show_bug.cgi?id=79180
887
888         Reviewed by Hajime Morita.
889
890         Currently we have handled AttachingFallback in some special mannger, however if firstRendererOf
891         and lastRendererOf return a fallback element renderer, we don't need to handle it in such a manner.
892
893         We have introduced new attaching phase: AttachingFallbacked, and AttachingNotFallbacked.
894         They are used for fallback elements.
895
896         Added new test cases in:
897           fast/dom/shadow/shadow-contents-fallback.html
898           fast/dom/shadow/shadow-contents-fallback-dynamic.html
899
900         * dom/NodeRenderingContext.cpp:
901         (WebCore::NodeRenderingContext::NodeRenderingContext):
902         (WebCore::firstRendererOf):
903         (WebCore::lastRendererOf):
904         (WebCore::NodeRenderingContext::nextRenderer):
905         (WebCore::NodeRenderingContext::previousRenderer):
906         (WebCore::NodeRenderingContext::shouldCreateRenderer):
907         * dom/NodeRenderingContext.h:
908         * html/shadow/InsertionPoint.h:
909         (WebCore::isInsertionPoint):
910         (WebCore):
911         (WebCore::toInsertionPoint):
912
913 2012-02-22  Csaba Osztrogonác  <ossy@webkit.org>
914
915         [Qt] Unreviewed gardening after r108464.
916
917         * Target.pri:
918
919 2012-02-22  Sheriff Bot  <webkit.review.bot@gmail.com>
920
921         Unreviewed, rolling out r108468.
922         http://trac.webkit.org/changeset/108468
923         https://bugs.webkit.org/show_bug.cgi?id=79219
924
925         Broke Chromium Win release build (Requested by bashi on
926         #webkit).
927
928         * CMakeLists.txt:
929         * GNUmakefile.list.am:
930         * Target.pri:
931         * WebCore.gypi:
932         * WebCore.vcproj/WebCore.vcproj:
933         * WebCore.xcodeproj/project.pbxproj:
934         * websockets/WebSocket.cpp:
935         (WebCore::WebSocket::didConnect):
936         * websockets/WebSocketChannel.cpp:
937         (WebCore::WebSocketChannel::connect):
938         (WebCore::WebSocketChannel::fail):
939         (WebCore::WebSocketChannel::processFrame):
940         (WebCore::WebSocketChannel::sendFrame):
941         * websockets/WebSocketChannel.h:
942         * websockets/WebSocketDeflateFramer.cpp: Removed.
943         * websockets/WebSocketDeflateFramer.h: Removed.
944
945 2012-02-20  Roland Steiner  <rolandsteiner@chromium.org>
946
947         <style scoped>: Add runtime-flag
948         https://bugs.webkit.org/show_bug.cgi?id=79074
949
950         Added runtime-flag.
951         Query runtime flag when (un)registering a <style scoped> element, and when determineing a style sheet's scope.
952
953         Reviewed by Dimitri Glazkov.
954
955         No new tests. (no change in functionality)
956
957         * bindings/generic/RuntimeEnabledFeatures.cpp:
958         (WebCore):
959         * bindings/generic/RuntimeEnabledFeatures.h:
960         (RuntimeEnabledFeatures):
961         (WebCore::RuntimeEnabledFeatures::styleScopedEnabled):
962         (WebCore::RuntimeEnabledFeatures::setStyleScopedEnabled):
963         * css/CSSStyleSelector.cpp:
964         (WebCore::CSSStyleSelector::determineScopingElement):
965         * html/HTMLStyleElement.cpp:
966         (WebCore::HTMLStyleElement::registerWithScopingNode):
967         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
968         * html/HTMLStyleElement.idl:
969
970 2012-02-21  Alexander Pavlov  <apavlov@chromium.org>
971
972         Web Inspector: Audit rules to recommend unprefixing supported CSS properties
973         https://bugs.webkit.org/show_bug.cgi?id=78985
974
975         Reviewed by Pavel Feldman.
976
977         * inspector/front-end/AuditCategories.js:
978         (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
979         * inspector/front-end/AuditRules.js:
980         (WebInspector.AuditRules.CSSRuleBase):
981         (WebInspector.AuditRules.CSSRuleBase.prototype.doRun.sheetsCallback):
982         (WebInspector.AuditRules.CSSRuleBase.prototype.doRun):
983         (WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet.sheetCallback):
984         (WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet):
985         (WebInspector.AuditRules.CSSRuleBase.prototype._visitRule):
986         (WebInspector.AuditRules.CSSRuleBase.prototype.visitStyleSheet):
987         (WebInspector.AuditRules.CSSRuleBase.prototype.didVisitStyleSheet):
988         (WebInspector.AuditRules.CSSRuleBase.prototype.visitRule):
989         (WebInspector.AuditRules.CSSRuleBase.prototype.didVisitRule):
990         (WebInspector.AuditRules.CSSRuleBase.prototype.visitProperty):
991         (WebInspector.AuditRules.VendorPrefixedCSSProperties):
992         (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.didVisitStyleSheet):
993         (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitRule):
994         (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.didVisitRule):
995         (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitProperty):
996         * inspector/front-end/ResourceUtils.js:
997
998 2012-02-22  Shinya Kawanaka  <shinyak@chromium.org>
999
1000         Node::attach() should be after attaching children in Element::attach().
1001         https://bugs.webkit.org/show_bug.cgi?id=79201
1002
1003         Reviewed by Hajime Morita.
1004
1005         In Element::attach(), Node::attach() is called before attaching children if a shaodw root exists.
1006         This may cause O(N^2) problem in NodeRenderingContext.
1007
1008         No new tests. Existing tests should cover this.
1009
1010         * dom/Element.cpp:
1011         (WebCore::Element::attach):
1012
1013 2012-02-22  Kenichi Ishibashi  <bashi@chromium.org>
1014
1015         Adding WebSocket per-frame DEFLATE extension
1016         https://bugs.webkit.org/show_bug.cgi?id=77522
1017
1018         Add WebSocketDeflateFramer class which handles deflate-frame extension.
1019         This class encapsulates WebSocketDeflater and WebSocketInflater classes,
1020         which depend on zlib, so that WebSocketChannel is not necessary to aware
1021         zlib dependency.
1022
1023         Reviewed by Kent Tamura.
1024
1025         Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html
1026                http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html
1027                http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html
1028                http/tests/websocket/tests/hybi/deflate-frame-parameter.html
1029
1030         * CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h)
1031         * GNUmakefile.list.am: Ditto.
1032         * Target.pri: Ditto.
1033         * WebCore.gypi: Ditto.
1034         * WebCore.vcproj/WebCore.vcproj: Ditto.
1035         * WebCore.xcodeproj/project.pbxproj: Ditto.
1036         * websockets/WebSocket.cpp:
1037         (WebCore::WebSocket::didConnect): Set m_extensions.
1038         * websockets/WebSocketChannel.cpp:
1039         (WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use.
1040         (WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail().
1041         (WebCore::WebSocketChannel::processFrame): Decompress frames if needed.
1042         (WebCore::WebSocketChannel::sendFrame): Compress frames if possible.
1043         * websockets/WebSocketChannel.h:
1044         * websockets/WebSocketDeflateFramer.cpp: Added.
1045         (WebCore):
1046         (WebSocketExtensionDeflateFrame):
1047         (WebCore::WebSocketExtensionDeflateFrame::create):
1048         (WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame):
1049         (WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame):
1050         (WebCore::WebSocketExtensionDeflateFrame::handshakeString):
1051         (WebCore::WebSocketExtensionDeflateFrame::processResponse):
1052         (WebCore::DeflateResultHolder::DeflateResultHolder):
1053         (WebCore::DeflateResultHolder::~DeflateResultHolder):
1054         (WebCore::DeflateResultHolder::fail):
1055         (WebCore::InflateResultHolder::InflateResultHolder):
1056         (WebCore::InflateResultHolder::~InflateResultHolder):
1057         (WebCore::InflateResultHolder::fail):
1058         (WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer):
1059         (WebCore::WebSocketDeflateFramer::createExtensionProcessor):
1060         (WebCore::WebSocketDeflateFramer::canDeflate):
1061         (WebCore::WebSocketDeflateFramer::enableDeflate):
1062         (WebCore::WebSocketDeflateFramer::deflate):
1063         (WebCore::WebSocketDeflateFramer::resetDeflateContext):
1064         (WebCore::WebSocketDeflateFramer::inflate):
1065         (WebCore::WebSocketDeflateFramer::resetInflateContext):
1066         (WebCore::WebSocketDeflateFramer::didFail):
1067         * websockets/WebSocketDeflateFramer.h: Added.
1068         (WebCore):
1069         (DeflateResultHolder):
1070         (WebCore::DeflateResultHolder::succeeded):
1071         (WebCore::DeflateResultHolder::failureReason):
1072         (InflateResultHolder):
1073         (WebCore::InflateResultHolder::succeeded):
1074         (WebCore::InflateResultHolder::failureReason):
1075         (WebSocketDeflateFramer):
1076         (WebCore::WebSocketDeflateFramer::enabled):
1077
1078 2012-02-22  Yuta Kitamura  <yutak@chromium.org>
1079
1080         Unreviewed, rolling out r108453.
1081         http://trac.webkit.org/changeset/108453
1082         https://bugs.webkit.org/show_bug.cgi?id=78549
1083
1084         Broke Chromium's webkit_unit_tests.
1085
1086         * WebCore.gypi:
1087         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Removed.
1088         * platform/graphics/chromium/cc/CCOcclusionTracker.h: Removed.
1089
1090 2012-02-22  Zoltan Herczeg  <zherczeg@webkit.org>
1091
1092         [Qt] clipToImageBuffer assertion fix in debug mode on Qt.
1093
1094         Rubber stamped by Csaba Osztrogonác.
1095
1096         * platform/graphics/qt/GraphicsContextQt.cpp:
1097         (WebCore::GraphicsContext::restorePlatformState):
1098
1099 2012-02-22  Adam Barth  <abarth@webkit.org>
1100
1101         [GTK] fast/frames/frame-dead-region.html crash
1102         https://bugs.webkit.org/show_bug.cgi?id=79205
1103
1104         Unreviewed.
1105
1106         Apparently we're not supposed to call willDetachPage from
1107         CachedFrame::destroy.  This call got added in
1108         http://trac.webkit.org/changeset/108428, but it seems to cause a crash.
1109
1110         * loader/FrameLoader.cpp:
1111         (WebCore::FrameLoader::closeAndRemoveChild):
1112         (WebCore::FrameLoader::detachFromParent):
1113         * page/Frame.h:
1114         (WebCore::Frame::detachFromPage):
1115         * page/Page.cpp:
1116         (WebCore::Page::~Page):
1117
1118 2012-02-22  Adam Barth  <abarth@webkit.org>
1119
1120         Move Geolocation code into Modules/geolocation
1121         https://bugs.webkit.org/show_bug.cgi?id=79204
1122
1123         Reviewed by Hajime Morita.
1124
1125         There are still some dangling references into the Geolocation module,
1126         which I will clean up in a followup patch.
1127
1128         * CMakeLists.txt:
1129         * DerivedSources.make:
1130         * DerivedSources.pri:
1131         * GNUmakefile.list.am:
1132         * Modules/geolocation/Geolocation.cpp: Copied from Source/WebCore/page/Geolocation.cpp.
1133         * Modules/geolocation/Geolocation.h: Copied from Source/WebCore/page/Geolocation.h.
1134         * Modules/geolocation/Geolocation.idl: Copied from Source/WebCore/page/Geolocation.idl.
1135         * Modules/geolocation/GeolocationController.cpp: Copied from Source/WebCore/page/GeolocationController.cpp.
1136         * Modules/geolocation/GeolocationController.h: Copied from Source/WebCore/page/GeolocationController.h.
1137         * Modules/geolocation/GeolocationError.h: Copied from Source/WebCore/page/GeolocationError.h.
1138         * Modules/geolocation/GeolocationPosition.h: Copied from Source/WebCore/page/GeolocationPosition.h.
1139         * Modules/geolocation/Geoposition.h: Copied from Source/WebCore/page/Geoposition.h.
1140         * Modules/geolocation/Geoposition.idl: Copied from Source/WebCore/page/Geoposition.idl.
1141         * Modules/geolocation/PositionCallback.h: Copied from Source/WebCore/page/PositionCallback.h.
1142         * Modules/geolocation/PositionCallback.idl: Copied from Source/WebCore/page/PositionCallback.idl.
1143         * Modules/geolocation/PositionError.h: Copied from Source/WebCore/page/PositionError.h.
1144         * Modules/geolocation/PositionError.idl: Copied from Source/WebCore/page/PositionError.idl.
1145         * Modules/geolocation/PositionErrorCallback.h: Copied from Source/WebCore/page/PositionErrorCallback.h.
1146         * Modules/geolocation/PositionErrorCallback.idl: Copied from Source/WebCore/page/PositionErrorCallback.idl.
1147         * Modules/geolocation/PositionOptions.h: Copied from Source/WebCore/page/PositionOptions.h.
1148         * Target.pri:
1149         * WebCore.gypi:
1150         * WebCore.vcproj/WebCore.vcproj:
1151         * WebCore.xcodeproj/project.pbxproj:
1152         * page/Geolocation.cpp: Removed.
1153         * page/Geolocation.h: Removed.
1154         * page/Geolocation.idl: Removed.
1155         * page/GeolocationController.cpp: Removed.
1156         * page/GeolocationController.h: Removed.
1157         * page/GeolocationError.h: Removed.
1158         * page/GeolocationPosition.h: Removed.
1159         * page/Geoposition.h: Removed.
1160         * page/Geoposition.idl: Removed.
1161         * page/PositionCallback.h: Removed.
1162         * page/PositionCallback.idl: Removed.
1163         * page/PositionError.h: Removed.
1164         * page/PositionError.idl: Removed.
1165         * page/PositionErrorCallback.h: Removed.
1166         * page/PositionErrorCallback.idl: Removed.
1167         * page/PositionOptions.h: Removed.
1168
1169 2012-02-22  Frederik Gladhorn  <frederik.gladhorn@nokia.com>
1170
1171         [gtk] Accessibility: use find funtion in vector instead of for.
1172         https://bugs.webkit.org/show_bug.cgi?id=77878
1173
1174         Reviewed by Hajime Morita.
1175
1176         Minor cleanup, use the find function from vector.
1177
1178         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
1179         (webkitAccessibleGetIndexInParent):
1180
1181 2012-02-22  Ryosuke Niwa  <rniwa@webkit.org>
1182
1183         Remove the remaining uses of CSSStyleDeclaration in Editor
1184         https://bugs.webkit.org/show_bug.cgi?id=78939
1185
1186         Reviewed by Enrica Casucci.
1187
1188         Changed the argument types of shouldApplyStyle, applyParagraphStyle, applyStyleToSelection,
1189         applyParagraphStyleToSelection, and computeAndSetTypingStyle in Editor from CSSStyleDeclaration
1190         to StylePropertySet.
1191
1192         * WebCore.exp.in:
1193         * WebCore.xcodeproj/project.pbxproj:
1194         * editing/Editor.cpp:
1195         (WebCore::Editor::applyStyle):
1196         (WebCore::Editor::shouldApplyStyle):
1197         (WebCore::Editor::applyParagraphStyle):
1198         (WebCore::Editor::applyStyleToSelection):
1199         (WebCore::Editor::applyParagraphStyleToSelection):
1200         (WebCore::Editor::setBaseWritingDirection):
1201         (WebCore::Editor::computeAndSetTypingStyle):
1202         * editing/Editor.h:
1203         (WebCore):
1204         (Editor):
1205         * editing/EditorCommand.cpp:
1206         (WebCore::applyCommandToFrame):
1207         (WebCore::executeApplyParagraphStyle):
1208         (WebCore::executeMakeTextWritingDirectionLeftToRight):
1209         (WebCore::executeMakeTextWritingDirectionNatural):
1210         (WebCore::executeMakeTextWritingDirectionRightToLeft):
1211         * loader/EmptyClients.h:
1212         (WebCore::EmptyEditorClient::shouldApplyStyle):
1213         * page/DragController.cpp:
1214         (WebCore::DragController::concludeEditDrag):
1215         * page/EditorClient.h:
1216         (WebCore):
1217         (EditorClient):
1218
1219 2012-02-22  Dana Jansens  <danakj@chromium.org>
1220
1221         [chromium] Cull quads outside of the scissoring damage rect
1222         https://bugs.webkit.org/show_bug.cgi?id=79181
1223
1224         Reviewed by James Robinson.
1225
1226         Quads outside of the partial swap cause us to execute GL operations
1227         that actually use a fair amount of CPU time (enough to affect power
1228         usage). Here we cull quads by only keeping their intersection
1229         with the damage rect used for partial swap.
1230
1231         Unit test: CCQuadCuller.cpp
1232
1233         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1234         (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
1235         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1236         (WebCore::CCQuadCuller::cullOccludedQuads):
1237         * platform/graphics/chromium/cc/CCQuadCuller.h:
1238         (CCQuadCuller):
1239         * platform/graphics/chromium/cc/CCRenderPass.cpp:
1240         (WebCore::CCRenderPass::optimizeQuads):
1241         * platform/graphics/chromium/cc/CCRenderPass.h:
1242         (CCRenderPass):
1243
1244 2012-02-21  Dana Jansens  <danakj@chromium.org>
1245
1246         [Chromium] New CCOcclusionTracker class with tests
1247         https://bugs.webkit.org/show_bug.cgi?id=78549
1248
1249         Reviewed by James Robinson.
1250
1251         Adds a CCOcclusionTrackerBase template class that is able to track occlusion
1252         of layers while traversing the layer tree from front-to-back, with typedefed
1253         versions for the main and impl threads.
1254
1255         At each step of the front-to-back traversal, the class should be notified of
1256         changes to the current render target, and when done working with a layer, the
1257         layer is added the tracked occlusion.
1258
1259         The class provides tests for checking if a rect in content space
1260         for a layer/surface is occluded by others in front of it.
1261
1262         Unit tests: CCOcclusionTrackerTest.cpp
1263
1264         * WebCore.gypi:
1265         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added.
1266         (WebCore):
1267         (WebCore::::enterTargetRenderSurface):
1268         (WebCore::::finishedTargetRenderSurface):
1269         (WebCore::transformSurfaceOpaqueRegion):
1270         (WebCore::::leaveToTargetRenderSurface):
1271         (WebCore::contentToScreenSpaceTransform):
1272         (WebCore::contentToTargetSurfaceTransform):
1273         (WebCore::computeOcclusionBehindLayer):
1274         (WebCore::::markOccludedBehindLayer):
1275         (WebCore::testContentRectOccluded):
1276         (WebCore::::occluded):
1277         (WebCore::::surfaceOccluded):
1278         (WebCore::rectSubtractRegion):
1279         (WebCore::computeUnoccludedContentRect):
1280         (WebCore::::unoccludedContentRect):
1281         (WebCore::::surfaceUnoccludedContentRect):
1282         (WebCore::::currentOcclusionInScreenSpace):
1283         (WebCore::::currentOcclusionInTargetSurface):
1284         * platform/graphics/chromium/cc/CCOcclusionTracker.h: Added.
1285         (WebCore):
1286         (CCOcclusionTrackerBase):
1287         (WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase):
1288         (StackObject):
1289
1290 2012-02-21  Andreas Kling  <awesomekling@apple.com>
1291
1292         Cache <font face> family lists in CSSValuePool.
1293         <http://webkit.org/b/79195>
1294
1295         Reviewed by Antti Koivisto.
1296
1297         HTMLFontElements with "face" attributes are very common in legacy web content.
1298         Add a String->CSSValue cache for these in CSSValuePool and use it to avoid
1299         reparsing and recreating duplicate font face values.
1300
1301         This knocks 20ms (~1.5%) worth of samples off of the Moz page cycler on my system.
1302
1303         * css/CSSParser.cpp:
1304         (WebCore::CSSParser::parseFontFaceValue):
1305         * css/CSSParser.h:
1306         * css/CSSValuePool.cpp:
1307         (WebCore::CSSValuePool::createFontFaceValue):
1308         * css/CSSValuePool.h:
1309         * html/HTMLFontElement.cpp:
1310         (WebCore::HTMLFontElement::collectStyleForAttribute):
1311
1312 2012-02-21  Adam Barth  <abarth@webkit.org>
1313
1314         Separate the implementation of registerProtocolHandler from Navigator.cpp
1315         https://bugs.webkit.org/show_bug.cgi?id=78945
1316
1317         Reviewed by Eric Seidel.
1318
1319         The implementation of registerProtocolHandler needlessly complicates
1320         the implementation of Navigator.cpp.  In principle,
1321         registerProtocolHandler (and possibly registerContentHandler, when we
1322         implement that feature) could be its own module, but that seems like
1323         overkill for one or two files.
1324
1325         * CMakeLists.txt:
1326         * GNUmakefile.list.am:
1327         * Target.pri:
1328         * WebCore.gypi:
1329         * WebCore.vcproj/WebCore.vcproj:
1330         * WebCore.xcodeproj/project.pbxproj:
1331         * page/Navigator.cpp:
1332         (WebCore):
1333         * page/Navigator.h:
1334         (Navigator):
1335         * page/Navigator.idl:
1336
1337 2012-02-21  MORITA Hajime  <morrita@google.com>
1338
1339         HasIDFlag and HasClassFlag can be removed.
1340         https://bugs.webkit.org/show_bug.cgi?id=77861
1341
1342         Reviewed by Andreas Kling.
1343
1344         Replaced HasIDFlag and HasClassFlag with a check against
1345         ElementAttributeData. It looks these flags (originally bitfields)
1346         were legacy of ancient era, where we didn't cache @id and @class
1347         values and needed a hash lookup for each check.
1348
1349         No new tests. No behavioral change.
1350
1351         * dom/Element.cpp:
1352         (WebCore::Element::idAttributeChanged):
1353         * dom/Element.h:
1354         (WebCore::Element::hasID):
1355         (WebCore):
1356         (WebCore::Element::hasClass):
1357         (WebCore::Node::hasID):
1358         (WebCore::Node::hasClass):
1359         * dom/ElementAttributeData.h:
1360         (WebCore::ElementAttributeData::hasID):
1361         (WebCore::ElementAttributeData::hasClass):
1362         (ElementAttributeData):
1363         * dom/Node.h:
1364         (Node):
1365         (WebCore::nodeStyleChangeShift):
1366         * dom/StyledElement.cpp:
1367         (WebCore::StyledElement::classAttributeChanged):
1368
1369 2012-02-21  Matthew Delaney  <mdelaney@apple.com>
1370
1371         2D Canvas setTransform makes unnecessary matrix mults
1372         https://bugs.webkit.org/show_bug.cgi?id=79190
1373
1374         Reviewed by Dan Bernstein.
1375
1376         No new tests - plenty of current tests using setTransform.
1377
1378         * html/canvas/CanvasRenderingContext2D.cpp:
1379         (WebCore::CanvasRenderingContext2D::setTransform):
1380
1381 2012-02-21  MORITA Hajime <morrita@google.com>
1382
1383         INPUT_SPEECH should be implemented as a PageSupplement.
1384         https://bugs.webkit.org/show_bug.cgi?id=79051
1385
1386         Turned SpeechInput to a PageSupplement.
1387
1388         Reviewed by Adam Barth.
1389
1390         No new tests. No behavior change.
1391
1392         * html/shadow/TextControlInnerElements.cpp:
1393         (WebCore::InputFieldSpeechButtonElement::speechInput):
1394         (WebCore::InputFieldSpeechButtonElement::attach):
1395         * page/Page.cpp:
1396         (WebCore::Page::Page):
1397         (WebCore::Page::PageClients::PageClients):
1398         * page/Page.h:
1399         (WebCore):
1400         (PageClients):
1401         (Page):
1402         * page/SpeechInput.cpp:
1403         (WebCore::SpeechInput::supplementName):
1404         (WebCore):
1405         (WebCore::provideSpeechInputTo):
1406         * page/SpeechInput.h:
1407         (SpeechInput):
1408         (WebCore::SpeechInput::from):
1409         * page/SpeechInputClient.h:
1410         (WebCore):
1411
1412 2012-02-21  Alexandre Elias  <aelias@google.com>
1413
1414         [chromium] Add three small zoom gesture features
1415         https://bugs.webkit.org/show_bug.cgi?id=74216
1416
1417         Reviewed by James Robinson.
1418
1419         1. Support panning around with two fingers.
1420         2. When double-tap zooming, issue the commit at final/scroll scale as
1421         early as possible.
1422         3. When pinch zooming out, issue a commit at minimum scale to avoid
1423         showing checkerboard.
1424
1425         Added test for panning to CCLayerTreeHostImplTest::pinchGesture.
1426         (The other features are heuristics whose exact behavior we don't need
1427         to lock in with a test.)
1428
1429         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1430         (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
1431         (WebCore::CCLayerTreeHostImpl::pinchGestureBegin):
1432         (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
1433         (WebCore::CCLayerTreeHostImpl::computeDoubleTapZoomDeltas):
1434         (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
1435         (WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet):
1436         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
1437         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1438
1439 2012-02-21  Filip Pizlo  <fpizlo@apple.com>
1440
1441         JSC should be a triple-tier VM
1442         https://bugs.webkit.org/show_bug.cgi?id=75812
1443         <rdar://problem/10079694>
1444
1445         Reviewed by Gavin Barraclough.
1446         
1447         No new tests, because there is no change in behavior.
1448
1449         * CMakeLists.txt:
1450
1451 2012-02-21  Kentaro Hara  <haraken@chromium.org>
1452
1453         NavigatorMediaStream.idl defines an interface for NavigatorGamepad
1454         https://bugs.webkit.org/show_bug.cgi?id=79152
1455
1456         Reviewed by Adam Barth.
1457
1458         Fixed a typo: NavigatorGamepad => NavigatorMediaStream
1459
1460         This typo fix just changes the name of generated files:
1461
1462         - V8NavigatorGamepad.h => V8NavigatorMediaStream.h
1463         - V8NavigatorGamepad.cpp => V8NavigatorMediaStream.cpp
1464
1465         The reason why the typo has not caused any serious build issues is that
1466         the generate files for supplemental interfaces are "empty" and not important.
1467         They just exist to control makefile dependencies.
1468
1469         No tests. No change in behavior.
1470
1471         * mediastream/NavigatorMediaStream.idl:
1472
1473 2012-02-21  Daniel Sievers  <sievers@chromium.org>
1474
1475         [Chromium] Fix compositor setting color uniforms incorrectly for solid color quads.
1476         https://bugs.webkit.org/show_bug.cgi?id=76017
1477
1478         Reviewed by James Robinson.
1479
1480         * platform/graphics/chromium/LayerRendererChromium.cpp:
1481         (WebCore::LayerRendererChromium::drawSolidColorQuad):
1482
1483 2012-02-21  Max Vujovic  <mvujovic@adobe.com>
1484
1485         getCTM() on SVG root element with borders, paddings, and viewbox returns incorrect values
1486         https://bugs.webkit.org/show_bug.cgi?id=78631
1487
1488         Reviewed by Eric Seidel.
1489
1490         SVGSVGElement::currentViewportSize was returning the size of the SVG viewport plus CSS
1491         borders and paddings, causing the CTM calculation to be off.
1492
1493         Test: svg/dom/SVGLocatable-getCTM-svg-root.html
1494
1495         * svg/SVGSVGElement.cpp:
1496         (WebCore::SVGSVGElement::currentViewportSize):
1497
1498             SVGSVGElement::currentViewportSize now uses the contentBoxRect instead of the frameRect.
1499             The contentBoxRect corresponds to the SVG viewport and does not include borders and
1500             paddings.
1501
1502 2012-02-21  Robin Cao  <robin.cao@torchmobile.com.cn>
1503
1504         [BlackBerry] Upstream Icon class in platform/graphics/blackberry
1505         https://bugs.webkit.org/show_bug.cgi?id=79088
1506
1507         Reviewed by Antonio Gomes.
1508
1509         Initial upstreaming, no new tests.
1510
1511         * platform/graphics/blackberry/IconBlackBerry.cpp: Added.
1512         (WebCore):
1513         (WebCore::Icon::~Icon):
1514         (WebCore::Icon::paint):
1515         (WebCore::Icon::createIconForFiles):
1516
1517 2012-02-21  Kenichi Ishibashi  <bashi@chromium.org>
1518
1519         Rename "reserved1" flag of WebSocketFrame to compress
1520         https://bugs.webkit.org/show_bug.cgi?id=79187
1521
1522         WebSocket deflate-frame extension draft specification defines COMP bit.
1523         http://tools.ietf.org/html/draft-tyoshino-hybi-websocket-perframe-deflate-05#page-11
1524
1525         Reviewed by Kent Tamura.
1526
1527         No new tests. http/tests/websocket/tests/hybi/reserved-bits.html is revised to follow the change.
1528
1529         * websockets/WebSocketChannel.cpp:
1530         (WebCore):
1531         (WebCore::WebSocketChannel::parseFrame): "reserved1" renamed "compress".
1532         (WebCore::WebSocketChannel::processFrame): Removed reserved1 flag check.
1533         (WebCore::makeFrameData):
1534         (WebCore::WebSocketChannel::sendFrame):
1535         * websockets/WebSocketFrame.h: "reserved1" flag renamed "compress".
1536         (WebCore::WebSocketFrame::WebSocketFrame):
1537         (WebSocketFrame):
1538
1539 2012-02-21  Yael Aharon  <yael.aharon@nokia.com>
1540
1541         [Texmap] Move all TextureMapper related files to graphics/texmap
1542         https://bugs.webkit.org/show_bug.cgi?id=79141
1543
1544         Reviewed by Martin Robinson.
1545
1546         Move TextureMaooerGL and TextureMapperShaderManager files to graphics/texmap.
1547         No new tests. 
1548
1549         * GNUmakefile.list.am:
1550         * Target.pri:
1551         * WebCore.gypi:
1552         * platform/graphics/qt/GraphicsContext3DQt.cpp
1553         * platform/graphics/opengl/TextureMapperGL.cpp: Removed.
1554         * platform/graphics/opengl/TextureMapperGL.h: Removed.
1555         * platform/graphics/opengl/TextureMapperShaderManager.cpp: Removed.
1556         * platform/graphics/opengl/TextureMapperShaderManager.h: Removed.
1557         * platform/graphics/texmap/TextureMapperGL.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.cpp.
1558         * platform/graphics/texmap/TextureMapperGL.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.h.
1559         * platform/graphics/texmap/TextureMapperShaderManager.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.cpp.
1560         * platform/graphics/texmap/TextureMapperShaderManager.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.h.
1561
1562 2012-02-20  MORITA Hajime  <morrita@google.com>
1563
1564         MEDIA_STREAM should be implemented as a PageSupplement.
1565         https://bugs.webkit.org/show_bug.cgi?id=79050
1566
1567         Reviewed by Adam Barth.
1568
1569         Added UserMediaController which implements PageSupplement. This
1570         controller mediates WebCore-to-client communication and lifecycle
1571         management. Then pushed UserMediaController out as a
1572         PageSupplement module.
1573
1574         No new tests. No behavior change.
1575
1576         * WebCore.gypi:
1577         * GNUmakefile.list.am:
1578         * mediastream/NavigatorMediaStream.cpp:
1579         (WebCore::NavigatorMediaStream::webkitGetUserMedia):
1580         * mediastream/UserMediaClient.h:
1581         (WebCore):
1582         * mediastream/UserMediaController.cpp: Added.
1583         (WebCore):
1584         (WebCore::UserMediaController::supplementName):
1585         (WebCore::UserMediaController::UserMediaController):
1586         (WebCore::UserMediaController::~UserMediaController):
1587         (WebCore::UserMediaController::create):
1588         (WebCore::provideUserMediaTo):
1589         * mediastream/UserMediaController.h: Added.
1590         (WebCore):
1591         (UserMediaController):
1592         (WebCore::UserMediaController::client):
1593         (WebCore::UserMediaController::from):
1594         (WebCore::UserMediaController::requestUserMedia):
1595         (WebCore::UserMediaController::cancelUserMediaRequest):
1596         * mediastream/UserMediaRequest.cpp:
1597         (WebCore::UserMediaRequest::create):
1598         (WebCore::UserMediaRequest::UserMediaRequest):
1599         (WebCore::UserMediaRequest::didCompleteQuery):
1600         (WebCore::UserMediaRequest::contextDestroyed):
1601         * mediastream/UserMediaRequest.h:
1602         (WebCore):
1603         (UserMediaRequest):
1604         * page/Page.cpp:
1605         (WebCore::Page::Page):
1606         (WebCore::Page::~Page):
1607         (WebCore::Page::PageClients::PageClients):
1608         * page/Page.h:
1609         (WebCore):
1610         (PageClients):
1611         (Page):
1612
1613 2012-02-21  James Robinson  <jamesr@chromium.org>
1614
1615         Node::isContentEditable should only update styles, not layout
1616         https://bugs.webkit.org/show_bug.cgi?id=78637
1617
1618         Reviewed by Ryosuke Niwa.
1619
1620         isContentEditable depends on knowing the node's current computed style, so it has to update styles if they are
1621         out of date.  It does not depend on knowing any layout-derived properties, however, so updating layout is just a
1622         waste of time.
1623
1624         Behavior is covered by existing layout tests, primarily in editing/
1625
1626         * dom/Node.cpp:
1627         (WebCore::Node::isContentEditable):
1628         (WebCore::Node::isContentRichlyEditable):
1629
1630 2012-02-21  James Robinson  <jamesr@chromium.org>
1631
1632         Partially revert r108418 - move allowEventDispatch() call back to where it used to be.
1633
1634         Rubber-stamped by Ryosuke Niwa.
1635
1636         Tested by fast/text/find-layout-crash.html
1637
1638         * dom/ContainerNode.cpp:
1639         (WebCore::ContainerNode::removeChildren):
1640
1641 2012-02-21  Anders Carlsson  <andersca@apple.com>
1642
1643         Background jitters on pages with background-attachment: fixed
1644         https://bugs.webkit.org/show_bug.cgi?id=79182
1645
1646         Reviewed by Dan Bernstein.
1647
1648         Make sure to update the main frame scroll position before updating the scrolling layer.
1649         This also fixes a (purely theoretical) bug where we wouldn't be updating the main frame
1650         position if the main frame didn't have a scroll layer.
1651
1652         * page/scrolling/ScrollingCoordinator.cpp:
1653         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
1654
1655 2012-02-21  Dana Jansens  <danakj@chromium.org>
1656
1657         Early-out in Region::unite() for adding an empty region.
1658         https://bugs.webkit.org/show_bug.cgi?id=79174
1659
1660         Reviewed by Anders Carlsson.
1661
1662         * platform/graphics/Region.cpp:
1663         (WebCore::Region::unite):
1664
1665 2012-02-21  Dana Jansens  <danakj@chromium.org>
1666
1667         [chromium] Painting a layer clears opaque rect in untouched tiles
1668         https://bugs.webkit.org/show_bug.cgi?id=79157
1669
1670         Reviewed by James Robinson.
1671
1672         When painting a tiled layer, we would throw away the saved opaque rect
1673         for any tiles that were not part of the paint. So now we check
1674         if we are able to save the existing saved opaque rect in a more
1675         proper way:
1676         1. If any pixels of the saved rect are painted non-opaque, we replace
1677         the saved rect.
1678         2. If an opaque rect is drawn outside of the saved rect, we replace
1679         the saved rect.
1680
1681         Unit test: TiledLayerChromiumTest.cpp
1682
1683         * platform/graphics/chromium/TiledLayerChromium.cpp:
1684         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1685         (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
1686
1687 2012-02-21  Raymond Toy  <rtoy@google.com>
1688
1689         Small typo in AudioPannerNode.cpp
1690         https://bugs.webkit.org/show_bug.cgi?id=75890
1691
1692         Change to check elevation as intended instead of azimuth.
1693         
1694         Reviewed by Chris Rogers.
1695
1696         No new tests for correction of typo.
1697
1698         * webaudio/AudioPannerNode.cpp:
1699         (WebCore::AudioPannerNode::getAzimuthElevation):
1700
1701 2012-02-21  Adam Barth  <abarth@webkit.org>
1702
1703         Frame and Navigator shouldn't need to worry about Geolocation
1704         https://bugs.webkit.org/show_bug.cgi?id=78860
1705
1706         Reviewed by Eric Seidel.
1707
1708         This patch removes some Geolocation-specific code from Frame and
1709         Navigator in favor of our new supplemental module mechanism.  We're
1710         still refining the module system, but we seem to be converging on a
1711         simple Observer/Supplement design.
1712
1713         In a future patch, I'll move the remaining Geolocation-related files in
1714         WebCore into Modules/geolocation.  This patch appears to be the first
1715         patch that introduces a module used by all the various build systems,
1716         which is why there's a bit more build system overhead than usual.
1717
1718         * Modules/geolocation: Added.
1719         * Modules/geolocation/NavigatorGeolocation.cpp: Added.
1720         (WebCore):
1721         (WebCore::NavigatorGeolocation::NavigatorGeolocation):
1722         (WebCore::NavigatorGeolocation::~NavigatorGeolocation):
1723         (WebCore::NavigatorGeolocation::pageDestroyed):
1724         (WebCore::NavigatorGeolocation::from):
1725         (WebCore::NavigatorGeolocation::geolocation):
1726         * Modules/geolocation/NavigatorGeolocation.h: Added.
1727         (WebCore):
1728         (NavigatorGeolocation):
1729         * Modules/geolocation/NavigatorGeolocation.idl: Added.
1730             - I've temporarily disabled this API for GObject because it generates
1731               a strange compile error.  Once I land this patch, I'll spend some
1732               more time fixing the compile error.
1733         * page/DOMWindow.cpp:
1734         (WebCore):
1735         * page/DOMWindow.h:
1736         (DOMWindow):
1737         * page/Frame.cpp:
1738         (WebCore::Frame::pageDestroyed):
1739         (WebCore::Frame::transferChildFrameToNewDocument):
1740         * page/FrameDestructionObserver.cpp:
1741         (WebCore::FrameDestructionObserver::pageDestroyed):
1742         (WebCore):
1743         * page/FrameDestructionObserver.h:
1744         (FrameDestructionObserver):
1745         * page/Navigator.cpp:
1746         (WebCore):
1747         * page/Navigator.h:
1748         (WebCore):
1749         (Navigator):
1750         * page/Navigator.idl:
1751
1752 2012-02-21  Shawn Singh  <shawnsingh@chromium.org>
1753
1754         [chromium] Refactor CCLayerTreeHostCommon: merge scattered setTargetRenderSurface logic
1755         https://bugs.webkit.org/show_bug.cgi?id=78936
1756
1757         Reviewed by James Robinson.
1758
1759         No change in behavior, the code moved around already covered by existing tests.
1760
1761         In calculateDrawTransformsAndVisibility(), there are two separate
1762         if-else statements where setTargetRenderSurface logic is
1763         performed, and this makes the code less readable and more error
1764         prone. This patch merges the logic, removing the redundant if-else
1765         statements.
1766
1767         This code also merges one other set of if-statements that are
1768         equivalent, if (layer->parent()) and if (layer!=rootLayer).
1769
1770         * platform/graphics/chromium/LayerChromium.cpp:
1771         (WebCore::LayerChromium::createRenderSurface):
1772         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1773         (WebCore::CCLayerImpl::createRenderSurface):
1774         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1775         (WebCore::calculateDrawTransformsAndVisibilityInternal):
1776
1777 2012-02-21  Kentaro Hara  <haraken@chromium.org>
1778
1779         Remove FIXME from resolve-supplemental.pl
1780         https://bugs.webkit.org/show_bug.cgi?id=79160
1781
1782         Reviewed by Adam Barth.
1783
1784         The IDL attribute checker has been enabled in all build systems.
1785         This patch removes FIXME in resolve-supplemental.pl.
1786         Also, this patch improves a comment in IDLAttributes.txt.
1787
1788         No tests. No change in behavior.
1789
1790         * bindings/scripts/IDLAttributes.txt:
1791         * bindings/scripts/resolve-supplemental.pl:
1792
1793 2012-02-21  Emil A Eklund  <eae@chromium.org>
1794
1795         Add FractionalLayoutRect for sub-pixel layout
1796         https://bugs.webkit.org/show_bug.cgi?id=78924
1797
1798         Reviewed by Eric Seidel.
1799
1800         Add FractionalLayoutUnit version of Rect class. Uses FractionalLayoutPoint
1801         and FractionalLayoutSize internally.
1802
1803         Also add conversions to int/float versions of same.
1804
1805         No new tests.
1806
1807         * GNUmakefile.list.am:
1808         * WebCore.vcproj/WebCore.vcproj:
1809         * WebCore.xcodeproj/project.pbxproj:
1810         * platform/graphics/FloatRect.cpp:
1811         (WebCore::FloatRect::FloatRect):
1812         (WebCore):
1813         * platform/graphics/FloatRect.h:
1814         (WebCore):
1815         (FloatRect):
1816         * platform/graphics/FractionalLayoutRect.cpp: Added.
1817         (WebCore):
1818         (WebCore::FractionalLayoutRect::FractionalLayoutRect):
1819         (WebCore::FractionalLayoutRect::intersects):
1820         (WebCore::FractionalLayoutRect::contains):
1821         (WebCore::FractionalLayoutRect::intersect):
1822         (WebCore::FractionalLayoutRect::unite):
1823         (WebCore::FractionalLayoutRect::uniteIfNonZero):
1824         (WebCore::FractionalLayoutRect::scale):
1825         (WebCore::unionRect):
1826         (WebCore::enclosingIntRect):
1827         (WebCore::enclosingFractionalLayoutRect):
1828         (WebCore::pixelSnappedIntRect):
1829         * platform/graphics/FractionalLayoutRect.h: Added.
1830         (WebCore):
1831         (FractionalLayoutRect):
1832         (WebCore::FractionalLayoutRect::FractionalLayoutRect):
1833         (WebCore::FractionalLayoutRect::location):
1834         (WebCore::FractionalLayoutRect::size):
1835         (WebCore::FractionalLayoutRect::setLocation):
1836         (WebCore::FractionalLayoutRect::setSize):
1837         (WebCore::FractionalLayoutRect::x):
1838         (WebCore::FractionalLayoutRect::y):
1839         (WebCore::FractionalLayoutRect::maxX):
1840         (WebCore::FractionalLayoutRect::maxY):
1841         (WebCore::FractionalLayoutRect::width):
1842         (WebCore::FractionalLayoutRect::height):
1843         (WebCore::FractionalLayoutRect::setX):
1844         (WebCore::FractionalLayoutRect::setY):
1845         (WebCore::FractionalLayoutRect::setWidth):
1846         (WebCore::FractionalLayoutRect::setHeight):
1847         (WebCore::FractionalLayoutRect::isEmpty):
1848         (WebCore::FractionalLayoutRect::center):
1849         (WebCore::FractionalLayoutRect::move):
1850         (WebCore::FractionalLayoutRect::moveBy):
1851         (WebCore::FractionalLayoutRect::expand):
1852         (WebCore::FractionalLayoutRect::contract):
1853         (WebCore::FractionalLayoutRect::shiftXEdgeTo):
1854         (WebCore::FractionalLayoutRect::shiftMaxXEdgeTo):
1855         (WebCore::FractionalLayoutRect::shiftYEdgeTo):
1856         (WebCore::FractionalLayoutRect::shiftMaxYEdgeTo):
1857         (WebCore::FractionalLayoutRect::minXMinYCorner):
1858         (WebCore::FractionalLayoutRect::maxXMinYCorner):
1859         (WebCore::FractionalLayoutRect::minXMaxYCorner):
1860         (WebCore::FractionalLayoutRect::maxXMaxYCorner):
1861         (WebCore::FractionalLayoutRect::contains):
1862         (WebCore::FractionalLayoutRect::inflateX):
1863         (WebCore::FractionalLayoutRect::inflateY):
1864         (WebCore::FractionalLayoutRect::inflate):
1865         (WebCore::FractionalLayoutRect::transposedRect):
1866         (WebCore::FractionalLayoutRect::infiniteRect):
1867         (WebCore::intersection):
1868         (WebCore::unionRect):
1869         (WebCore::operator==):
1870         (WebCore::operator!=):
1871         * platform/graphics/IntRect.cpp:
1872         (WebCore::IntRect::IntRect):
1873         (WebCore):
1874         * platform/graphics/IntRect.h:
1875         (WebCore):
1876         (IntRect):
1877
1878 2012-02-21  James Robinson  <jamesr@chromium.org>
1879
1880         Enable ScrollingCoordinator in chromium whenever compositing is enabled
1881         https://bugs.webkit.org/show_bug.cgi?id=79165
1882
1883         Reviewed by Adam Barth.
1884
1885         As the title says.
1886
1887         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1888         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1889         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1890         (WebCore::ScrollingCoordinator::setScrollLayer):
1891         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1892         (WebCore::ScrollingCoordinator::setScrollParameters):
1893         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
1894         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1895             Remove ASSERT_NOT_REACHED()ed from these functions, they are now expected to be called but do nothing.
1896         * rendering/RenderLayerBacking.cpp:
1897         (WebCore::RenderLayerBacking::RenderLayerBacking):
1898             Guard a mac-specific piece of code in #if PLATFORM(MAC). This code already has a FIXME.
1899         * rendering/RenderLayerCompositor.cpp:
1900         (WebCore::shouldCompositeOverflowControls):
1901             Make coordinatesScroll..() sufficient but not necessary for compositing overflow controls. In chromium, we
1902             want to composite overflow controls even for FrameViews that we aren't coordinating via the
1903             ScrollingCoordinator.
1904
1905 2012-02-21  Adam Klein  <adamk@chromium.org>
1906
1907         Setting innerText causes DOMSubtreeModified to be dispatched too early
1908         https://bugs.webkit.org/show_bug.cgi?id=79140
1909
1910         Reviewed by Ryosuke Niwa.
1911
1912         Followup to r108152: move children change notifications later in
1913         ContainerNode::removeChildren(), thus making sure Node::inDocument()
1914         is in the correct state when we call into script.
1915
1916         Tests: fast/dom/getElementById-consistency3.html
1917                fast/dom/getElementById-consistency4.html
1918                fast/dom/getElementById-consistency5.html
1919
1920         * dom/ContainerNode.cpp:
1921         (WebCore::ContainerNode::removeChildren):
1922
1923 2012-02-15  Ryosuke Niwa  <rniwa@webkit.org>
1924
1925         Assertion failure in TextIterator::handleTextBox
1926         https://bugs.webkit.org/show_bug.cgi?id=78530
1927
1928         Reviewed by Eric Seidel.
1929
1930         The assertion failure was caused by handleTextNodeFirstLetter's updating m_text without clearing
1931         m_sortedTextBoxesPosition. Re-structured handleTextNode so that we always reset m_sortedTextBoxesPosition
1932         when we have a first-letter.
1933
1934         Test: editing/text-iterator/rtl-first-letter-text-iterator-crash.html
1935
1936         * editing/TextIterator.cpp:
1937         (WebCore::TextIterator::handleTextNode):
1938         (WebCore::TextIterator::handleTextBox):
1939         (WebCore::TextIterator::handleTextNodeFirstLetter):
1940
1941 2012-02-21  Yael Aharon  <yael.aharon@nokia.com>
1942
1943         Unreviewed build fix.
1944
1945         No new tests.
1946
1947         * platform/graphics/opengl/TextureMapperGL.cpp:
1948
1949 2012-02-21  Adam Klein  <adamk@chromium.org>
1950
1951         ContainerNode::childrenChanged must be called immediately after removing children
1952         https://bugs.webkit.org/show_bug.cgi?id=79162
1953
1954         Reviewed by Ryosuke Niwa.
1955
1956         In r108152, a call to childrenChanged() was erroneously moved
1957         below the call to child->removedFromDocument(). This breaks, at the
1958         least, the behavior of the <title> element. This patch corrects the
1959         mistake and adds a test.
1960
1961         Test: fast/dom/title-directionality-removeChild.html
1962
1963         * dom/ContainerNode.cpp:
1964         (WebCore::ContainerNode::removeChild):
1965
1966 2012-02-21  Luke Macpherson   <macpherson@chromium.org>
1967
1968         Implement many instances of HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE in CSSStyleApplyProperty.
1969         https://bugs.webkit.org/show_bug.cgi?id=79067
1970
1971         Reviewed by Andreas Kling.
1972
1973         No new tests / refactoring only.
1974
1975         * css/CSSStyleApplyProperty.cpp:
1976         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1977         * css/CSSStyleSelector.cpp:
1978         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1979         * rendering/style/RenderStyle.h:
1980
1981 2012-02-21  Jon Lee  <jonlee@apple.com>
1982
1983         Bring notifications support to WK1 mac
1984         https://bugs.webkit.org/show_bug.cgi?id=78783
1985         <rdar://problem/10610578>
1986
1987         Reviewed by Anders Carlsson.
1988
1989         * WebCore.exp.in: Expose dispatchErrorEvent on Notification.
1990
1991 2012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
1992
1993         [Qt] Previous web page appears outside content rect
1994         https://bugs.webkit.org/show_bug.cgi?id=78816
1995
1996         Adjust the scissor clipping by -1, as the glScissor() function requires coordinates and
1997         not sizes.
1998
1999         Reviewed by Kenneth Rohde Christiansen.
2000
2001         No new functionality.
2002
2003         * platform/graphics/opengl/TextureMapperGL.cpp:
2004         (WebCore::scissorClip):
2005
2006 2012-02-21  Victor Carbune  <vcarbune@adobe.com>
2007
2008         Added support for pause-on-exit flag on a TextTrackCue.
2009         https://bugs.webkit.org/show_bug.cgi?id=72173
2010
2011         Reviewed by Eric Carlson.
2012
2013         Test: media/track/track-cues-pause-on-exit.html
2014
2015         * html/HTMLMediaElement.cpp:
2016         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Implemented
2017         support for pausing the video if the pause-on-exit flag is set on
2018         a cue that is currently exiting.
2019
2020 2012-02-21  Kentaro Hara  <haraken@chromium.org>
2021
2022         Enable the IDL attribute checker in all build systems
2023         https://bugs.webkit.org/show_bug.cgi?id=79090
2024
2025         Reviewed by Adam Barth.
2026
2027         We have enabled the IDL attribute checker in Chromium in r108322.
2028         This patch enables the IDL attribute checker in all other
2029         build systems.
2030
2031         No tests. I manually checked that [Custommm], [CallWith=],
2032         [CallWith=ScriptExecutionContext|Foo] cause build failures.
2033
2034         * CMakeLists.txt:
2035         * DerivedSources.make:
2036         * DerivedSources.pri:
2037         * GNUmakefile.am:
2038         * UseJSC.cmake:
2039         * UseV8.cmake:
2040         * WebCore.vcproj/WebCore.vcproj:
2041         * WebCore.xcodeproj/project.pbxproj:
2042         * bindings/scripts/IDLAttributes.txt: Added [ObjCCustomImplementation]
2043         since I forgot to add it in r108322.
2044
2045 2012-02-21  Yael Aharon  <yael.aharon@nokia.com>
2046
2047         [Texmap] Better management of shaders in TextureMapperGL
2048         https://bugs.webkit.org/show_bug.cgi?id=78674
2049  
2050         Reviewed by Noam Rosenthal.
2051  
2052         Split TextureMapperGL.cpp into two files.
2053         Get rid of the enums that we were using to identify shaders and to identify variables.
2054         Switch flip and opaque from using bool to using enums.
2055  
2056         No new tests. This is refactoring only.
2057  
2058         * GNUmakefile.list.am:
2059         * Target.pri:
2060         * WebCore.gypi:
2061         * platform/graphics/OpenGLShims.h:
2062         * platform/graphics/opengl/TextureMapperGL.cpp:
2063         (WebCore):
2064         (SharedGLData):
2065         (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
2066         (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
2067         (WebCore::TextureMapperGLData::TextureMapperGLData):
2068         (TextureMapperGLData):
2069         (WebCore::TextureMapperGL::drawTexture):
2070         (WebCore::TextureMapperGL::drawTextureWithMaskAndOpacity):
2071         (WebCore::TextureMapperGL::drawTextureSimple):
2072         (WebCore::TextureMapperGL::beginClip):
2073         * platform/graphics/opengl/TextureMapperGL.h:
2074         * platform/graphics/opengl/TextureMapperShaderManager.cpp: Added.
2075         (WebCore):
2076         (WebCore::FRAGMENT_SHADER):
2077         (WebCore::TextureMapperShaderProgram::initializeProgram):
2078         (WebCore::TextureMapperShaderProgram::getUniformLocation):
2079         (WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram):
2080         (WebCore::TextureMapperShaderProgramSimple::create):
2081         (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple):
2082         (WebCore::TextureMapperShaderProgramSimple::vertexShaderSource):
2083         (WebCore::TextureMapperShaderProgramSimple::fragmentShaderSource):
2084         (WebCore::TextureMapperShaderProgramOpacityAndMask::create):
2085         (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask):
2086         (WebCore::TextureMapperShaderProgramOpacityAndMask::vertexShaderSource):
2087         (WebCore::TextureMapperShaderProgramOpacityAndMask::fragmentShaderSource):
2088         (WebCore::TextureMapperShaderProgramClip::create):
2089         (WebCore::TextureMapperShaderProgramClip::TextureMapperShaderProgramClip):
2090         (WebCore::TextureMapperShaderProgramClip::vertexShaderSource):
2091         (WebCore::TextureMapperShaderProgramClip::fragmentShaderSource):
2092         (WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
2093         (WebCore::TextureMapperShaderManager::~TextureMapperShaderManager):
2094         * platform/graphics/opengl/TextureMapperShaderManager.h: Added.
2095         (WebCore):
2096         (WebCore::debugGLCommand):
2097         (TextureMapperShaderProgram):
2098         (WebCore::TextureMapperShaderProgram::id):
2099         (WebCore::TextureMapperShaderProgram::vertexAttrib):
2100         (WebCore::TextureMapperShaderProgram::shaderType):
2101         (TextureMapperShaderProgramSimple):
2102         (WebCore::TextureMapperShaderProgramSimple::matrixVariable):
2103         (WebCore::TextureMapperShaderProgramSimple::sourceMatrixVariable):
2104         (WebCore::TextureMapperShaderProgramSimple::sourceTextureVariable):
2105         (WebCore::TextureMapperShaderProgramSimple::opacityVariable):
2106         (TextureMapperShaderProgramOpacityAndMask):
2107         (WebCore::TextureMapperShaderProgramOpacityAndMask::sourceMatrixVariable):
2108         (WebCore::TextureMapperShaderProgramOpacityAndMask::matrixVariable):
2109         (WebCore::TextureMapperShaderProgramOpacityAndMask::maskMatrixVariable):
2110         (WebCore::TextureMapperShaderProgramOpacityAndMask::sourceTextureVariable):
2111         (WebCore::TextureMapperShaderProgramOpacityAndMask::maskTextureVariable):
2112         (WebCore::TextureMapperShaderProgramOpacityAndMask::opacityVariable):
2113         (TextureMapperShaderProgramClip):
2114         (WebCore::TextureMapperShaderProgramClip::matrixVariable):
2115         (TextureMapperShaderManager):
2116         (WebCore::TextureMapperShaderManager::getShaderProgram):
2117         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2118         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
2119         * platform/graphics/texmap/TextureMapper.h:
2120         (WebCore::BitmapTexture::reset):
2121         (WebCore::BitmapTexture::isOpaque):
2122         (BitmapTexture):
2123
2124 2012-02-21  Anders Carlsson  <andersca@apple.com>
2125
2126         The tile cache should keep track of the tile coverage rect
2127         https://bugs.webkit.org/show_bug.cgi?id=79149
2128         <rdar://problem/10877338>
2129
2130         Reviewed by Andreas Kling.
2131
2132         Keep track of the tile coverage rect and use it to avoid trying to iterate over non-existent tiles on large pages.
2133
2134         * platform/graphics/ca/mac/TileCache.h:
2135         (TileCache):
2136         * platform/graphics/ca/mac/TileCache.mm:
2137         (WebCore::TileCache::setNeedsDisplayInRect):
2138         (WebCore::TileCache::revalidateTiles):
2139
2140 2012-02-21  Andreas Kling  <awesomekling@apple.com>
2141
2142         Make WebKitCSSShaderValue inherit directly from CSSValue.
2143         <http://webkit.org/b/79144>
2144
2145         Reviewed by Antti Koivisto.
2146
2147         WebKitCSSShaderValue was inheriting from CSSPrimitiveValue but only used
2148         it for storing the shader URL. Moved that to a String member instead.
2149
2150         WebKitCSSShaderValues didn't even return true for isPrimitiveValue() so
2151         there should be no behavior change whatsoever here.
2152
2153         * css/WebKitCSSShaderValue.cpp:
2154         (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
2155         (WebCore::WebKitCSSShaderValue::cachedShader):
2156         (WebCore::WebKitCSSShaderValue::customCssText):
2157         * css/WebKitCSSShaderValue.h:
2158         (WebKitCSSShaderValue):
2159
2160 2012-02-21  James Robinson  <jamesr@chromium.org>
2161
2162         Unreviewed windows build fix - avoid return statement after return if USE(ACCELERATED_COMPOSITING) is set.
2163
2164         * page/scrolling/ScrollingCoordinator.cpp:
2165         (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
2166
2167 2012-02-21  James Robinson  <jamesr@chromium.org>
2168
2169         ScrollingCoordinator::coordinatesScrollingForFrameView should be conditional on compositing being active
2170         https://bugs.webkit.org/show_bug.cgi?id=79126
2171
2172         Reviewed by Anders Carlsson.
2173
2174         The ScrollingCoordinator should only attempt to coordinate scrolling when compositing is active, since it's all
2175         about manipulating GraphicsLayers. Adds a runtime check.
2176
2177         Also removes some stray #if ENABLE(THREADED_SCROLLING) guards that snuck into FrameView.
2178
2179         * page/FrameView.cpp:
2180         (WebCore::FrameView::addFixedObject):
2181         (WebCore::FrameView::removeFixedObject):
2182         * page/scrolling/ScrollingCoordinator.cpp:
2183         (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
2184         (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
2185
2186 2012-02-21  James Robinson  <jamesr@chromium.org>
2187
2188         Chromium build fix. Unreviwed but rubber-stamped by Antti.
2189
2190         * dom/Document.cpp:
2191         * editing/ReplaceSelectionCommand.cpp:
2192         * inspector/InspectorStyleSheet.h:
2193
2194 2012-02-21  Eric Carlson  <eric.carlson@apple.com>
2195
2196         Set Referrer header for media downloads
2197         https://bugs.webkit.org/show_bug.cgi?id=78614
2198
2199         Reviewed by Alexey Proskuryakov.
2200
2201         Test: http/tests/media/video-referer.html was modified to test this change.
2202
2203         * html/HTMLMediaElement.cpp:
2204         (WebCore::HTMLMediaElement::mediaPlayerReferrer): New, return the document's referer.
2205         * html/HTMLMediaElement.h:
2206
2207         * platform/graphics/MediaPlayer.cpp:
2208         (WebCore::MediaPlayer::referrer): New, return the client's mediaPlayerReferrer.
2209         * platform/graphics/MediaPlayer.h:
2210         (WebCore::MediaPlayerClient::mediaPlayerReferrer):
2211
2212         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2213         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2214         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation to add
2215             a referer header.
2216
2217 2012-02-21  Antti Koivisto  <antti@apple.com>
2218
2219         Not reviewed.
2220
2221         Remove some obsolete comments, use consistent name for propertyID.
2222
2223         * css/StylePropertySet.h:
2224         (StylePropertySet):
2225
2226 2012-02-21  Antti Koivisto  <antti@apple.com>
2227
2228         Clean up StylePropertySet included headers
2229         https://bugs.webkit.org/show_bug.cgi?id=79134
2230
2231         Reviewed by Andreas Kling.
2232
2233         Remove unneccesary includes.
2234
2235         * bindings/js/JSDOMBinding.h:
2236         * css/StylePropertySet.cpp:
2237         * css/StylePropertySet.h:
2238         (WebCore):
2239         (StylePropertySet):
2240         * editing/RemoveCSSPropertyCommand.cpp:
2241
2242 2012-02-21  Lin Wei  <wei.a.lin@intel.com>
2243
2244         Fix bug from r107672.
2245         https://bugs.webkit.org/show_bug.cgi?id=78773
2246
2247         Before set MediaStreamTrack disable/enable operation,
2248         checking the status of MediaStream that contains this MediaStreamTrack.
2249         if MediaStream is finished, then skipping operation of 
2250         didSetMediaStreamTrackEnabled().
2251
2252         Reviewed by Adam Barth.
2253         * mediastream/MediaStreamTrack.cpp:
2254         (WebCore::MediaStreamTrack::setEnabled):
2255
2256 2012-02-21  Julien Chaffraix  <jchaffraix@webkit.org>
2257
2258         Move RenderLayer::scrolledContentOffset calls to a common function
2259         https://bugs.webkit.org/show_bug.cgi?id=76971
2260
2261         Reviewed by David Hyatt.
2262
2263         Refactoring without any change in behavior.
2264
2265         This change adds a RenderBox::scrolledContentOffset function to handle all
2266         the calls that goes through the layer(). This indirection will enable us to
2267         add layer() checks without patching a lot of call sites as part of bug 75568.
2268
2269         We also moved down the concept of scroll offset down to RenderBox where it belongs!
2270
2271         * rendering/RenderLayer.h:
2272         (RenderLayer):
2273         (WebCore::RenderLayer::scrolledContentOffset):
2274         Moved scrolledContent to the private section of the class to prevent misuse.
2275
2276         * rendering/RenderBox.cpp:
2277         (WebCore::RenderBox::scrolledContentOffset):
2278         New function to add an indirection with RenderLayer.
2279
2280         * editing/visible_units.cpp:
2281         (WebCore::absoluteLineDirectionPointToLocalPointInBlock):
2282         * rendering/LayoutState.cpp:
2283         (WebCore::LayoutState::LayoutState):
2284         * rendering/RenderBlock.cpp:
2285         (WebCore::RenderBlock::layoutBlock):
2286         (WebCore::RenderBlock::paintObject):
2287         (WebCore::RenderBlock::selectionGapRectsForRepaint):
2288         (WebCore::RenderBlock::paintSelection):
2289         (WebCore::RenderBlock::nodeAtPoint):
2290         (WebCore::RenderBlock::offsetForContents):
2291         * rendering/RenderBox.cpp:
2292         (WebCore::RenderBox::offsetFromContainer):
2293         (WebCore::RenderBox::computeRectForRepaint):
2294         * rendering/RenderBox.h:
2295         (RenderBox):
2296         * rendering/RenderBoxModelObject.cpp:
2297         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2298         * rendering/RenderInline.cpp:
2299         (WebCore::RenderInline::clippedOverflowRectForRepaint):
2300         (WebCore::RenderInline::computeRectForRepaint):
2301         (WebCore::RenderInline::offsetFromContainer):
2302         * rendering/RenderObject.cpp:
2303         (WebCore::RenderObject::computeRectForRepaint):
2304         (WebCore::RenderObject::mapLocalToContainer):
2305         (WebCore::RenderObject::mapAbsoluteToLocalPoint):
2306         (WebCore::RenderObject::offsetFromContainer):
2307         * rendering/RenderTextControlSingleLine.cpp:
2308         (WebCore::RenderTextControlInnerBlock::positionForPoint):
2309         Patched all those call sites to use the new function.
2310
2311 2012-02-21  Emil A Eklund  <eae@chromium.org>
2312
2313         Remove obsolete float comparison FIXMEs
2314         https://bugs.webkit.org/show_bug.cgi?id=79127
2315
2316         Reviewed by Eric Seidel.
2317
2318         Remove obsolete FIXME comments added back when we were planning to use
2319         floating point units for layout.
2320
2321         No new tests, no code changes.
2322
2323         * page/FrameView.cpp:
2324         (WebCore::FrameView::init):
2325         * rendering/RenderBlock.cpp:
2326         (WebCore::RenderBlock::layoutBlock):
2327         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
2328         (WebCore::RenderBlock::getClearDelta):
2329         * rendering/RenderBox.cpp:
2330         (WebCore::RenderBox::computeLogicalHeight):
2331         (WebCore::RenderBox::computeLogicalHeightUsing):
2332         (WebCore::RenderBox::computePercentageLogicalHeight):
2333         * rendering/RenderBoxModelObject.cpp:
2334         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
2335
2336 2012-02-21  Alexander Pavlov  <apavlov@chromium.org>
2337
2338         Web Inspector: it is nearly impossible to select and copy text on the Elements panel.
2339         https://bugs.webkit.org/show_bug.cgi?id=60814
2340
2341         Reviewed by Pavel Feldman.
2342
2343         * inspector/front-end/inspector.js:
2344         (WebInspector.documentClick.followLink):
2345         (WebInspector.documentClick):
2346
2347 2012-02-21  Abhishek Arya  <inferno@chromium.org>
2348
2349         Crash in RenderTableSection::nodeAtPoint.
2350         https://bugs.webkit.org/show_bug.cgi?id=78922
2351
2352         Reviewed by Julien Chaffraix.
2353
2354         Test: fast/table/table-section-node-at-point-crash.html
2355
2356         * rendering/RenderTableSection.cpp:
2357         (WebCore::RenderTableSection::nodeAtPoint): recalc cells if the
2358         m_needsCellRecalc is set. Otherwise, we will end up accessing
2359         removed table cells.
2360
2361 2012-02-21  Antti Koivisto  <antti@apple.com>
2362
2363         Move PropertySetCSSStyleDeclaration to a file of its own
2364         https://bugs.webkit.org/show_bug.cgi?id=79121
2365
2366         Rubber-stamped by Andreas Kling.
2367
2368         This makes StylePropertySet.cpp more readable.
2369
2370         * CMakeLists.txt:
2371         * GNUmakefile.list.am:
2372         * Target.pri:
2373         * WebCore.gypi:
2374         * WebCore.vcproj/WebCore.vcproj:
2375         * WebCore.xcodeproj/project.pbxproj:
2376         * css/PropertySetCSSStyleDeclaration.cpp: Copied from Source/WebCore/css/StylePropertySet.cpp.
2377         (WebCore::PropertySetCSSStyleDeclaration::ref):
2378         (WebCore::PropertySetCSSStyleDeclaration::deref):
2379         (WebCore):
2380         * css/PropertySetCSSStyleDeclaration.h: Added.
2381         (WebCore):
2382         (PropertySetCSSStyleDeclaration):
2383         (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
2384         (WebCore::PropertySetCSSStyleDeclaration::parentElement):
2385         (WebCore::PropertySetCSSStyleDeclaration::clearParentRule):
2386         (WebCore::PropertySetCSSStyleDeclaration::clearParentElement):
2387         (WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):
2388         (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
2389         (RuleCSSStyleDeclaration):
2390         (WebCore::RuleCSSStyleDeclaration::RuleCSSStyleDeclaration):
2391         (WebCore::RuleCSSStyleDeclaration::parentRule):
2392         (WebCore::RuleCSSStyleDeclaration::clearParentRule):
2393         (InlineCSSStyleDeclaration):
2394         (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
2395         (WebCore::InlineCSSStyleDeclaration::parentElement):
2396         (WebCore::InlineCSSStyleDeclaration::clearParentElement):
2397         * css/StylePropertySet.cpp:
2398         (WebCore):
2399
2400 2012-02-21  Philippe Normand  <pnormand@igalia.com>
2401
2402         [GTK] WebAudio build is broken
2403         https://bugs.webkit.org/show_bug.cgi?id=79113
2404
2405         Reviewed by Martin Robinson.
2406
2407         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
2408         (webKitWebAudioGStreamerChannelPosition): Set a default value for
2409         the position variable.
2410         * platform/audio/gtk/AudioBusGtk.cpp: Include CString.h, needed
2411         for sharedResourcesPath().
2412
2413 2012-02-21  Andreas Kling  <awesomekling@apple.com>
2414
2415         Kill FontFamilyValue.
2416         <http://webkit.org/b/79103>
2417
2418         Reviewed by Antti Koivisto.
2419
2420         Remove FontFamilyValue and replace all usage by CSSPrimitiveValue.
2421         The class was only used to filter font family names, removing bracketed
2422         suffixes, e.g "[Xft]".
2423
2424         This was added to KHTML in 2002 to support the use of specific X11 font
2425         families inside KMail: <https://bugs.kde.org/show_bug.cgi?id=38808>
2426
2427         Test: fast/css/font-family-trailing-bracket-gunk.html
2428
2429         * CMakeLists.txt:
2430         * GNUmakefile.list.am:
2431         * Target.pri:
2432         * WebCore.gypi:
2433         * WebCore.order:
2434         * WebCore.vcproj/WebCore.vcproj:
2435         * WebCore.xcodeproj/project.pbxproj:
2436         * css/CSSFontSelector.cpp:
2437         (WebCore::CSSFontSelector::addFontFaceRule):
2438         * css/CSSParser.cpp:
2439         * css/CSSStyleSelector.cpp:
2440         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2441         * css/CSSValue.cpp:
2442         (WebCore::CSSValue::cssText):
2443         (WebCore::CSSValue::destroy):
2444         * css/CSSValue.h:
2445         * css/CSSValuePool.cpp:
2446         (WebCore::CSSValuePool::createFontFamilyValue):
2447         * css/CSSValuePool.h:
2448         (CSSValuePool):
2449         * css/FontFamilyValue.cpp: Removed.
2450         * css/FontFamilyValue.h: Removed.
2451
2452 2012-02-21  Alexis Menard  <alexis.menard@openbossa.org>
2453
2454         Little optimization for CSSParser::parseFillShorthand.
2455         https://bugs.webkit.org/show_bug.cgi?id=79042
2456
2457         Reviewed by Hajime Morita.
2458
2459         Remove one extra loop that we can combine with the following one
2460         which adds the properties to the parser's list of properties. I also
2461         removed a useless check.
2462         Instruments shows on the css-parser-yui benchmark an improvement
2463         of 13ms (from 77ms spent in the function to 64ms).
2464
2465         No new tests : refactoring, existings tests should cover.
2466
2467         * css/CSSParser.cpp:
2468         (WebCore::CSSParser::parseFillShorthand):
2469
2470 2012-02-20  David Hyatt  <hyatt@apple.com>
2471
2472         https://bugs.webkit.org/show_bug.cgi?id=79046
2473         
2474         width of overflow:hidden blocks is wrong when their margins overlap floats.
2475         
2476         Relevant discussion is here: http://lists.w3.org/Archives/Public/www-style/2012Feb/0954.html
2477         
2478         This patch makes the following changes to how objects shrink when avoiding floats:
2479         (1) The containing block width used for percentage calculations is now constant. This means that
2480         an overflow:hidden block with a margin-left of 10% will no longer change what 10% means depending
2481         on the available line width. From a code perspective, containingBlockLogicalWidthForContent and
2482         containingBlockLogicalWidthForContentInRegion no longer contain any special-case code for
2483         shrinkToAvoidFloats() objects.
2484
2485         (2) Now the computation of the logical width for the shrinking object itself handles the adjustments.
2486         Two kinds of adjustments are made for both the start and end margins. Conceptually what we do is shrink
2487         the object to the available line width minus our margins, and then expand the width back out to the content edge
2488         or to the float edge as necessary. If the float fully fits in the margin, then we expand back out to the
2489         content edge. Otherwise if the float doesn't fit, then we expand only to the float edge, making sure our
2490         margin overlaps with the float. This expansion is not performed for negative margins, since our result is already
2491         correct in that case.
2492         
2493         Reviewed by Dan Bernstein.
2494
2495         Added the new tests from the thread on www-style about this issue (from Alan Gresley and George Talbot)
2496         in fast/block/float.
2497
2498         * rendering/RenderBlock.cpp:
2499         (WebCore::RenderBlock::containsFloat):
2500         * rendering/RenderBlock.h:
2501         (WebCore::RenderBlock::containsFloats):
2502         Changed to be const.
2503
2504         (WebCore::RenderBlock::endOffsetForLine):
2505         (WebCore::RenderBlock::endOffsetForContent):
2506         Added endOffsetForXXX methods to mirror their startOffset counterparts. Used by the width adjustment code.
2507
2508         * rendering/RenderBox.cpp:
2509         (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
2510         New method that handles shrinking the logical width to the line width (and then re-expanding back out to the
2511         float and/or content edges as needed).
2512
2513         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
2514         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
2515         Patched to no longer do the shrinking of objects to avoid floats.
2516
2517         (WebCore::RenderBox::computeLogicalWidthInRegion):
2518         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
2519         Patched to handle calling the new shrinking code to adjust our logical width.
2520
2521         * rendering/RenderBox.h:
2522         (RenderBox):
2523         The signature of computeLogicalWithUsing changed to be region-specific and to carry along enough information
2524         to efficiently perform the shrinking.
2525
2526         * rendering/RenderTable.cpp:
2527         (WebCore::RenderTable::computeLogicalWidth):
2528         Patched to handle calling the new shrinking code to adjust our logical width.
2529
2530 2012-02-21  Sam Weinig  <sam@webkit.org>
2531
2532         Attempt to fix the Snow Leopard build.
2533
2534         * Configurations/Base.xcconfig:
2535
2536 2012-02-21  Sam Weinig  <sam@webkit.org>
2537
2538         Use libc++ when building with Clang on Mac
2539         https://bugs.webkit.org/show_bug.cgi?id=78981
2540
2541         Reviewed by Dan Bernstein.
2542
2543         * Configurations/Base.xcconfig:
2544
2545 2012-02-21  Adam Roben  <aroben@apple.com>
2546
2547         Mac build fix
2548
2549         * WebCore.xcodeproj/project.pbxproj: Mark TextTrack.h and TextTrackCue.h private so that
2550         WebKit can include them.
2551
2552 2012-02-21  Andras Becsi  <andras.becsi@nokia.com>
2553
2554         [Qt][WK2] Fix the N9 build
2555         https://bugs.webkit.org/show_bug.cgi?id=79101
2556
2557         Reviewed by Noam Rosenthal.
2558
2559         No new tests needed.
2560
2561         * platform/graphics/opengl/TextureMapperGL.cpp: Add missing include.
2562
2563 2012-02-21  Adam Roben  <aroben@apple.com>
2564
2565         Roll out r108309, r108323, and r108326
2566
2567         They broke the 32-bit Lion build.
2568
2569         Original bugs is <http://webkit.org/b/75812> <rdar://problem/10079694>.
2570
2571         * CMakeLists.txt:
2572
2573 2012-02-21  Alexander Pavlov  <apavlov@chromium.org>
2574
2575         Web Inspector: [SuggestBox] textPrompt.css disablement displays garbled suggest box
2576         https://bugs.webkit.org/show_bug.cgi?id=79107
2577
2578         Reviewed by Pavel Feldman.
2579
2580         * inspector/front-end/TextPrompt.js:
2581         (WebInspector.TextPrompt.SuggestBox):
2582         (WebInspector.TextPrompt.SuggestBox.prototype.get visible):
2583         (WebInspector.TextPrompt.SuggestBox.prototype.hide):
2584         (WebInspector.TextPrompt.SuggestBox.prototype.removeFromElement):
2585         (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
2586         * inspector/front-end/textPrompt.css:
2587         (.suggest-box):
2588
2589 2012-02-21  Yury Semikhatsky  <yurys@chromium.org>
2590
2591         Web Inspector: timeline hangs on a page with deep chain of nested events.
2592         https://bugs.webkit.org/show_bug.cgi?id=79106
2593
2594         Use stack of states instead of recursive calls when traversing records tree to
2595         avoid stack overflow.
2596
2597         Reviewed by Pavel Feldman.
2598
2599         * inspector/front-end/TimelineOverviewPane.js:
2600         (WebInspector.TimelineOverviewPane.prototype._forAllRecords):
2601         * inspector/front-end/TimelinePanel.js:
2602         (WebInspector.TimelinePanel.prototype._filterRecords):
2603
2604 2012-02-21  Pavel Feldman  <pfeldman@google.com>
2605
2606         Web Inspector: [crash] upon style modification after navigation
2607         https://bugs.webkit.org/show_bug.cgi?id=79108
2608
2609         Reviewed by Yury Semikhatsky.
2610
2611         * inspector/InspectorHistory.cpp:
2612         (WebCore::InspectorHistory::undo):
2613         (WebCore::InspectorHistory::redo):
2614         (WebCore::InspectorHistory::reset):
2615
2616 2012-02-21  Patrick Gansterer  <paroga@webkit.org>
2617
2618         Use WTF::cryptographicallyRandomValues in FileSystemWin.cpp
2619         https://bugs.webkit.org/show_bug.cgi?id=79089
2620
2621         Reviewed by Adam Roben.
2622
2623         Avoid loading and unloading of the crypto library during every
2624         call to openTemporaryFile() and make the code easier.
2625
2626         * platform/win/FileSystemWin.cpp:
2627         (WebCore::openTemporaryFile):
2628
2629 2012-02-21  Alexander Færøy  <alexander.faeroy@nokia.com>
2630
2631         Remove stylesheet pointer from StylePropertySet
2632         https://bugs.webkit.org/show_bug.cgi?id=79092
2633
2634         Reviewed by Csaba Osztrogonác.
2635
2636         Qt buildfix after r108345.
2637
2638         * css/CSSParser.cpp:
2639         (WebCore::parseColorValue):
2640
2641 2012-02-21  Csaba Osztrogonác  <ossy@webkit.org>
2642
2643         Remove stylesheet pointer from StylePropertySet
2644         https://bugs.webkit.org/show_bug.cgi?id=79092
2645
2646         Reviewed by Antti Koivisto.
2647
2648         Qt buildfix after r108345. We need this workaround because of buggy gcc (4.4.5), which
2649         reported a false warning: 'value$m_ptr' may be used uninitialized in this function
2650
2651         * css/CSSParser.cpp:
2652         (WebCore::parseSimpleLengthValue):
2653
2654 2012-02-21  Andreas Kling  <awesomekling@apple.com>
2655
2656         Shrink attribute style property sets after populating them.
2657         <http://webkit.org/b/78972>
2658
2659         Reviewed by Antti Koivisto.
2660
2661         Add a StylePropertySet::shrinkToFit() and call it at the end of updateStyleAttribute()
2662         to minimize the amount of wasted space.
2663
2664         * css/StylePropertySet.h:
2665         (WebCore::StylePropertySet::shrinkToFit):
2666         * dom/StyledElement.cpp:
2667         (WebCore::StyledElement::updateAttributeStyle):
2668
2669 2012-02-21  Antti Koivisto  <antti@apple.com>
2670
2671         Remove stylesheet pointer from StylePropertySet
2672         https://bugs.webkit.org/show_bug.cgi?id=79092
2673
2674         Reviewed by Andreas Kling.
2675
2676         The context should be passed as an argument for CSS parser invoking setters that actually need it.
2677         
2678         - Remove the context stylesheet pointer.
2679         - Add context stylesheet argument to setters.
2680         - Drop an unnecessary StylePropertySet constructor, pass strict parsing flag directly.
2681         - Adapt to changes by passing in the context stylesheet where needed.
2682         - Add StyledElement::applyPresentationAttributeToStyle helpers for building up the attribute style.
2683
2684         * css/CSSFontFaceRule.cpp:
2685         (WebCore::CSSFontFaceRule::addSubresourceStyleURLs):
2686         * css/CSSParser.cpp:
2687         (WebCore::parseColorValue):
2688         (WebCore::parseSimpleLengthValue):
2689         (WebCore::CSSParser::parseValue):
2690         (WebCore::CSSParser::parseDeclaration):
2691         (WebCore::CSSParser::createStyleRule):
2692         (WebCore::CSSParser::createFontFaceRule):
2693         (WebCore::CSSParser::createPageRule):
2694         (WebCore::CSSParser::createKeyframeRule):
2695         * css/CSSParser.h:
2696         (CSSParser):
2697         * css/CSSStyleRule.cpp:
2698         (WebCore::CSSStyleRule::addSubresourceStyleURLs):
2699         * css/StylePropertySet.cpp:
2700         (WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):
2701         (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
2702         (RuleCSSStyleDeclaration):
2703         (InlineCSSStyleDeclaration):
2704         (WebCore):
2705         (WebCore::StylePropertySet::StylePropertySet):
2706         (WebCore::StylePropertySet::setProperty):
2707         (WebCore::StylePropertySet::parseDeclaration):
2708         (WebCore::StylePropertySet::addSubresourceStyleURLs):
2709         (WebCore::StylePropertySet::clearParentRule):
2710         (WebCore::StylePropertySet::clearParentElement):
2711         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
2712         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
2713         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
2714         (WebCore::PropertySetCSSStyleDeclaration::parentStyleSheet):
2715         (WebCore::RuleCSSStyleDeclaration::setNeedsStyleRecalc):
2716         (WebCore::RuleCSSStyleDeclaration::contextStyleSheet):
2717         (WebCore::InlineCSSStyleDeclaration::contextStyleSheet):
2718         (SameSizeAsStylePropertySet):
2719         * css/StylePropertySet.h:
2720         (WebCore::StylePropertySet::create):
2721         (StylePropertySet):
2722         * css/WebKitCSSMatrix.cpp:
2723         (WebCore::WebKitCSSMatrix::setMatrixValue):
2724         * dom/ElementAttributeData.cpp:
2725         (WebCore::ElementAttributeData::ensureInlineStyleDecl):
2726         * dom/StyledElement.cpp:
2727         (WebCore):
2728         (WebCore::StyledElement::parseAttribute):
2729         (WebCore::StyledElement::setInlineStyleProperty):
2730         (WebCore::StyledElement::addSubresourceAttributeURLs):
2731         (WebCore::StyledElement::updateAttributeStyle):
2732         * dom/StyledElement.h:
2733         (StyledElement):
2734         (WebCore::StyledElement::applyPresentationAttributeToStyle):
2735         (WebCore):
2736         * html/HTMLBRElement.cpp:
2737         (WebCore::HTMLBRElement::collectStyleForAttribute):
2738         * html/HTMLBodyElement.cpp:
2739         (WebCore::HTMLBodyElement::collectStyleForAttribute):
2740         * html/HTMLDivElement.cpp:
2741         (WebCore::HTMLDivElement::collectStyleForAttribute):
2742         * html/HTMLElement.cpp:
2743         (WebCore::HTMLElement::applyBorderAttributeToStyle):
2744         (WebCore::HTMLElement::mapLanguageAttributeToLocale):
2745         (WebCore::HTMLElement::collectStyleForAttribute):
2746         (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
2747         (WebCore::HTMLElement::addHTMLLengthToStyle):
2748         (WebCore::HTMLElement::addHTMLColorToStyle):
2749         * html/HTMLElement.h:
2750         (HTMLElement):
2751         * html/HTMLFontElement.cpp:
2752         (WebCore::HTMLFontElement::collectStyleForAttribute):
2753         * html/HTMLHRElement.cpp:
2754         (WebCore::HTMLHRElement::collectStyleForAttribute):
2755         * html/HTMLImageElement.cpp:
2756         (WebCore::HTMLImageElement::collectStyleForAttribute):
2757         * html/HTMLLIElement.cpp:
2758         (WebCore::HTMLLIElement::collectStyleForAttribute):
2759         * html/HTMLMarqueeElement.cpp:
2760         (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
2761         * html/HTMLOListElement.cpp:
2762         (WebCore::HTMLOListElement::collectStyleForAttribute):
2763         * html/HTMLParagraphElement.cpp:
2764         (WebCore::HTMLParagraphElement::collectStyleForAttribute):
2765         * html/HTMLTableCaptionElement.cpp:
2766         (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
2767         * html/HTMLTableCellElement.cpp:
2768         (WebCore::HTMLTableCellElement::collectStyleForAttribute):
2769         * html/HTMLTableElement.cpp:
2770         (WebCore::HTMLTableElement::collectStyleForAttribute):
2771         * html/HTMLTablePartElement.cpp:
2772         (WebCore::HTMLTablePartElement::collectStyleForAttribute):
2773         * html/HTMLTextAreaElement.cpp:
2774         (WebCore::HTMLTextAreaElement::collectStyleForAttribute):
2775         * html/HTMLUListElement.cpp:
2776         (WebCore::HTMLUListElement::collectStyleForAttribute):
2777         * html/canvas/CanvasRenderingContext2D.cpp:
2778         (WebCore::CanvasRenderingContext2D::setFont):
2779         * mathml/MathMLElement.cpp:
2780         (WebCore::MathMLElement::collectStyleForAttribute):
2781         * svg/SVGFontFaceElement.cpp:
2782         (WebCore::SVGFontFaceElement::insertedIntoDocument):
2783         (WebCore::SVGFontFaceElement::removedFromDocument):
2784         (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
2785         * svg/SVGImageElement.cpp:
2786         (WebCore::SVGImageElement::collectStyleForAttribute):
2787         * svg/SVGStyledElement.cpp:
2788         (WebCore::SVGStyledElement::collectStyleForAttribute):
2789         * svg/SVGTextContentElement.cpp:
2790         (WebCore::SVGTextContentElement::collectStyleForAttribute):
2791
2792 2012-02-21  Yury Semikhatsky  <yurys@chromium.org>
2793
2794         [V8] Web Inspector: set breakpoint/pause doesn't work when worker is in a tight loop
2795         https://bugs.webkit.org/show_bug.cgi?id=79097
2796
2797         Worker script will be interrupted to dispatch all arriving inspector commands.
2798         This way debugger will be operable even if worker is in a tight loop.
2799
2800         Reviewed by Pavel Feldman.
2801
2802         * bindings/js/ScriptDebugServer.h:
2803         (Task):
2804         (WebCore::ScriptDebugServer::Task::~Task):
2805         (ScriptDebugServer):
2806         * bindings/js/WorkerScriptDebugServer.cpp:
2807         (WebCore::WorkerScriptDebugServer::interruptAndRunTask):
2808         (WebCore):
2809         * bindings/js/WorkerScriptDebugServer.h:
2810         (WorkerScriptDebugServer):
2811         * bindings/v8/ScriptDebugServer.cpp:
2812         (WebCore::ScriptDebugServer::interruptAndRun):
2813         * bindings/v8/ScriptDebugServer.h:
2814         (ScriptDebugServer):
2815         * bindings/v8/WorkerScriptDebugServer.cpp:
2816         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
2817         (WebCore::WorkerScriptDebugServer::interruptAndRunTask):
2818         (WebCore):
2819         * bindings/v8/WorkerScriptDebugServer.h:
2820         (v8):
2821         (WebCore):
2822         (WorkerScriptDebugServer):
2823         * inspector/WorkerDebuggerAgent.cpp:
2824         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
2825         (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
2826         (WebCore):
2827         (WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):
2828         * inspector/WorkerDebuggerAgent.h:
2829         (WebCore):
2830         (WorkerDebuggerAgent):
2831         * workers/WorkerMessagingProxy.cpp:
2832         (WebCore):
2833         (WebCore::WorkerMessagingProxy::sendMessageToInspector):
2834         * workers/WorkerRunLoop.cpp:
2835         (WebCore::WorkerRunLoop::run):
2836         (WebCore::WorkerRunLoop::runInMode):
2837         * workers/WorkerRunLoop.h:
2838         (WorkerRunLoop):
2839
2840 2012-02-21  'Pavel Feldman'  <pfeldman@google.com>
2841
2842         Not reviewed: fixing Mac build (take 2).
2843
2844         * inspector/InspectorPageAgent.cpp:
2845         (WebCore::InspectorPageAgent::setShowPaintRects):
2846
2847 2012-02-21  'Pavel Feldman'  <pfeldman@google.com>
2848
2849         Not reviewed: fixing Mac build.
2850
2851         * inspector/DOMNodeHighlighter.cpp:
2852         (WebCore::DOMNodeHighlighter::drawOutline):
2853         * inspector/DOMNodeHighlighter.h:
2854         (DOMNodeHighlighter):
2855         * inspector/InspectorInstrumentation.cpp:
2856         (WebCore::InspectorInstrumentation::willPaintImpl):
2857         * inspector/InspectorInstrumentation.h:
2858         (InspectorInstrumentation):
2859         (WebCore::InspectorInstrumentation::willPaint):
2860         * inspector/InspectorPageAgent.cpp:
2861         (WebCore::InspectorPageAgent::InspectorPageAgent):
2862         (WebCore::InspectorPageAgent::willPaint):
2863         (WebCore::InspectorPageAgent::didPaint):
2864         * inspector/InspectorPageAgent.h:
2865
2866 2012-02-21  Peter Rybin  <peter.rybin@gmail.com>
2867
2868         Web Inspector: Switch Debugger agent to TypeBuilder
2869         https://bugs.webkit.org/show_bug.cgi?id=78390
2870
2871         Reviewed by Vsevolod Vlasov.
2872
2873         Client code is switched to TypeBuilder.
2874
2875         * inspector/CodeGeneratorInspector.py:
2876         * inspector/InjectedScript.cpp:
2877         (WebCore::InjectedScript::evaluateOnCallFrame):
2878         (WebCore::InjectedScript::getFunctionDetails):
2879         (WebCore::InjectedScript::getProperties):
2880         (WebCore::InjectedScript::wrapCallFrames):
2881         * inspector/InjectedScript.h:
2882         (InjectedScript):
2883         * inspector/InspectorDebuggerAgent.cpp:
2884         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2885         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2886         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
2887         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2888         (WebCore::InspectorDebuggerAgent::currentCallFrames):
2889         (WebCore::InspectorDebuggerAgent::didParseSource):
2890         * inspector/InspectorDebuggerAgent.h:
2891         (InspectorDebuggerAgent):
2892
2893 2012-02-21  'Pavel Feldman'  <pfeldman@google.com>
2894
2895         Not reviewed: fixing poor merge in r108332.
2896
2897         * inspector/front-end/StylesSidebarPane.js:
2898         (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
2899         * inspector/front-end/externs.js:
2900
2901 2012-02-21  Alexander Pavlov  <apavlov@chromium.org>
2902
2903         Web Inspector: [Styles] Rule source URL tooltip should show line number
2904         https://bugs.webkit.org/show_bug.cgi?id=79087
2905
2906         Reviewed by Pavel Feldman.
2907
2908         * inspector/front-end/StylesSidebarPane.js:
2909         (WebInspector.StylePropertiesSection):
2910         (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
2911
2912 2012-02-21  Pavel Feldman  <pfeldman@chomium.org>
2913
2914         Web Inspector: clicking empty space should not re-enter edit mode
2915         https://bugs.webkit.org/show_bug.cgi?id=79024
2916
2917         Reviewed by Vsevolod Vlasov.
2918
2919         * inspector/front-end/StylesSidebarPane.js:
2920         (WebInspector.StylePropertiesSection):
2921         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceMouseDown):
2922         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
2923
2924 2012-02-21  Pavel Feldman  <pfeldman@chomium.org>
2925
2926         Web Inspector: evaluate on hover does not work for large files.
2927         https://bugs.webkit.org/show_bug.cgi?id=79015
2928
2929         Reviewed by Yury Semikhatsky.
2930
2931         * inspector/front-end/JavaScriptSourceFrame.js:
2932         (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
2933         (WebInspector.JavaScriptSourceFrame.prototype._highlightExpression):
2934         * inspector/front-end/Popover.js:
2935         (WebInspector.PopoverHelper.prototype._handleMouseAction):
2936         * inspector/front-end/SourceJavaScriptTokenizer.js:
2937         (WebInspector.SourceJavaScriptTokenizer):
2938         (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
2939         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
2940
2941 2012-02-21  Pavel Feldman  <pfeldman@google.com>
2942
2943         Web Inspector: add "show paint rectangles" setting.
2944         https://bugs.webkit.org/show_bug.cgi?id=79030
2945
2946         Reviewed by Yury Semikhatsky.
2947
2948         * English.lproj/localizedStrings.js:
2949         * inspector/DOMNodeHighlighter.cpp:
2950         (WebCore::DOMNodeHighlighter::drawOutline):
2951         (DOMNodeHighlighter):
2952         * inspector/DOMNodeHighlighter.h:
2953         (WebCore):
2954         (DOMNodeHighlighter):
2955         * inspector/Inspector.json:
2956         * inspector/InspectorController.cpp:
2957         (WebCore::InspectorController::InspectorController):
2958         * inspector/InspectorInstrumentation.cpp:
2959         (WebCore::InspectorInstrumentation::willPaintImpl):
2960         (WebCore::InspectorInstrumentation::didPaintImpl):
2961         * inspector/InspectorInstrumentation.h:
2962         (WebCore):
2963         (InspectorInstrumentation):
2964         (WebCore::InspectorInstrumentation::willPaint):
2965         * inspector/InspectorPageAgent.cpp:
2966         (PageAgentState):
2967         (WebCore::InspectorPageAgent::create):
2968         (WebCore::InspectorPageAgent::InspectorPageAgent):
2969         (WebCore::InspectorPageAgent::setShowPaintRects):
2970         (WebCore):
2971         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
2972         (WebCore::InspectorPageAgent::willPaint):
2973         (WebCore::InspectorPageAgent::didPaint):
2974         (WebCore::InspectorPageAgent::buildObjectForFrame):
2975         * inspector/InspectorPageAgent.h:
2976         (WebCore):
2977         * inspector/front-end/Settings.js:
2978         (WebInspector.Settings):
2979         * inspector/front-end/SettingsScreen.js:
2980         (WebInspector.SettingsScreen):
2981         (WebInspector.SettingsScreen.prototype._showPaintRectsChanged):
2982         * inspector/front-end/inspector.js:
2983         * page/FrameView.cpp:
2984         (WebCore::FrameView::paintContents):
2985         * rendering/RenderLayerBacking.cpp:
2986         (WebCore::RenderLayerBacking::paintContents):
2987
2988 2012-02-21  Andras Becsi  <andras.becsi@nokia.com>
2989
2990         [Qt] Clean-up project file after r108310
2991
2992         Reviewed by Csaba Osztrogonác.
2993
2994         No new tests needed.
2995
2996         * Target.pri: Fix path for TextTrack headers.
2997
2998 2012-02-17  Philippe Normand  <pnormand@igalia.com>
2999
3000         [GStreamer] media/W3C failures
3001         https://bugs.webkit.org/show_bug.cgi?id=75078
3002
3003         Reviewed by Martin Robinson.
3004
3005         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3006         (WebCore::MediaPlayerPrivateGStreamer::load): Clean out everything
3007         after file:// url path to cope with media/W3C tests loading
3008         file:///path/to/media.ext?some parameters.
3009
3010 2012-02-21  Matt Lilek  <mrl@apple.com>
3011
3012         Not reviewed, build fix for non-client-based Geolocation builds after r107982.
3013
3014         * page/Geolocation.cpp:
3015
3016 2012-02-21  Yury Semikhatsky  <yurys@chromium.org>
3017
3018         [V8] Web Inspector: simplify worker debugger implementation
3019         https://bugs.webkit.org/show_bug.cgi?id=79085
3020
3021         There is one instance of WorkerScriptDebugServer per worker thread. We don't
3022         need to resolve WorkerContext from V8::Context anymore.
3023
3024         Reviewed by Pavel Feldman.
3025
3026         * bindings/v8/WorkerScriptDebugServer.cpp:
3027         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
3028         (WebCore::WorkerScriptDebugServer::addListener):
3029         (WebCore::WorkerScriptDebugServer::removeListener):
3030         (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
3031         (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
3032         * bindings/v8/WorkerScriptDebugServer.h:
3033         (WorkerScriptDebugServer):
3034         * inspector/WorkerDebuggerAgent.cpp:
3035         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
3036         (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
3037         (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
3038
3039 2012-02-21  Kentaro Hara  <haraken@chromium.org>
3040
3041         Enable the IDL attribute checker in Chromium
3042         https://bugs.webkit.org/show_bug.cgi?id=79082
3043
3044         Reviewed by Adam Barth.
3045
3046         We have fixed 10~ bugs caused by typos of IDL attributes.
3047         This patch adds an IDL attribute checker, which checks if all IDL attributes
3048         used in IDL files are implemented by code generators.
3049
3050             - The IDL attribute checker uses IDLAttributes.txt, which lists all
3051               IDL attributes implemented in code generators. If we want to add
3052               a new IDL attribute, we need to add it to IDLAttributes.txt manually.
3053             - The IDL attribute checker checks if all IDL attributes used in IDL files
3054               are listed in IDLAttributes.txt.
3055             - If the IDL attribute checker fails, the build fails with a verbose error message.
3056
3057         No tests. I manually checked that [Custommm], [CallWith=],
3058         [CallWith=ScriptExecutionContext|Foo] cause build failures.
3059
3060         * WebCore.gyp/WebCore.gyp: Modified to enable the IDL attribute checker.
3061
3062         * bindings/scripts/resolve-supplemental.pl:
3063         (loadIDLAttributes): This method loads a list of IDL attributes from IDLAttributes.txt.
3064         (checkIDLAttributes): This method implementes the IDL attribute checker as described above.
3065         (checkIfIDLAttributesExists):
3066
3067         * bindings/scripts/IDLParser.pm: "1" is not good to represent that
3068         the IDL attribute does not have any value. This patch changed it to "VALUE_IS_MISSING".
3069         (parseExtendedAttributes):
3070         (ParseInterface):
3071         * bindings/scripts/CodeGenerator.pm: Ditto.
3072         (ContentAttributeName):
3073         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
3074         (GenerateNormalAttrGetter):
3075         (GenerateNormalAttrSetter):
3076         (GenerateSingleBatchedAttribute):
3077         (GetRuntimeEnableFunctionName):
3078         * bindings/scripts/IDLAttributes.txt: Added. This file lists all IDL attributes implemented
3079         in code generators.
3080
3081 2012-02-21  Patrick Gansterer  <paroga@webkit.org>
3082
3083         Use Win32 API to get file information
3084         https://bugs.webkit.org/show_bug.cgi?id=55336
3085
3086         Reviewed by Adam Roben.
3087
3088         Use FindFirstFile() in favour over _wstat64() to share the code with WinCE.
3089
3090         * platform/win/FileSystemWin.cpp:
3091         (WebCore):
3092         (WebCore::getFindData):
3093         (WebCore::getFileSize):
3094         (WebCore::getFileModificationTime):
3095         (WebCore::fileExists):
3096
3097 2012-02-20  Adam Barth  <abarth@webkit.org>
3098
3099         Invalid cast in WebCore::toElement / WebCore::HTMLElementStack::ElementRecord::element
3100         https://bugs.webkit.org/show_bug.cgi?id=78975
3101
3102         Reviewed by Eric Seidel.
3103
3104         We're supposed to set the action attribute on the form element we just
3105         created.  Previously, we assumed the newly created form element would
3106         be on the top of the stack of open elements, but if we're in the table
3107         body insertion mode, the form element gets treated as self closing and
3108         is therefore popped off the stack of open elements.
3109
3110         Fortunately, we already cache a pointer to the most recently inserted
3111         form element on the HTMLConstructionSite, so we can just grab the
3112         element from there.
3113
3114         Test: html5lib/runner.html
3115
3116         * html/parser/HTMLTreeBuilder.cpp:
3117         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
3118         (WebCore):
3119
3120 2012-02-20  Adam Barth  <abarth@webkit.org>
3121
3122         Unite TextTrack-related files with their friends in WebCore/html/track
3123         https://bugs.webkit.org/show_bug.cgi?id=78941
3124
3125         Reviewed by Eric Seidel.
3126
3127         The code that supports <track> seems to be split between the
3128         WebCore/html directory and the WebCore/html/track directory.  This
3129         patch unites this code in the WebCore/html/track directory.
3130
3131         * CMakeLists.txt:
3132         * DerivedSources.make:
3133         * DerivedSources.pri:
3134         * GNUmakefile.list.am:
3135         * WebCore.gypi:
3136         * WebCore.xcodeproj/project.pbxproj:
3137         * html/LoadableTextTrack.cpp: Removed.
3138         * html/LoadableTextTrack.h: Removed.
3139         * html/TextTrack.cpp: Removed.
3140         * html/TextTrack.h: Removed.
3141         * html/TextTrack.idl: Removed.
3142         * html/TextTrackCue.cpp: Removed.
3143         * html/TextTrackCue.h: Removed.
3144         * html/TextTrackCue.idl: Removed.
3145         * html/TextTrackCueList.cpp: Removed.
3146         * html/TextTrackCueList.h: Removed.
3147         * html/TextTrackCueList.idl: Removed.
3148         * html/track/LoadableTextTrack.cpp: Copied from Source/WebCore/html/LoadableTextTrack.cpp.
3149         * html/track/LoadableTextTrack.h: Copied from Source/WebCore/html/LoadableTextTrack.h.
3150         * html/track/TextTrack.cpp: Copied from Source/WebCore/html/TextTrack.cpp.
3151         * html/track/TextTrack.h: Copied from Source/WebCore/html/TextTrack.h.
3152         * html/track/TextTrack.idl: Copied from Source/WebCore/html/TextTrack.idl.
3153         * html/track/TextTrackCue.cpp: Copied from Source/WebCore/html/TextTrackCue.cpp.
3154         * html/track/TextTrackCue.h: Copied from Source/WebCore/html/TextTrackCue.h.
3155         * html/track/TextTrackCue.idl: Copied from Source/WebCore/html/TextTrackCue.idl.
3156         * html/track/TextTrackCueList.cpp: Copied from Source/WebCore/html/TextTrackCueList.cpp.
3157         * html/track/TextTrackCueList.h: Copied from Source/WebCore/html/TextTrackCueList.h.
3158         * html/track/TextTrackCueList.idl: Copied from Source/WebCore/html/TextTrackCueList.idl.
3159
3160 2012-02-20  Filip Pizlo  <fpizlo@apple.com>
3161
3162         JSC should be a triple-tier VM
3163         https://bugs.webkit.org/show_bug.cgi?id=75812
3164         <rdar://problem/10079694>
3165
3166         Reviewed by Gavin Barraclough.
3167         
3168         No new tests, because there is no change in behavior.
3169
3170         * CMakeLists.txt:
3171
3172 2012-02-20  Benjamin Poulain  <benjamin@webkit.org>
3173
3174         Get rid of the LocalizationStrategy
3175         https://bugs.webkit.org/show_bug.cgi?id=78324
3176
3177         Reviewed by Sam Weinig.
3178
3179         Remove LocalizationStrategy and unify the localization behind
3180         LocalizedStrings.h and LocalizedStrings.cpp.
3181
3182         * CMakeLists.txt:
3183         * GNUmakefile.list.am:
3184         * Target.pri:
3185         * WebCore.exp.in:
3186         * WebCore.gypi:
3187         * WebCore.order:
3188         * WebCore.vcproj/WebCore.vcproj:
3189         * WebCore.xcodeproj/project.pbxproj:
3190         * platform/DefaultLocalizationStrategy.cpp: Removed.
3191         * platform/DefaultLocalizationStrategy.h: Removed.
3192         * platform/LocalizationStrategy.h: Removed.
3193         * platform/LocalizedStrings.cpp:
3194         * platform/LocalizedStrings.h:
3195         (WebCore):
3196         * platform/PlatformStrategies.cpp:
3197         * platform/PlatformStrategies.h:
3198         (WebCore):
3199         (WebCore::PlatformStrategies::PlatformStrategies):
3200         (PlatformStrategies):
3201         * platform/qt/LocalizedStringsQt.cpp: Copied from Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.cpp.
3202
3203 2012-02-20  Kentaro Hara  <haraken@chromium.org>
3204
3205         Remove [TreatReturnedNullStringAsNull] from HTMLMediaElement.mediaGroup
3206         https://bugs.webkit.org/show_bug.cgi?id=79064
3207
3208         Reviewed by Hajime Morita.
3209
3210         [TreatReturnedNullStringAsNull] is a typo of [TreatReturnedNullStringAs=Null].
3211         But as far as I read the spec
3212         (http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#attr-media-mediagroup),
3213         there is no statement about what value should be returned when HTMLMediaElement.mediaGroup
3214         is not yet initialized. In particular, there is no statement that says "null should
3215         be returned when HTMLMediaElement.mediaGroup is not initialized". Thus, instead of
3216         fixing the typo, just removing [TreatReturnedNullStringAsNull] would make sense.
3217         Removing [TreatReturnedNullStringAsNull] does not change the current behavior.
3218
3219         Test: media/media-controller.html (No change in the test results.)
3220
3221         * html/HTMLMediaElement.idl:
3222
3223 2012-02-20  Hayato Ito  <hayato@chromium.org>
3224
3225         Use InsertinonPoint instead of HTMLContentElement.
3226         https://bugs.webkit.org/show_bug.cgi?id=78778
3227
3228         Reviewed by Hajime Morita.
3229
3230         Replace HTMLContentElement with InsertionPoint in NodeRenderingContext and HTMLContentSelection.
3231         This is one of followup patches for r108207.
3232
3233         No new tests, no change in behavior.
3234
3235         * dom/NodeRenderingContext.cpp:
3236         (WebCore::nextRendererOf):
3237         (WebCore::previousRendererOf):
3238         (WebCore::firstRendererOf):
3239         (WebCore::lastRendererOf):
3240         * dom/NodeRenderingContext.h:
3241         (WebCore):
3242         (NodeRenderingContext):
3243         (WebCore::NodeRenderingContext::insertionPoint):
3244         * dom/ShadowRoot.cpp:
3245         (WebCore::ShadowRoot::insertionPointFor):
3246         * dom/ShadowRoot.h:
3247         (WebCore):
3248         * html/shadow/HTMLContentElement.cpp:
3249         (WebCore::HTMLContentElement::HTMLContentElement):
3250         (WebCore::HTMLContentElement::attach):
3251         (WebCore::HTMLContentElement::detach):
3252         * html/shadow/HTMLContentElement.h:
3253         (HTMLContentElement):
3254         * html/shadow/HTMLContentSelector.cpp:
3255         (WebCore::HTMLContentSelector::select):
3256         * html/shadow/HTMLContentSelector.h:
3257         (WebCore):
3258         (HTMLContentSelection):
3259         (WebCore::HTMLContentSelection::insertionPoint):
3260         (WebCore::HTMLContentSelection::HTMLContentSelection):
3261         (WebCore::HTMLContentSelection::create):
3262         * html/shadow/InsertionPoint.cpp:
3263         (WebCore::InsertionPoint::InsertionPoint):
3264         * html/shadow/InsertionPoint.h:
3265         (WebCore::InsertionPoint::selections):
3266         (WebCore::InsertionPoint::hasSelection):
3267         (InsertionPoint):
3268
3269 2012-02-20  David Barton  <dbarton@mathscribe.com>
3270
3271         MathML internals - code clean-up for RenderMathMLSubSup
3272         https://bugs.webkit.org/show_bug.cgi?id=79063
3273
3274         Reviewed by Eric Seidel.
3275
3276         In the next patch, I will shrink and revise the <msubsup> formatting code. To make this
3277         easier to follow, I am first doing some simple code clean-up.
3278
3279         No new tests.
3280
3281         * rendering/mathml/RenderMathMLRow.cpp:
3282         (WebCore::RenderMathMLRow::layout):
3283         * rendering/mathml/RenderMathMLRow.h:
3284         (WebCore::RenderMathMLRow::isRenderMathMLRow):
3285         * rendering/mathml/RenderMathMLSubSup.cpp:
3286         (WebCore::RenderMathMLSubSup::stretchToHeight):
3287         (WebCore::RenderMathMLSubSup::layout):
3288             - There is no need to iterate over baseWrapper's children since it should have only
3289               one child, the base of the <msubsup>.
3290
3291 2012-02-20  Kentaro Hara  <haraken@chromium.org>
3292
3293         Replace [V8Custom=DOMWindowNOP] with [V8Custom]
3294         https://bugs.webkit.org/show_bug.cgi?id=79062
3295
3296         Reviewed by Adam Barth.
3297
3298         [V8Custom=DOMWindowNOP] is not implemented by CodeGeneratorV8.pm.
3299         This patch replaces it with [V8Custom].
3300
3301         No new tests. No change in behavior.
3302
3303         * page/DOMWindow.idl:
3304
3305 2012-02-20  Kentaro Hara  <haraken@chromium.org>
3306
3307         [JSGenerateIsReachable=ImplRoot] is not implemented, it should be [JSGenerateIsReachable]
3308         https://bugs.webkit.org/show_bug.cgi?id=79061
3309
3310         Reviewed by Adam Barth.
3311
3312         CSSStyleDeclaration.idl uses [JSGenerateIsReachable=ImplRoot],
3313         but "ImplRoot" is not implemented in CodeGeneratorJS.pm.
3314         This patch replaces [JSGenerateIsReachable=ImplRoot] with [JSGenerateIsReachable].
3315
3316         No tests. No change in behavior.
3317
3318         * css/CSSStyleDeclaration.idl:
3319
3320 2012-02-20  Kentaro Hara  <haraken@chromium.org>
3321
3322         [EnabledAtRuntime] in HTMLShadowElement.idl should be [V8EnabledAtRuntime]
3323         https://bugs.webkit.org/show_bug.cgi?id=79058
3324
3325         Reviewed by Adam Barth.
3326
3327         [EnabledAtRuntime] does not exist any longer. It should be [V8EnabledAtRuntime].
3328
3329         No tests.
3330
3331         * html/shadow/HTMLShadowElement.idl:
3332
3333 2012-02-20  Kentaro Hara  <haraken@chromium.org>
3334
3335         Replace [Callback=FunctionOnly] with [Callback]
3336         https://bugs.webkit.org/show_bug.cgi?id=79060
3337
3338         Reviewed by Adam Barth.
3339
3340         [Callback=FunctionOnly] is not implemented by any code generator.
3341         This patch replaces it with [Callback].
3342
3343         No tests. No change in behavior.
3344
3345         * Modules/intents/IntentResultCallback.idl:
3346         * Modules/intents/NavigatorIntents.idl:
3347         * dom/RequestAnimationFrameCallback.idl:
3348         * mediastream/NavigatorMediaStream.idl:
3349         * mediastream/NavigatorUserMediaErrorCallback.idl:
3350         * mediastream/NavigatorUserMediaSuccessCallback.idl:
3351         * mediastream/PeerConnection.idl:
3352         * mediastream/SignalingCallback.idl:
3353         * page/PositionCallback.idl:
3354         * page/PositionErrorCallback.idl:
3355
3356 2012-02-20  Andy Chen  <andchen@rim.com>
3357
3358         2012-02-17  Andy Chen  <andchen@rim.com>
3359
3360         [BlackBerry] Need to override active/inactive text search highlight color for RenderThemeBlackBerry
3361         https://bugs.webkit.org/show_bug.cgi?id=78920
3362
3363         Override two functions for text search highlight colors so that we can
3364         provide platform specified colors.
3365
3366         Reviewed by Antonio Gomes.
3367
3368         No function change so no new tests.
3369
3370         * platform/blackberry/RenderThemeBlackBerry.cpp:
3371         (WebCore::RenderThemeBlackBerry::platformActiveTextSearchHighlightColor):
3372         (WebCore::RenderThemeBlackBerry::platformInactiveTextSearchHighlightColor):
3373         * platform/blackberry/RenderThemeBlackBerry.h:
3374
3375 2012-02-20  John Knottenbelt  <jknotten@chromium.org>
3376
3377         Default canvas backing store to be 1:1 with specified dimensions.
3378         https://bugs.webkit.org/show_bug.cgi?id=78971
3379
3380         Reviewed by Adam Barth.
3381
3382         Although the canvas specification states that the backing image may
3383         be larger than the user-specified dimensions, there are a number of
3384         philip canvas tests that fail when the backing image data is not
3385         1:1 with the specified canvas dimensions. These failures are
3386         tracked in https://bugs.webkit.org/show_bug.cgi?id=73645
3387
3388         This change defaults the canvas backing store to be 1:1 with the
3389         user-specified dimensions, while also providing an
3390         ENABLE(HIGH_DPI_CANVAS) build option to reinstate the original
3391         behaviour, so that the above bug may be more easily fixed.
3392
3393         * html/HTMLCanvasElement.cpp:
3394         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
3395
3396 2012-02-20  Mary Wu  <mary.wu@torchmobile.com.cn>
3397
3398         Upstream RenderThemeBlackberry.h/.cpp into WebCore/platform/blackberry
3399         https://bugs.webkit.org/show_bug.cgi?id=78785
3400
3401         Main Contributors:
3402         Daniel Bates <dbates@rim.com>
3403         Bryan Gislason <bgislason@rim.com>
3404         Akash Vaswani <akvaswani@rim.com>
3405         Dave Battista <dbattista@rim.com>
3406         Robin Cao  <robin.cao@torchmobile.com.cn>
3407         Genevieve Mak <gmak@rim.com>
3408         Mike Fenton  <mifenton@rim.com>
3409
3410         Reviewed by Antonio Gomes.
3411
3412         Initial upstream, no new tests.
3413
3414         * platform/blackberry/RenderThemeBlackBerry.cpp: Added.
3415         * platform/blackberry/RenderThemeBlackBerry.h: Added.
3416
3417 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
3418
3419         [GTK] [EFL] Collapse duplicate WebGL support code
3420         https://bugs.webkit.org/show_bug.cgi?id=78970
3421
3422         Reviewed by Gustavo Noronha Silva.
3423
3424         No new tests. This just cleans up duplicated code.
3425
3426         Centralize duplicated WebGL code for EFL and GTK+ in the Cairo
3427         directory. This is in preparation for the changes necessary to
3428         connect WebGL to the TextureMapper AC.
3429
3430         * GNUmakefile.list.am: Update source list.
3431         * PlatformEfl.cmake: Update source list.
3432         * platform/graphics/cairo/DrawingBufferCairo.cpp: Renamed from Source/WebCore/platform/graphics/gtk/DrawingBufferGtk.cpp.
3433         * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Integrated the code From GraphicsContext3DGtk.cpp.
3434         * platform/graphics/efl/DrawingBufferEfl.cpp: Removed.
3435         * platform/graphics/efl/GraphicsContext3DEfl.cpp: Removed.
3436         * platform/graphics/gtk/GraphicsContext3DGtk.cpp: Removed.
3437
3438 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
3439
3440         [UNIX] Plugin information fields are not interpreted as UTF-8
3441         https://bugs.webkit.org/show_bug.cgi?id=78635
3442
3443         Reviewed by Gustavo Noronha Silva.
3444
3445         Interpret plugin metadata as UTF8 aways. This matches the behavior
3446         of Chromium and the Totem plugin.
3447
3448         This is tested by a change to TestNetscapePlugin and expectations updates.
3449
3450         * plugins/efl/PluginPackageEfl.cpp:
3451         (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
3452         * plugins/gtk/PluginPackageGtk.cpp:
3453         (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
3454         * plugins/qt/PluginPackageQt.cpp:
3455         (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
3456
3457 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
3458
3459         [GTK] Web content oftens steals focus from other widgets
3460         https://bugs.webkit.org/show_bug.cgi?id=77791
3461
3462         Reviewed by Gustavo Noronha Silva.
3463
3464         * platform/gtk/WidgetGtk.cpp:
3465         (WebCore::Widget::setFocus): No longer do anything special to try
3466         to grab "real" widget focus. This matches the behavior on Qt.
3467         * plugins/gtk/PluginViewGtk.cpp:
3468         (WebCore::PluginView::setFocus): Moved the focus handling to here.
3469         This ensures that behavior for plugins does not change.
3470
3471 2012-02-20  Yael Aharon  <yael.aharon@nokia.com>
3472
3473         Regression (108135) isOpaque() returns uninitialized variable.
3474         https://bugs.webkit.org/show_bug.cgi?id=79049
3475
3476         Reviewed by Noam Rosenthal.
3477
3478         isOpaque() should use the new m_flags instead of the old m_isOpaque.
3479         No new tests. No new functionality.
3480
3481         * platform/graphics/texmap/TextureMapper.h:
3482         (WebCore::BitmapTexture::reset):
3483         (WebCore::BitmapTexture::isOpaque):
3484         (BitmapTexture):
3485
3486 2012-02-20  Kentaro Hara  <haraken@chromium.org>
3487
3488         Unreviewed. Rebaselined run-bindings-tests results.
3489
3490         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
3491         * bindings/scripts/test/CPP/WebDOMTestInterface.h:
3492         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
3493         * bindings/scripts/test/CPP/WebDOMTestObj.h:
3494
3495 2012-02-20  No'am Rosenthal  <noam.rosenthal@nokia.com>
3496
3497         [Qt][WK2] Clipping is broken
3498         https://bugs.webkit.org/show_bug.cgi?id=78677
3499
3500         It's not necessary to add a full-viewport rect to the scissor clip stack.
3501         It creates a situation where if there's a clip in the page, we return to
3502         the viewport clip instead of applying the WebView's clip we got from the
3503         scenegraph.
3504
3505         Also, it's unnecessary to clip before we paint the layer's content, we should
3506         only clip afterwards, before painting the children. 
3507
3508         Reviewed by Kenneth Rohde Christiansen.
3509
3510         No new functionality.
3511
3512         * platform/graphics/opengl/TextureMapperGL.cpp:
3513         (WebCore::BitmapTextureGL::size):
3514         (WebCore::scissorClip):
3515         (WebCore):
3516         (WebCore::TextureMapperGL::beginScissorClip):
3517         (WebCore::TextureMapperGL::endScissorClip):
3518         * platform/graphics/texmap/TextureMapperLayer.cpp:
3519         (WebCore::TextureMapperLayer::paintSelfAndChildren):
3520
3521 2012-02-20  No'am Rosenthal  <noam.rosenthal@nokia.com>
3522
3523         [Texmap] Layers and tiles appear to have missing pixels in their right/bottom borders
3524         https://bugs.webkit.org/show_bug.cgi?id=78961
3525
3526         The relativeSize member should point to one pixel before the edge, since it's used
3527         by glVertexAttribPointer, which takes edge points and not sizes.
3528
3529         Reviewed by Kenneth Rohde Christiansen.
3530
3531         No new funcionality.
3532
3533         * platform/graphics/opengl/TextureMapperGL.cpp:
3534         (WebCore::BitmapTextureGL::didReset):
3535
3536 2012-02-20  Kihong Kwon  <kihong.kwon@samsung.com>
3537
3538         Add a new API for the Vibration API(W3C).
3539         https://bugs.webkit.org/show_bug.cgi?id=72010
3540
3541         http://dev.w3.org/2009/dap/vibration/
3542         This patch implements navigator.webkitvibrate() API.
3543         This API operates differently depending upon a given parameter:
3544         1. It cancels vibration when given 0 or [].
3545         2. It gives a vibration duration in milliseconds when given as a single integer value.
3546         3. It gives a vibration pattern when given as an integer array. For instance, [1000 300 1000] generates a vibration of 1000ms followed by 300ms of idle time, and then creates another vibration of 1000ms.
3547
3548         Reviewed by Hajime Morita.
3549
3550         Test: fast/dom/navigator-vibration.html
3551
3552         * CMakeLists.txt:
3553         * Modules/vibration/NavigatorVibration.cpp: Added.
3554         (WebCore):
3555         (WebCore::NavigatorVibration::NavigatorVibration):
3556         (WebCore::NavigatorVibration::~NavigatorVibration):
3557         (WebCore::NavigatorVibration::webkitVibrate):
3558         Add webkitVibrate method to get an array or single integer parameter for vibrating.
3559         They check vibration is activated in the platform, and then call vibrate() in the Vibration class.
3560         * Modules/vibration/NavigatorVibration.h: Added.
3561         (WebCore):
3562         (NavigatorVibration):
3563         * Modules/vibration/NavigatorVibration.idl: Added.
3564         * Modules/vibration/Vibration.cpp: Added.
3565         This class implements the entire vibration logic.
3566         (WebCore):
3567         (WebCore::Vibration::Vibration):
3568         (WebCore::Vibration::~Vibration):
3569         (WebCore::Vibration::create):
3570         (WebCore::Vibration::vibrate):
3571         (WebCore::Vibration::cancelVibration):
3572         (WebCore::Vibration::suspendVibration):
3573         (WebCore::Vibration::resumeVibration):
3574         (WebCore::Vibration::timerStartFired):
3575         (WebCore::Vibration::timerStopFired):
3576         (WebCore::Vibration::supplementName):
3577         (WebCore::Vibration::isActive):
3578         (WebCore::provideVibrationTo):
3579         * Modules/vibration/Vibration.h: Added.
3580         (WebCore):
3581         (Vibration):
3582         (WebCore::Vibration::from):
3583         * Modules/vibration/VibrationClient.h: Added.
3584         vibrate() and cancelVibrate() need to be implemented in the VibrationClient.
3585         (WebCore):
3586         (VibrationClient):
3587         (WebCore::VibrationClient::~VibrationClient):
3588
3589 2012-02-20  Yuta Kitamura  <yutak@chromium.org>
3590
3591         Unreviewed, rolling out r108263.
3592         http://trac.webkit.org/changeset/108263
3593         https://bugs.webkit.org/show_bug.cgi?id=77856
3594
3595         Broke Chromium Windows build.
3596
3597         * platform/audio/DynamicsCompressor.cpp:
3598         (WebCore::DynamicsCompressor::DynamicsCompressor):
3599         (WebCore::DynamicsCompressor::setEmphasisStageParameters):
3600         (WebCore::DynamicsCompressor::process):
3601         (WebCore::DynamicsCompressor::reset):
3602         * platform/audio/DynamicsCompressor.h:
3603         (WebCore::DynamicsCompressor::isStereo):
3604         (DynamicsCompressor):
3605         * platform/audio/DynamicsCompressorKernel.cpp:
3606         (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
3607         (WebCore::DynamicsCompressorKernel::setPreDelayTime):
3608         (WebCore::DynamicsCompressorKernel::process):
3609         (WebCore::DynamicsCompressorKernel::reset):
3610         * platform/audio/DynamicsCompressorKernel.h:
3611         (DynamicsCompressorKernel):
3612         * webaudio/DynamicsCompressorNode.cpp:
3613         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
3614         (WebCore::DynamicsCompressorNode::initialize):
3615
3616 2012-02-20  Raymond Liu  <raymond.liu@intel.com>
3617
3618         Have the DynamicsCompressorNode support multi-channel data
3619         https://bugs.webkit.org/show_bug.cgi?id=77856
3620
3621         Reviewed by Chris Rogers.
3622
3623         * platform/audio/DynamicsCompressor.cpp:
3624         (WebCore::DynamicsCompressor::DynamicsCompressor):
3625         (WebCore::DynamicsCompressor::setEmphasisStageParameters):
3626         (WebCore::DynamicsCompressor::process):
3627         (WebCore::DynamicsCompressor::reset):
3628         (WebCore::DynamicsCompressor::setNumberOfChannels):
3629         (WebCore):
3630         * platform/audio/DynamicsCompressor.h:
3631         (DynamicsCompressor):
3632         * platform/audio/DynamicsCompressorKernel.cpp:
3633         (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
3634         (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
3635         (WebCore):
3636         (WebCore::DynamicsCompressorKernel::setPreDelayTime):
3637         (WebCore::DynamicsCompressorKernel::process):
3638         (WebCore::DynamicsCompressorKernel::reset):
3639         * platform/audio/DynamicsCompressorKernel.h:
3640         (DynamicsCompressorKernel):
3641         * webaudio/DynamicsCompressorNode.cpp:
3642         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
3643         (WebCore::DynamicsCompressorNode::initialize):
3644
3645 2012-02-20  David Barton  <dbarton@mathscribe.com>
3646
3647         RenderMathMLRow::baselinePosition() only if linePositionMode == PositionOnContainingLine
3648         https://bugs.webkit.org/show_bug.cgi?id=79039
3649
3650         Reviewed by Eric Seidel.
3651
3652         RenderMathMLRow::baselinePosition() is actually unnecessary, but I am deleting it in two
3653         steps. First we add a guard to restrict it to the intended PositionOnContainingLine
3654         case, leaving PositionOfInteriorLineBoxes to a superclass, RenderBlock. This removes
3655         some randomness, and tightens up the results of four existing test files.
3656
3657         Test: mathml/presentation/row.xhtml, fenced.xhtml, mo.xhtml, and mo-stretch.html
3658
3659         * rendering/mathml/RenderMathMLRow.cpp:
3660         (WebCore::RenderMathMLRow::baselinePosition):
3661
3662 2012-02-18  Jon Lee  <jonlee@apple.com>
3663
3664         HTML input file control "No File Selected" needs more room in some languages
3665         https://bugs.webkit.org/show_bug.cgi?id=32366
3666         <rdar://problem/4481028>
3667
3668         Reviewed by David Hyatt.
3669
3670         The patch exposes a function to return the "no file(s) selected" label text.
3671
3672         * rendering/RenderTheme.cpp:
3673         (WebCore::RenderTheme::fileListDefaultLabel): Added to expose the text for the label in
3674         file upload controls when nothing has been selected.
3675         (WebCore::RenderTheme::fileListNameForWidth): Refactor to use fileListDefaultLabel().
3676         * rendering/RenderTheme.h: Change fileListNameForWidth() to be a const function.
3677
3678         * rendering/RenderThemeMac.h: Update fileListNameForWidth() to be a const function for
3679         platform implementations.
3680         * rendering/RenderThemeMac.mm:
3681         (WebCore::RenderThemeMac::fileListNameForWidth): Refactor to use fileListDefaultLabel().
3682
3683         Update fileListNameForWidth() to be a const function for platform implementations.
3684         * platform/gtk/RenderThemeGtk.h:
3685         * platform/gtk/RenderThemeGtk.cpp:
3686         * platform/qt/RenderThemeQt.h:
3687         * platform/qt/RenderThemeQt.cpp:
3688
3689         * rendering/RenderFileUploadControl.cpp:
3690         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Change the calculation
3691         of the max preferred logical width. Calculate the length of the "no file(s) selected" text,
3692         and include the button and after-button margin. Take the max of that and the original
3693         default width, which was a string of 34 (defaultWidthNumChars) "0"'s, in the case that the
3694         label text is too short.
3695
3696 2012-02-20  Gavin Barraclough  <barraclough@apple.com>
3697
3698         Rubber stamped by Sam Weinig.
3699
3700         * bindings/js/JSDOMWindowBase.cpp:
3701         (WebCore::JSDOMWindowBase::allowsAccessFrom):
3702             - Errk, remove dead code from end of function.
3703
3704 2012-02-16  Gavin Barraclough  <barraclough@apple.com>
3705
3706         Move special __proto__ property to Object.prototype
3707         https://bugs.webkit.org/show_bug.cgi?id=78409
3708
3709         Reviewed by Oliver Hunt.
3710
3711         Re-implement this as a regular accessor property.  This has three key benefits:
3712         1) It makes it possible for objects to be given properties named __proto__.
3713         2) Object.prototype.__proto__ can be deleted, preventing object prototypes from being changed.
3714         3) This largely removes the magic used the implement __proto__, it can just be made a regular accessor property.
3715
3716         * bindings/js/JSDOMWindowBase.cpp:
3717         (WebCore::JSDOMWindowBase::allowsAccessFrom):
3718         (WebCore):
3719             - expose allowsAccessFrom check to JSC.
3720         * bindings/js/JSDOMWindowBase.h:
3721         (JSDOMWindowBase):
3722             - expose allowsAccessFrom check to JSC.
3723
3724 2012-02-20  Benjamin Poulain  <benjamin@webkit.org>
3725
3726         Make JSCSSStyleDeclaration work directly with CSS Property ID
3727         https://bugs.webkit.org/show_bug.cgi?id=79014
3728
3729         Reviewed by Geoffrey Garen.
3730
3731         Previously, accessing the CSS property was done by converting from
3732         the JavaScript name to the CSS name, then converting that name to a lowercase
3733         character array, and finally getting the CSS property ID.
3734
3735         This patch cut the indirection and make the code go directly from the
3736         JavaScript name conversion to the CSS property ID.
3737
3738         This improves the performance mainly due to the following:
3739         -avoid dynamic memory allocation
3740         -cut the conversion early when possible
3741         -do not parse the string twice
3742         The previous fast-path optimization was removed because it is no longer
3743         necessary with this change.
3744
3745         The improvement are the following:
3746         -previous fast-path: no change
3747         -previous slow-path: ~3 times faster
3748
3749         Test: fast/dom/CSSStyleDeclaration/access-longest-css-property.html
3750         This just test the edge case of CSSPropertyName.
3751
3752         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3753         (WebCore::writeWebKitPrefix):
3754         (WebCore::writeEpubPrefix):
3755         (WebCore::cssPropertyIDForJSCSSPropertyName):
3756         (WebCore::isCSSPropertyName):
3757         (WebCore::JSCSSStyleDeclaration::nameGetter):
3758         (WebCore::JSCSSStyleDeclaration::putDelegate):
3759         * css/CSSParser.cpp:
3760         (WebCore::cssPropertyID):
3761         (WebCore):
3762         (WebCore::cssPropertyNameIOSAliasing):
3763         * css/CSSParser.h:
3764         (WebCore):
3765
3766 2012-02-20  Dan Bernstein  <mitz@apple.com>
3767
3768         Updated Localizable.strings after r107440.
3769
3770         Rubber-stamped by Joseph Pecoraro.
3771
3772         * English.lproj/Localizable.strings:
3773
3774 2012-02-20  David Barton  <dbarton@mathscribe.com>
3775
3776         MathML internals - remove nonOperatorHeight(), hasBase()
3777         https://bugs.webkit.org/show_bug.cgi?id=78977
3778
3779         Reviewed by Eric Seidel.
3780
3781         Stretchy operators, including embellished ones, should stretch to the largest height of
3782         the non-stretchy items in the same explicit or implicit <mrow>.
3783         RenderMathMLRow::layout() used to use hasBase(), isRenderMathMLOperator(), and
3784         nonOperatorHeight() to approximate this height. We now use unembellishedOperator() to
3785         improve this approximation, while also simplifying the code. More plainly, the code used
3786         to skip all operators when estimating this height, instead of just the stretchy ones. We
3787         continue to do that for now, but we more accurately skip all embellished operators
3788         (using our currently implemented approximate definition of this), and use the simple and
3789         true height of the remaining items. In case all items in the row are stretchy,
3790         style()->fontSize() is better than using whatever heights these items currently happen
3791         to be stretched to.
3792
3793         Test: mathml/presentation/mo-stretch.html, and many existing tests
3794
3795         * rendering/mathml/RenderMathMLBlock.cpp:
3796         (WebCore):
3797         * rendering/mathml/RenderMathMLBlock.h:
3798         (WebCore::RenderMathMLBlock::unembellishedOperator):
3799         * rendering/mathml/RenderMathMLRow.cpp:
3800         (WebCore):
3801         (WebCore::RenderMathMLRow::layout):
3802         * rendering/mathml/RenderMathMLRow.h:
3803         (WebCore::RenderMathMLRow::isRenderMathMLRow):
3804         * rendering/mathml/RenderMathMLSubSup.cpp:
3805         (WebCore):
3806         * rendering/mathml/RenderMathMLSubSup.h:
3807         (RenderMathMLSubSup):
3808         * rendering/mathml/RenderMathMLUnderOver.cpp:
3809         (WebCore):
3810         * rendering/mathml/RenderMathMLUnderOver.h:
3811         (RenderMathMLUnderOver):
3812
3813 2012-02-17  Anders Carlsson  <andersca@apple.com>
3814
3815         Stop the committer timer when the page is destroyed
3816         https://bugs.webkit.org/show_bug.cgi?id=78907
3817
3818         Reviewed by Adam Roben.
3819
3820         We don't want the committer timer to fire after the scrolling tree has been invalidated,
3821         so stop the committer timer to prevent it from firing and trying to access the scrolling tree.
3822
3823         * page/scrolling/ScrollingCoordinator.cpp:
3824         (WebCore::ScrollingCoordinator::pageDestroyed):
3825
3826 2012-02-20  Patrick Gansterer  <paroga@webkit.org>
3827
3828         [WIN] Allow compiling FileSystem without CoreFoundation.
3829         https://bugs.webkit.org/show_bug.cgi?id=79032
3830
3831         Reviewed by Adam Roben.
3832
3833         Add #if USE(CF) around code using the CoreFoundation functions.
3834
3835         * platform/FileSystem.h:
3836         * platform/win/FileSystemWin.cpp:
3837
3838 2012-02-20  Robin Cao  <robin.cao@torchmobile.com.cn>
3839
3840         [BlackBerry] Upstream the first few files in platform/graphics/blackberry
3841         https://bugs.webkit.org/show_bug.cgi?id=79023
3842
3843         Reviewed by Antonio Gomes.
3844
3845         Initial upstreaming, no new tests.
3846
3847         * platform/graphics/blackberry/FloatPointBlackBerry.cpp: Added.
3848         (WebCore):
3849         (WebCore::FloatPoint::FloatPoint):
3850         (WebCore::FloatPoint::operator BlackBerry::Platform::FloatPoint):
3851         * platform/graphics/blackberry/FloatRectBlackBerry.cpp: Added.
3852         (WebCore):
3853         (WebCore::FloatRect::FloatRect):
3854         (WebCore::FloatRect::operator BlackBerry::Platform::FloatRect):
3855         * platform/graphics/blackberry/FloatSizeBlackBerry.cpp: Added.
3856         (WebCore):
3857         (WebCore::FloatSize::FloatSize):
3858         (WebCore::FloatSize::operator BlackBerry::Platform::FloatSize):
3859         * platform/graphics/blackberry/IntPointBlackBerry.cpp: Added.
3860         (WebCore):
3861         (WebCore::IntPoint::IntPoint):
3862         (WebCore::IntPoint::operator BlackBerry::Platform::IntPoint):
3863         * platform/graphics/blackberry/IntRectBlackBerry.cpp: Added.
3864         (WebCore):
3865         (WebCore::IntRect::IntRect):
3866         (WebCore::IntRect::operator BlackBerry::Platform::IntRect):
3867         * platform/graphics/blackberry/IntSizeBlackBerry.cpp: Added.
3868         (WebCore):
3869         (WebCore::IntSize::IntSize):
3870         (WebCore::IntSize::operator BlackBerry::Platform::IntSize):
3871
3872 2012-02-20  Patrick Gansterer  <paroga@webkit.org>
3873
3874         [WIN] Share openTemporaryFile with WinCE
3875         https://bugs.webkit.org/show_bug.cgi?id=58750
3876
3877         Reviewed by Adam Roben.
3878
3879         Use pathByAppendingComponent instead of PathCombine to share the
3880         code with WinCE. Also use the wide version of Windows functions.
3881
3882         * platform/win/FileSystemWin.cpp:
3883         (WebCore::openTemporaryFile):
3884
3885 2012-02-20  Victor Carbune  <victor@rosedu.org>
3886
3887         Added code to support dispatching of missed cues in case of normal playback
3888         and event sorting in case of simultaneous event triggering.
3889
3890         <track>-related events cuechange, enter, and exit should be sorted and filtered before dispatching
3891         https://bugs.webkit.org/show_bug.cgi?id=72171
3892
3893         Reviewed by Eric Carlson.
3894
3895         Tests: media/track/track-cues-missed.html
3896                media/track/track-cues-sorted-before-dispatch.html
3897
3898         * html/HTMLMediaElement.cpp:
3899         (WebCore::HTMLMediaElement::HTMLMediaElement): Added initialization code
3900         for newly added state variables.
3901         (WebCore::trackIndexCompare): Static boolean compare function between
3902         the index of two tracks.
3903         (WebCore):
3904         (WebCore::eventTimeCueCompare): Static boolean compare function between
3905         events associated with text track cues.
3906         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Added code to
3907         sort the events associated with text track cues before dispatching.
3908         Each step from the specification is commented within the code.
3909         (WebCore::HTMLMediaElement::finishSeek): Added a boolean variable that
3910         is needed within the text track update function, to know whether a seek
3911         event has occured before or not.
3912         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Moved the update
3913         call for text tracks at the beginning of the function instead of the end.
3914         'ended' events for video should be dispatched after track specific events.
3915         * html/HTMLMediaElement.h: Added variables to keep
3916         state information required by the text track update algorithm (last time
3917         the algorithm was run, and whether a seeking event has occured)
3918         (HTMLMediaElement):
3919
3920         * html/LoadableTextTrack.cpp: Refactored fireCueChangeEvent method
3921         (WebCore::LoadableTextTrack::fireCueChangeEvent): The method dispatches a
3922         synchronous cue change event for the track element.
3923         * html/LoadableTextTrack.h:
3924         (LoadableTextTrack):
3925         * html/TextTrack.cpp: Modified the fireCueChange method, cached track index.
3926         (WebCore::TextTrack::TextTrack):
3927         (WebCore::TextTrack::trackIndex): Cached the track index.
3928         (WebCore):
3929         (WebCore::TextTrack::invalidateTrackIndex): Invalidates the track. Used
3930         when a new track is added in a TextTrackList instance.
3931         * html/TextTrack.h:
3932         (TextTrack):
3933         (WebCore::TextTrack::fireCueChangeEvent): The fireCueChangeEvent has been changed,
3934         as events need to be fired asyncronously.
3935         * html/TextTrackCue.cpp: Added internal variables to keep the current index
3936         position in the track cue order. This is invalidated when an element is
3937         inserted before.
3938         (WebCore::TextTrackCue::TextTrackCue):
3939         (WebCore::TextTrackCue::cueIndex): Getter for the cueIndex.
3940         (WebCore):
3941         (WebCore::TextTrackCue::invalidateCueIndex): Invalidates the currently stored
3942         cue index.
3943         (WebCore::TextTrackCue::dispatchEvent): Event dispatching is done asynchronously
3944         now. This should be the only method used for event dispatching.
3945         (WebCore::TextTrackCue::setIsActive): The setIsActive method no longer dispatches
3946         events, but rather just changes the m_isActive variable.
3947         * html/TextTrackCue.h:
3948         (TextTrackCue):
3949
3950         * html/TextTrackCueList.cpp:
3951         (WebCore::TextTrackCueList::getCueIndex): Retrieves the cue index, in the track cue
3952         order, of a given cue.
3953         (WebCore):
3954         (WebCore::TextTrackCueList::add): Modified the add method such that all the next cue
3955         indexes are invalidated.
3956         (WebCore::TextTrackCueList::invalidateCueIndexes): Invalidates all cue indexes starting
3957         with a specific position.
3958         * html/TextTrackCueList.h:
3959         (TextTrackCueList):
3960         * html/track/TextTrackList.cpp:
3961         (TextTrackList::getTrackIndex): Retrieves the track index position.
3962         (TextTrackList::append): Added method for invalidating the text track index in case of
3963         changing the list contents.
3964         * html/track/TextTrackList.h:
3965         (TextTrackList):
3966
3967 2012-02-20  Kenichi Ishibashi  <bashi@chromium.org>
3968
3969         [WebSocket] Move WebSocketChannel::FrameData into a separate header file
3970         https://bugs.webkit.org/show_bug.cgi?id=78682
3971
3972         Extract WebSocketChannel::FrameData as WebSocketFrame. This brings
3973         flexibility to add classes which want to do something for
3974         incoming/outgoing frames (e.g. compression/decompression).
3975
3976         Reviewed by Kent Tamura.
3977
3978         No new tests. No behavior change.
3979
3980         * GNUmakefile.list.am: AddedWebSocketFrame.h
3981         * Target.pri: Ditto.
3982         * WebCore.gypi: Ditto.
3983         * WebCore.vcproj/WebCore.vcproj: Ditto.
3984         * WebCore.xcodeproj/project.pbxproj: Ditto.
3985         * websockets/WebSocketChannel.cpp: Modified to use WebSocketFrame instead of FrameData
3986         (WebCore):
3987         (WebCore::WebSocketChannel::send):
3988         (WebCore::WebSocketChannel::startClosingHandshake):
3989         (WebCore::WebSocketChannel::parseFrame):
3990         (WebCore::WebSocketChannel::processFrame):
3991         (WebCore::WebSocketChannel::enqueueTextFrame):
3992         (WebCore::WebSocketChannel::enqueueRawFrame):
3993         (WebCore::WebSocketChannel::enqueueBlobFrame):
3994         (WebCore::appendMaskedFramePayload): Added.
3995         (WebCore::makeFrameData): Added.
3996         (WebCore::WebSocketChannel::sendFrame):
3997         * websockets/WebSocketChannel.h: Removed FrameData.
3998         (WebSocketChannel):
3999         (QueuedFrame):
4000         * websockets/WebSocketFrame.h: Added.
4001         (WebCore):
4002         (WebSocketFrame):
4003         (WebCore::WebSocketFrame::isNonControlOpCode):
4004         (WebCore::WebSocketFrame::isControlOpCode):
4005         (WebCore::WebSocketFrame::isReservedOpCode):
4006         (WebCore::WebSocketFrame::WebSocketFrame):
4007
4008 2012-02-20  Adam Roben  <aroben@apple.com>
4009
4010         32-bit build fix
4011
4012         * platform/FractionalLayoutUnit.h:
4013         (WebCore::FractionalLayoutUnit::setRawValue): Explicitly cast long long to int, since they
4014         are different widths in 32-bit.
4015
4016 2012-02-20  Adam Roben  <aroben@apple.com>
4017
4018         Clang build fix
4019
4020         * inspector/InspectorDOMAgent.cpp:
4021         (WebCore::InspectorDOMAgent::willModifyDOMAttr): Removed unused parameter.
4022
4023 2012-02-20  Vsevolod Vlasov  <vsevik@chromium.org>
4024
4025         Unreviewed manual rollout of r107970 which breaks table column widths
4026         updates from javascript (e.g. inspector's network panel).
4027
4028         * rendering/FixedTableLayout.cpp:
4029         (WebCore::FixedTableLayout::calcWidthArray):
4030         * rendering/RenderTableCol.h:
4031         (RenderTableCol):
4032
4033 2012-02-20  Alexander Pavlov  <apavlov@chromium.org>
4034
4035         Web Inspector: [Styles] Inconsistent alignment of non-parsed properties (having an exclamation mark)
4036         https://bugs.webkit.org/show_bug.cgi?id=79028
4037
4038         Reviewed by Yury Semikhatsky.
4039
4040         * inspector/front-end/elementsPanel.css:
4041         (.styles-section .properties li.not-parsed-ok img.exclamation-mark):
4042
4043 2012-02-20  Alexander Pavlov  <apavlov@chromium.org>
4044
4045         Web Inspector: DOMAttrModified should not be fired if the attribute value remains the same
4046         https://bugs.webkit.org/show_bug.cgi?id=79025
4047
4048         Reviewed by Pavel Feldman.
4049
4050         * dom/Element.cpp:
4051         (WebCore::Element::willModifyAttribute):
4052         * inspector/InspectorDOMAgent.cpp:
4053         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
4054         (WebCore::InspectorDOMAgent::willModifyDOMAttr):
4055         (WebCore):
4056         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
4057         * inspector/InspectorDOMAgent.h:
4058         (InspectorDOMAgent):
4059         * inspector/InspectorInstrumentation.cpp:
4060         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
4061         * inspector/InspectorInstrumentation.h:
4062         (InspectorInstrumentation):
4063         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
4064
4065 2012-02-20  Kwonjin Jeong  <gram@company100.net>
4066
4067         Correct a typo error in ScrollingCoordinator.h
4068         https://bugs.webkit.org/show_bug.cgi?id=79012
4069
4070         Reviewed by Andreas Kling.
4071
4072         * page/scrolling/ScrollingCoordinator.h:
4073         (ScrollingCoordinator):
4074
4075 2012-02-20  Alexander Pavlov  <apavlov@chromium.org>
4076
4077         Web Inspector: [Styles] box-shadow and -webkit-box-shadow properties are not considered color-aware
4078         https://bugs.webkit.org/show_bug.cgi?id=78988
4079
4080         Reviewed by Yury Semikhatsky.
4081
4082         * inspector/front-end/CSSKeywordCompletions.js:
4083
4084 2012-02-20  Yosifumi Inoue  <yosin@chromium.org>
4085
4086         [Forms] Spin buttons of number input type should fire both input and change event
4087         https://bugs.webkit.org/show_bug.cgi?id=75067
4088
4089         Reviewed by Kent Tamura.
4090
4091         This patch makes spin button in number input field clicks to fire input and change events as described in WHATWG HTML5 specification.
4092         To implement this behavior, this patch introduces new value DispatchInputAndChangeEvent in TextFieldEventBehavior.
4093
4094         Test: fast/forms/number/spin-button-events.html
4095
4096         * html/HTMLInputElement.cpp:
4097         (WebCore::HTMLInputElement::stepUpFromRenderer): Pass DispatchInputAndChangeEvent instead of DispatchChangeEvent to applyStep, setValue, and setValueAsNumber.
4098         * html/HTMLTextFormControlElement.h: Add new enum value DispatchInputAndChangeEvent to TextFieldEventBehavior.
4099         * html/TextFieldInputType.cpp:
4100         (WebCore::TextFieldInputType::setValue): Handle DispatchInputAndChangeEvent and use RefPtr for element to keep reference.
4101
4102 2012-02-20  Shinya Kawanaka  <shinyak@chromium.org>
4103
4104         Attached/Detached state must be testable
4105         https://bugs.webkit.org/show_bug.cgi?id=79010
4106
4107         Reviewed by Hajime Morita.
4108
4109         Added a method to check an element attached or not.
4110
4111         Test: fast/dom/shadow/shadow-root-attached.html
4112
4113         * testing/Internals.cpp:
4114         (WebCore::Internals::attached):