1 2012-02-22 Bear Travis <betravis@adobe.com>
3 Not correctly recalculating layout for elements within nested SVG elements
4 https://bugs.webkit.org/show_bug.cgi?id=77535
6 Reviewed by Dirk Schulze.
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.
12 Test: svg/repaint/inner-svg-change-viewPort-relative.svg
14 * rendering/svg/SVGRenderSupport.cpp:
15 (WebCore::SVGRenderSupport::layoutChildren):
17 2012-02-22 Alexei Svitkine <asvitkine@chromium.org>
19 [chromium] Fix remaining compositing/rubberbanding test failures
20 https://bugs.webkit.org/show_bug.cgi?id=78008
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.
27 Reviewed by James Robinson.
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:
35 * platform/ScrollView.cpp:
36 (WebCore::ScrollView::setContentsSize):
37 (WebCore::ScrollView::scrollContents):
38 (WebCore::ScrollView::updateOverhangAreas):
40 * platform/ScrollView.h:
43 2012-02-22 Vsevolod Vlasov <vsevik@chromium.org>
45 Web Inspector: [Regression] network worker tests crash on qt.
46 https://bugs.webkit.org/show_bug.cgi?id=79263
48 Reviewed by Pavel Feldman.
50 * inspector/InspectorPageAgent.cpp:
51 (WebCore::InspectorPageAgent::createDecoder):
52 (WebCore::InspectorPageAgent::cachedResourceContent):
54 2012-02-22 Adrienne Walker <enne@google.com>
56 Unreviewed, rolling out r108518.
57 http://trac.webkit.org/changeset/108518
58 https://bugs.webkit.org/show_bug.cgi?id=75864
60 Breaks surfaceOcclusionWithOverlappingSiblingSurfaces unit test.
63 * platform/graphics/chromium/cc/CCLayerIterator.cpp:
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:
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):
85 * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Added.
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==):
98 2012-02-22 Dan Bernstein <mitz@apple.com>
100 REGRESSION (r62632): page-break-inside: avoid is ignored
101 https://bugs.webkit.org/show_bug.cgi?id=79262
103 Reviewed by Adele Peterson.
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.
109 Updated expected results for printing/page-break-inside-avoid.html.
111 * rendering/RenderBlock.cpp:
112 (WebCore::RenderBlock::adjustForUnsplittableChild):
114 2012-02-22 Philippe Normand <pnormand@igalia.com>
116 [GStreamer] webkitwebsrc: use HTTP referer provided by MediaPlayer
117 https://bugs.webkit.org/show_bug.cgi?id=79236
119 Reviewed by Martin Robinson.
121 Store a pointer to the MediaPlayer object in the private structure
122 of the WebKitWebSrc element so we can call its public methods,
125 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
126 (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
127 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
128 (_WebKitWebSrcPrivate):
129 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:
131 2012-02-22 Martin Robinson <mrobinson@igalia.com>
133 [GTK] Clean build is broken when using make -j
134 https://bugs.webkit.org/show_bug.cgi?id=76388
136 No new tests. This is just a build fix.
138 Use order-only dependencies to ensure that built sources are built before
139 files that depend on them.
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.
145 2012-02-22 Dana Jansens <danakj@chromium.org>
147 [Chromium] New CCOcclusionTracker class with tests
148 https://bugs.webkit.org/show_bug.cgi?id=78549
150 Reviewed by James Robinson.
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.
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.
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.
163 Unit tests: CCOcclusionTrackerTest.cpp
166 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added.
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.
187 (CCOcclusionTrackerBase):
188 (WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase):
191 2012-02-22 Joshua Bell <jsbell@chromium.org>
193 [Chromium] IndexedDB: Integrate with about:tracing
194 https://bugs.webkit.org/show_bug.cgi?id=78831
196 Annotate interesting IDB functions so they show up in the
197 tracing utility included in the Chromium port.
199 Reviewed by Tony Chang.
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):
285 2012-02-22 Dana Jansens <danakj@chromium.org>
287 [chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class.
288 https://bugs.webkit.org/show_bug.cgi?id=75864
290 Reviewed by James Robinson.
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.
316 2012-02-22 Pavel Feldman <pfeldman@google.com>
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
321 Reviewed by Yury Semikhatsky.
323 * English.lproj/localizedStrings.js:
324 * inspector/front-end/ConsoleMessage.js:
325 (WebInspector.ConsoleMessageImpl.prototype._printArray.appendUndefined):
326 (WebInspector.ConsoleMessageImpl.prototype._printArray):
328 2012-02-22 Pavel Feldman <pfeldman@google.com>
330 Web Inspector: warning external font mime (font/font/woff).
331 https://bugs.webkit.org/show_bug.cgi?id=79244
333 Reviewed by Yury Semikhatsky.
335 * inspector/front-end/Resource.js:
337 2012-02-22 Yury Semikhatsky <yurys@chromium.org>
339 Web Inspector: use dots as markers on the counter graphs
340 https://bugs.webkit.org/show_bug.cgi?id=79243
342 Changed counter graphs marker and counter text styles.
344 Reviewed by Pavel Feldman.
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):
368 2012-02-22 Pavel Feldman <pfeldman@google.com>
370 Web Inspector: make 'glue asynchronous events' optional.
371 https://bugs.webkit.org/show_bug.cgi?id=79240
373 Reviewed by Yury Semikhatsky.
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):
395 2012-02-22 Vsevolod Vlasov <vsevik@chromium.org>
397 Web Inspector: [REGRESSION] Console xhr logging is broken for async xhrs since r107672.
398 https://bugs.webkit.org/show_bug.cgi?id=79229
400 Reviewed by Pavel Feldman.
402 Test: http/tests/inspector/console-xhr-logging-async.html
404 * inspector/InspectorResourceAgent.cpp:
405 (WebCore::InspectorResourceAgent::setInitialScriptContent):
406 * xml/XMLHttpRequest.cpp:
407 (WebCore::XMLHttpRequest::didFinishLoading):
409 2012-02-22 Andrey Kosyakov <caseq@chromium.org>
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
414 Reviewed by Yury Semikhatsky.
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):
427 2012-02-22 Andrey Kosyakov <caseq@chromium.org>
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
432 Reviewed by Pavel Feldman.
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):
511 2012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
513 [Qt] Disregard previous backing store as soon as possible
514 https://bugs.webkit.org/show_bug.cgi?id=79232
516 Reviewed by Simon Hausmann and No'am Rosenthal.
518 Make it possible to drop non-visible tiles and to test
519 if the current visible rect is fully covered.
521 * platform/graphics/TiledBackingStore.cpp:
522 (WebCore::TiledBackingStore::visibleContentsRect):
523 (WebCore::TiledBackingStore::coverageRatio):
524 (WebCore::TiledBackingStore::visibleAreaIsCovered):
526 (WebCore::TiledBackingStore::createTiles):
527 (WebCore::TiledBackingStore::removeAllNonVisibleTiles):
528 * platform/graphics/TiledBackingStore.h:
531 2012-02-22 Simon Hausmann <simon.hausmann@nokia.com>
533 [Qt] Move QMenu dependant scrollbar context menu handling out of WebCore
534 https://bugs.webkit.org/show_bug.cgi?id=79233
536 Reviewed by Kenneth Rohde Christiansen.
538 Move the code into WebKit/qt/Api/qwebpage.cpp, the only place where it is called from.
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.
545 2012-02-22 Vsevolod Vlasov <vsevik@chromium.org>
547 Web Inspector: retrieving content for some XHR requests crashes inspected page renderer
548 https://bugs.webkit.org/show_bug.cgi?id=79026
550 Reviewed by Pavel Feldman.
552 Fixed loading empty xhr content and xhr content decoding that was
555 Tests: http/tests/inspector/network/network-cyrillic-xhr.html
556 http/tests/inspector/network/network-empty-xhr.html
558 * inspector/InspectorPageAgent.cpp:
560 (WebCore::InspectorPageAgent::createDecoder):
561 (WebCore::InspectorPageAgent::cachedResourceContent):
562 * inspector/InspectorPageAgent.h:
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):
571 2012-02-22 Peter Rybin <peter.rybin@gmail.com>
573 Web Inspector: CodeGeneratorInspector.py: remove neural-net-style constructions
574 https://bugs.webkit.org/show_bug.cgi?id=79153
576 Reviewed by Yury Semikhatsky.
578 CParamType class removed completely, some ("virtual") methods are
579 removed. TypeModel notion is added instead with some minor helper
582 * inspector/CodeGeneratorInspector.py:
586 (RawTypes.String.get_raw_type_model):
588 (RawTypes.Int.get_raw_type_model):
590 (RawTypes.Number.get_raw_type_model):
592 (RawTypes.Bool.get_raw_type_model):
594 (RawTypes.Object.get_raw_type_model):
596 (RawTypes.Any.get_raw_type_model):
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):
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):
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):
649 (AdHocTypeContextImpl.__init__):
650 (PlainObjectBinding):
651 (PlainObjectBinding.get_type_model):
653 (ArrayBinding.get_array_item_c_type_text):
655 (ArrayBinding.get_type_model):
656 (RawTypeBinding.get_validator_call_text):
657 (RawTypeBinding.reduce_to_raw_type):
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):
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):
671 2012-02-21 Vsevolod Vlasov <vsevik@chromium.org>
673 Web Inspector: [InspectorIndexedDB] Show IndexedDB views on selection IndexedDB elements in resources panel.
674 https://bugs.webkit.org/show_bug.cgi?id=79098
676 Reviewed by Pavel Feldman.
678 * English.lproj/localizedStrings.js:
680 * WebCore.vcproj/WebCore.vcproj:
681 * inspector/InspectorIndexedDBAgent.cpp:
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:
713 2012-02-22 Nikolas Zimmermann <nzimmermann@rim.com>
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
718 Reviewed by Zoltan Herczeg.
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>.
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.
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.
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
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.
748 2012-02-22 Zoltan Herczeg <zherczeg@webkit.org>
750 Drop clipToImageBuffer from RenderBoxModelObject
751 https://bugs.webkit.org/show_bug.cgi?id=79225
753 Reviewed by Nikolas Zimmermann.
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.
760 Existing tests cover this issue.
762 * rendering/RenderBoxModelObject.cpp:
763 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
765 2012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
767 Merge setVisibleRectTrajectoryVector and adjustVisibleRect to
768 the more descriptive coverWithTilesIfNeeded
769 https://bugs.webkit.org/show_bug.cgi?id=79230
771 Reviewed by Simon Hausmann.
773 Both setVisibleRectTrajectoryVector and the adjustVisibleRect are
774 used for initiating re-tiling, so make that more obvious and merge
777 * platform/graphics/TiledBackingStore.cpp:
778 (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
779 * platform/graphics/TiledBackingStore.h:
782 2012-02-17 Nikolas Zimmermann <nzimmermann@rim.com>
784 REGRESSION: unbalanced transparency layers for clipPath
785 https://bugs.webkit.org/show_bug.cgi?id=78074
787 Reviewed by Zoltan Herczeg.
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().
793 Add new reftest covering both the visual & logical correctness (no assertion).
795 Tests: svg/clip-path/opacity-assertion-expected.svg
796 svg/clip-path/opacity-assertion.svg
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.
803 2012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
805 Improve comments in tiling code.
807 Rubberstamped by Simon Hausmann.
809 * platform/graphics/TiledBackingStore.cpp:
810 (WebCore::TiledBackingStore::createTiles):
812 2012-02-22 'Pavel Feldman' <pfeldman@google.com>
814 Not reviewed: build fix.
816 * inspector/InspectorController.cpp:
817 * inspector/InspectorController.h:
818 (InspectorController):
820 2012-02-21 Pavel Feldman <pfeldman@google.com>
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
825 Reviewed by Yury Semikhatsky.
827 * English.lproj/localizedStrings.js:
828 * dom/ScriptedAnimationController.cpp:
829 (WebCore::ScriptedAnimationController::registerCallback):
830 * inspector/InspectorInstrumentation.cpp:
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):
860 2012-02-22 Changhun Kang <temoochin@company100.net>
862 Remove unused class declaration in WebCore/page/scrolling/ScrollingCoordinator.h
863 https://bugs.webkit.org/show_bug.cgi?id=79175
865 Reviewed by Kentaro Hara.
867 * page/scrolling/ScrollingCoordinator.h:
868 Remove PlatformGestureEvent class declaration.
871 2012-02-22 Andras Becsi <andras.becsi@nokia.com>
873 [Qt][WK2] Fix the N9 build
874 https://bugs.webkit.org/show_bug.cgi?id=79101
876 Reviewed by Simon Hausmann.
878 Fixed the include order of the rolled out r108359 not to break
879 the build with CONFIG+=force_static_libs_as_shared.
881 * platform/graphics/OpenGLShims.h: Add missing include.
883 2012-02-22 Shinya Kawanaka <shinyak@chromium.org>
885 firstRendererOf() should also return a fallback element renderer in NodeRenderingContext.
886 https://bugs.webkit.org/show_bug.cgi?id=79180
888 Reviewed by Hajime Morita.
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.
893 We have introduced new attaching phase: AttachingFallbacked, and AttachingNotFallbacked.
894 They are used for fallback elements.
896 Added new test cases in:
897 fast/dom/shadow/shadow-contents-fallback.html
898 fast/dom/shadow/shadow-contents-fallback-dynamic.html
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):
911 (WebCore::toInsertionPoint):
913 2012-02-22 Csaba Osztrogonác <ossy@webkit.org>
915 [Qt] Unreviewed gardening after r108464.
919 2012-02-22 Sheriff Bot <webkit.review.bot@gmail.com>
921 Unreviewed, rolling out r108468.
922 http://trac.webkit.org/changeset/108468
923 https://bugs.webkit.org/show_bug.cgi?id=79219
925 Broke Chromium Win release build (Requested by bashi on
929 * GNUmakefile.list.am:
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.
945 2012-02-20 Roland Steiner <rolandsteiner@chromium.org>
947 <style scoped>: Add runtime-flag
948 https://bugs.webkit.org/show_bug.cgi?id=79074
951 Query runtime flag when (un)registering a <style scoped> element, and when determineing a style sheet's scope.
953 Reviewed by Dimitri Glazkov.
955 No new tests. (no change in functionality)
957 * bindings/generic/RuntimeEnabledFeatures.cpp:
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:
970 2012-02-21 Alexander Pavlov <apavlov@chromium.org>
972 Web Inspector: Audit rules to recommend unprefixing supported CSS properties
973 https://bugs.webkit.org/show_bug.cgi?id=78985
975 Reviewed by Pavel Feldman.
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:
998 2012-02-22 Shinya Kawanaka <shinyak@chromium.org>
1000 Node::attach() should be after attaching children in Element::attach().
1001 https://bugs.webkit.org/show_bug.cgi?id=79201
1003 Reviewed by Hajime Morita.
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.
1008 No new tests. Existing tests should cover this.
1011 (WebCore::Element::attach):
1013 2012-02-22 Kenichi Ishibashi <bashi@chromium.org>
1015 Adding WebSocket per-frame DEFLATE extension
1016 https://bugs.webkit.org/show_bug.cgi?id=77522
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
1023 Reviewed by Kent Tamura.
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
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.
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.
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):
1078 2012-02-22 Yuta Kitamura <yutak@chromium.org>
1080 Unreviewed, rolling out r108453.
1081 http://trac.webkit.org/changeset/108453
1082 https://bugs.webkit.org/show_bug.cgi?id=78549
1084 Broke Chromium's webkit_unit_tests.
1087 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Removed.
1088 * platform/graphics/chromium/cc/CCOcclusionTracker.h: Removed.
1090 2012-02-22 Zoltan Herczeg <zherczeg@webkit.org>
1092 [Qt] clipToImageBuffer assertion fix in debug mode on Qt.
1094 Rubber stamped by Csaba Osztrogonác.
1096 * platform/graphics/qt/GraphicsContextQt.cpp:
1097 (WebCore::GraphicsContext::restorePlatformState):
1099 2012-02-22 Adam Barth <abarth@webkit.org>
1101 [GTK] fast/frames/frame-dead-region.html crash
1102 https://bugs.webkit.org/show_bug.cgi?id=79205
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.
1110 * loader/FrameLoader.cpp:
1111 (WebCore::FrameLoader::closeAndRemoveChild):
1112 (WebCore::FrameLoader::detachFromParent):
1114 (WebCore::Frame::detachFromPage):
1116 (WebCore::Page::~Page):
1118 2012-02-22 Adam Barth <abarth@webkit.org>
1120 Move Geolocation code into Modules/geolocation
1121 https://bugs.webkit.org/show_bug.cgi?id=79204
1123 Reviewed by Hajime Morita.
1125 There are still some dangling references into the Geolocation module,
1126 which I will clean up in a followup patch.
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.
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.
1169 2012-02-22 Frederik Gladhorn <frederik.gladhorn@nokia.com>
1171 [gtk] Accessibility: use find funtion in vector instead of for.
1172 https://bugs.webkit.org/show_bug.cgi?id=77878
1174 Reviewed by Hajime Morita.
1176 Minor cleanup, use the find function from vector.
1178 * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
1179 (webkitAccessibleGetIndexInParent):
1181 2012-02-22 Ryosuke Niwa <rniwa@webkit.org>
1183 Remove the remaining uses of CSSStyleDeclaration in Editor
1184 https://bugs.webkit.org/show_bug.cgi?id=78939
1186 Reviewed by Enrica Casucci.
1188 Changed the argument types of shouldApplyStyle, applyParagraphStyle, applyStyleToSelection,
1189 applyParagraphStyleToSelection, and computeAndSetTypingStyle in Editor from CSSStyleDeclaration
1190 to StylePropertySet.
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):
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:
1219 2012-02-22 Dana Jansens <danakj@chromium.org>
1221 [chromium] Cull quads outside of the scissoring damage rect
1222 https://bugs.webkit.org/show_bug.cgi?id=79181
1224 Reviewed by James Robinson.
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.
1231 Unit test: CCQuadCuller.cpp
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:
1239 * platform/graphics/chromium/cc/CCRenderPass.cpp:
1240 (WebCore::CCRenderPass::optimizeQuads):
1241 * platform/graphics/chromium/cc/CCRenderPass.h:
1244 2012-02-21 Dana Jansens <danakj@chromium.org>
1246 [Chromium] New CCOcclusionTracker class with tests
1247 https://bugs.webkit.org/show_bug.cgi?id=78549
1249 Reviewed by James Robinson.
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.
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.
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.
1262 Unit tests: CCOcclusionTrackerTest.cpp
1265 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added.
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.
1286 (CCOcclusionTrackerBase):
1287 (WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase):
1290 2012-02-21 Andreas Kling <awesomekling@apple.com>
1292 Cache <font face> family lists in CSSValuePool.
1293 <http://webkit.org/b/79195>
1295 Reviewed by Antti Koivisto.
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.
1301 This knocks 20ms (~1.5%) worth of samples off of the Moz page cycler on my system.
1303 * css/CSSParser.cpp:
1304 (WebCore::CSSParser::parseFontFaceValue):
1306 * css/CSSValuePool.cpp:
1307 (WebCore::CSSValuePool::createFontFaceValue):
1308 * css/CSSValuePool.h:
1309 * html/HTMLFontElement.cpp:
1310 (WebCore::HTMLFontElement::collectStyleForAttribute):
1312 2012-02-21 Adam Barth <abarth@webkit.org>
1314 Separate the implementation of registerProtocolHandler from Navigator.cpp
1315 https://bugs.webkit.org/show_bug.cgi?id=78945
1317 Reviewed by Eric Seidel.
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.
1326 * GNUmakefile.list.am:
1329 * WebCore.vcproj/WebCore.vcproj:
1330 * WebCore.xcodeproj/project.pbxproj:
1331 * page/Navigator.cpp:
1335 * page/Navigator.idl:
1337 2012-02-21 MORITA Hajime <morrita@google.com>
1339 HasIDFlag and HasClassFlag can be removed.
1340 https://bugs.webkit.org/show_bug.cgi?id=77861
1342 Reviewed by Andreas Kling.
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.
1349 No new tests. No behavioral change.
1352 (WebCore::Element::idAttributeChanged):
1354 (WebCore::Element::hasID):
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):
1365 (WebCore::nodeStyleChangeShift):
1366 * dom/StyledElement.cpp:
1367 (WebCore::StyledElement::classAttributeChanged):
1369 2012-02-21 Matthew Delaney <mdelaney@apple.com>
1371 2D Canvas setTransform makes unnecessary matrix mults
1372 https://bugs.webkit.org/show_bug.cgi?id=79190
1374 Reviewed by Dan Bernstein.
1376 No new tests - plenty of current tests using setTransform.
1378 * html/canvas/CanvasRenderingContext2D.cpp:
1379 (WebCore::CanvasRenderingContext2D::setTransform):
1381 2012-02-21 MORITA Hajime <morrita@google.com>
1383 INPUT_SPEECH should be implemented as a PageSupplement.
1384 https://bugs.webkit.org/show_bug.cgi?id=79051
1386 Turned SpeechInput to a PageSupplement.
1388 Reviewed by Adam Barth.
1390 No new tests. No behavior change.
1392 * html/shadow/TextControlInnerElements.cpp:
1393 (WebCore::InputFieldSpeechButtonElement::speechInput):
1394 (WebCore::InputFieldSpeechButtonElement::attach):
1396 (WebCore::Page::Page):
1397 (WebCore::Page::PageClients::PageClients):
1402 * page/SpeechInput.cpp:
1403 (WebCore::SpeechInput::supplementName):
1405 (WebCore::provideSpeechInputTo):
1406 * page/SpeechInput.h:
1408 (WebCore::SpeechInput::from):
1409 * page/SpeechInputClient.h:
1412 2012-02-21 Alexandre Elias <aelias@google.com>
1414 [chromium] Add three small zoom gesture features
1415 https://bugs.webkit.org/show_bug.cgi?id=74216
1417 Reviewed by James Robinson.
1419 1. Support panning around with two fingers.
1420 2. When double-tap zooming, issue the commit at final/scroll scale as
1422 3. When pinch zooming out, issue a commit at minimum scale to avoid
1423 showing checkerboard.
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.)
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:
1439 2012-02-21 Filip Pizlo <fpizlo@apple.com>
1441 JSC should be a triple-tier VM
1442 https://bugs.webkit.org/show_bug.cgi?id=75812
1443 <rdar://problem/10079694>
1445 Reviewed by Gavin Barraclough.
1447 No new tests, because there is no change in behavior.
1451 2012-02-21 Kentaro Hara <haraken@chromium.org>
1453 NavigatorMediaStream.idl defines an interface for NavigatorGamepad
1454 https://bugs.webkit.org/show_bug.cgi?id=79152
1456 Reviewed by Adam Barth.
1458 Fixed a typo: NavigatorGamepad => NavigatorMediaStream
1460 This typo fix just changes the name of generated files:
1462 - V8NavigatorGamepad.h => V8NavigatorMediaStream.h
1463 - V8NavigatorGamepad.cpp => V8NavigatorMediaStream.cpp
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.
1469 No tests. No change in behavior.
1471 * mediastream/NavigatorMediaStream.idl:
1473 2012-02-21 Daniel Sievers <sievers@chromium.org>
1475 [Chromium] Fix compositor setting color uniforms incorrectly for solid color quads.
1476 https://bugs.webkit.org/show_bug.cgi?id=76017
1478 Reviewed by James Robinson.
1480 * platform/graphics/chromium/LayerRendererChromium.cpp:
1481 (WebCore::LayerRendererChromium::drawSolidColorQuad):
1483 2012-02-21 Max Vujovic <mvujovic@adobe.com>
1485 getCTM() on SVG root element with borders, paddings, and viewbox returns incorrect values
1486 https://bugs.webkit.org/show_bug.cgi?id=78631
1488 Reviewed by Eric Seidel.
1490 SVGSVGElement::currentViewportSize was returning the size of the SVG viewport plus CSS
1491 borders and paddings, causing the CTM calculation to be off.
1493 Test: svg/dom/SVGLocatable-getCTM-svg-root.html
1495 * svg/SVGSVGElement.cpp:
1496 (WebCore::SVGSVGElement::currentViewportSize):
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
1502 2012-02-21 Robin Cao <robin.cao@torchmobile.com.cn>
1504 [BlackBerry] Upstream Icon class in platform/graphics/blackberry
1505 https://bugs.webkit.org/show_bug.cgi?id=79088
1507 Reviewed by Antonio Gomes.
1509 Initial upstreaming, no new tests.
1511 * platform/graphics/blackberry/IconBlackBerry.cpp: Added.
1513 (WebCore::Icon::~Icon):
1514 (WebCore::Icon::paint):
1515 (WebCore::Icon::createIconForFiles):
1517 2012-02-21 Kenichi Ishibashi <bashi@chromium.org>
1519 Rename "reserved1" flag of WebSocketFrame to compress
1520 https://bugs.webkit.org/show_bug.cgi?id=79187
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
1525 Reviewed by Kent Tamura.
1527 No new tests. http/tests/websocket/tests/hybi/reserved-bits.html is revised to follow the change.
1529 * websockets/WebSocketChannel.cpp:
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):
1539 2012-02-21 Yael Aharon <yael.aharon@nokia.com>
1541 [Texmap] Move all TextureMapper related files to graphics/texmap
1542 https://bugs.webkit.org/show_bug.cgi?id=79141
1544 Reviewed by Martin Robinson.
1546 Move TextureMaooerGL and TextureMapperShaderManager files to graphics/texmap.
1549 * GNUmakefile.list.am:
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.
1562 2012-02-20 MORITA Hajime <morrita@google.com>
1564 MEDIA_STREAM should be implemented as a PageSupplement.
1565 https://bugs.webkit.org/show_bug.cgi?id=79050
1567 Reviewed by Adam Barth.
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.
1574 No new tests. No behavior change.
1577 * GNUmakefile.list.am:
1578 * mediastream/NavigatorMediaStream.cpp:
1579 (WebCore::NavigatorMediaStream::webkitGetUserMedia):
1580 * mediastream/UserMediaClient.h:
1582 * mediastream/UserMediaController.cpp: Added.
1584 (WebCore::UserMediaController::supplementName):
1585 (WebCore::UserMediaController::UserMediaController):
1586 (WebCore::UserMediaController::~UserMediaController):
1587 (WebCore::UserMediaController::create):
1588 (WebCore::provideUserMediaTo):
1589 * mediastream/UserMediaController.h: Added.
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:
1605 (WebCore::Page::Page):
1606 (WebCore::Page::~Page):
1607 (WebCore::Page::PageClients::PageClients):
1613 2012-02-21 James Robinson <jamesr@chromium.org>
1615 Node::isContentEditable should only update styles, not layout
1616 https://bugs.webkit.org/show_bug.cgi?id=78637
1618 Reviewed by Ryosuke Niwa.
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
1624 Behavior is covered by existing layout tests, primarily in editing/
1627 (WebCore::Node::isContentEditable):
1628 (WebCore::Node::isContentRichlyEditable):
1630 2012-02-21 James Robinson <jamesr@chromium.org>
1632 Partially revert r108418 - move allowEventDispatch() call back to where it used to be.
1634 Rubber-stamped by Ryosuke Niwa.
1636 Tested by fast/text/find-layout-crash.html
1638 * dom/ContainerNode.cpp:
1639 (WebCore::ContainerNode::removeChildren):
1641 2012-02-21 Anders Carlsson <andersca@apple.com>
1643 Background jitters on pages with background-attachment: fixed
1644 https://bugs.webkit.org/show_bug.cgi?id=79182
1646 Reviewed by Dan Bernstein.
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.
1652 * page/scrolling/ScrollingCoordinator.cpp:
1653 (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
1655 2012-02-21 Dana Jansens <danakj@chromium.org>
1657 Early-out in Region::unite() for adding an empty region.
1658 https://bugs.webkit.org/show_bug.cgi?id=79174
1660 Reviewed by Anders Carlsson.
1662 * platform/graphics/Region.cpp:
1663 (WebCore::Region::unite):
1665 2012-02-21 Dana Jansens <danakj@chromium.org>
1667 [chromium] Painting a layer clears opaque rect in untouched tiles
1668 https://bugs.webkit.org/show_bug.cgi?id=79157
1670 Reviewed by James Robinson.
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
1676 1. If any pixels of the saved rect are painted non-opaque, we replace
1678 2. If an opaque rect is drawn outside of the saved rect, we replace
1681 Unit test: TiledLayerChromiumTest.cpp
1683 * platform/graphics/chromium/TiledLayerChromium.cpp:
1684 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1685 (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
1687 2012-02-21 Raymond Toy <rtoy@google.com>
1689 Small typo in AudioPannerNode.cpp
1690 https://bugs.webkit.org/show_bug.cgi?id=75890
1692 Change to check elevation as intended instead of azimuth.
1694 Reviewed by Chris Rogers.
1696 No new tests for correction of typo.
1698 * webaudio/AudioPannerNode.cpp:
1699 (WebCore::AudioPannerNode::getAzimuthElevation):
1701 2012-02-21 Adam Barth <abarth@webkit.org>
1703 Frame and Navigator shouldn't need to worry about Geolocation
1704 https://bugs.webkit.org/show_bug.cgi?id=78860
1706 Reviewed by Eric Seidel.
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.
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.
1718 * Modules/geolocation: Added.
1719 * Modules/geolocation/NavigatorGeolocation.cpp: Added.
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.
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:
1738 (WebCore::Frame::pageDestroyed):
1739 (WebCore::Frame::transferChildFrameToNewDocument):
1740 * page/FrameDestructionObserver.cpp:
1741 (WebCore::FrameDestructionObserver::pageDestroyed):
1743 * page/FrameDestructionObserver.h:
1744 (FrameDestructionObserver):
1745 * page/Navigator.cpp:
1750 * page/Navigator.idl:
1752 2012-02-21 Shawn Singh <shawnsingh@chromium.org>
1754 [chromium] Refactor CCLayerTreeHostCommon: merge scattered setTargetRenderSurface logic
1755 https://bugs.webkit.org/show_bug.cgi?id=78936
1757 Reviewed by James Robinson.
1759 No change in behavior, the code moved around already covered by existing tests.
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
1767 This code also merges one other set of if-statements that are
1768 equivalent, if (layer->parent()) and if (layer!=rootLayer).
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):
1777 2012-02-21 Kentaro Hara <haraken@chromium.org>
1779 Remove FIXME from resolve-supplemental.pl
1780 https://bugs.webkit.org/show_bug.cgi?id=79160
1782 Reviewed by Adam Barth.
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.
1788 No tests. No change in behavior.
1790 * bindings/scripts/IDLAttributes.txt:
1791 * bindings/scripts/resolve-supplemental.pl:
1793 2012-02-21 Emil A Eklund <eae@chromium.org>
1795 Add FractionalLayoutRect for sub-pixel layout
1796 https://bugs.webkit.org/show_bug.cgi?id=78924
1798 Reviewed by Eric Seidel.
1800 Add FractionalLayoutUnit version of Rect class. Uses FractionalLayoutPoint
1801 and FractionalLayoutSize internally.
1803 Also add conversions to int/float versions of same.
1807 * GNUmakefile.list.am:
1808 * WebCore.vcproj/WebCore.vcproj:
1809 * WebCore.xcodeproj/project.pbxproj:
1810 * platform/graphics/FloatRect.cpp:
1811 (WebCore::FloatRect::FloatRect):
1813 * platform/graphics/FloatRect.h:
1816 * platform/graphics/FractionalLayoutRect.cpp: Added.
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.
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):
1874 * platform/graphics/IntRect.h:
1878 2012-02-21 James Robinson <jamesr@chromium.org>
1880 Enable ScrollingCoordinator in chromium whenever compositing is enabled
1881 https://bugs.webkit.org/show_bug.cgi?id=79165
1883 Reviewed by Adam Barth.
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.
1905 2012-02-21 Adam Klein <adamk@chromium.org>
1907 Setting innerText causes DOMSubtreeModified to be dispatched too early
1908 https://bugs.webkit.org/show_bug.cgi?id=79140
1910 Reviewed by Ryosuke Niwa.
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.
1916 Tests: fast/dom/getElementById-consistency3.html
1917 fast/dom/getElementById-consistency4.html
1918 fast/dom/getElementById-consistency5.html
1920 * dom/ContainerNode.cpp:
1921 (WebCore::ContainerNode::removeChildren):
1923 2012-02-15 Ryosuke Niwa <rniwa@webkit.org>
1925 Assertion failure in TextIterator::handleTextBox
1926 https://bugs.webkit.org/show_bug.cgi?id=78530
1928 Reviewed by Eric Seidel.
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.
1934 Test: editing/text-iterator/rtl-first-letter-text-iterator-crash.html
1936 * editing/TextIterator.cpp:
1937 (WebCore::TextIterator::handleTextNode):
1938 (WebCore::TextIterator::handleTextBox):
1939 (WebCore::TextIterator::handleTextNodeFirstLetter):
1941 2012-02-21 Yael Aharon <yael.aharon@nokia.com>
1943 Unreviewed build fix.
1947 * platform/graphics/opengl/TextureMapperGL.cpp:
1949 2012-02-21 Adam Klein <adamk@chromium.org>
1951 ContainerNode::childrenChanged must be called immediately after removing children
1952 https://bugs.webkit.org/show_bug.cgi?id=79162
1954 Reviewed by Ryosuke Niwa.
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.
1961 Test: fast/dom/title-directionality-removeChild.html
1963 * dom/ContainerNode.cpp:
1964 (WebCore::ContainerNode::removeChild):
1966 2012-02-21 Luke Macpherson <macpherson@chromium.org>
1968 Implement many instances of HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE in CSSStyleApplyProperty.
1969 https://bugs.webkit.org/show_bug.cgi?id=79067
1971 Reviewed by Andreas Kling.
1973 No new tests / refactoring only.
1975 * css/CSSStyleApplyProperty.cpp:
1976 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1977 * css/CSSStyleSelector.cpp:
1978 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1979 * rendering/style/RenderStyle.h:
1981 2012-02-21 Jon Lee <jonlee@apple.com>
1983 Bring notifications support to WK1 mac
1984 https://bugs.webkit.org/show_bug.cgi?id=78783
1985 <rdar://problem/10610578>
1987 Reviewed by Anders Carlsson.
1989 * WebCore.exp.in: Expose dispatchErrorEvent on Notification.
1991 2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
1993 [Qt] Previous web page appears outside content rect
1994 https://bugs.webkit.org/show_bug.cgi?id=78816
1996 Adjust the scissor clipping by -1, as the glScissor() function requires coordinates and
1999 Reviewed by Kenneth Rohde Christiansen.
2001 No new functionality.
2003 * platform/graphics/opengl/TextureMapperGL.cpp:
2004 (WebCore::scissorClip):
2006 2012-02-21 Victor Carbune <vcarbune@adobe.com>
2008 Added support for pause-on-exit flag on a TextTrackCue.
2009 https://bugs.webkit.org/show_bug.cgi?id=72173
2011 Reviewed by Eric Carlson.
2013 Test: media/track/track-cues-pause-on-exit.html
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.
2020 2012-02-21 Kentaro Hara <haraken@chromium.org>
2022 Enable the IDL attribute checker in all build systems
2023 https://bugs.webkit.org/show_bug.cgi?id=79090
2025 Reviewed by Adam Barth.
2027 We have enabled the IDL attribute checker in Chromium in r108322.
2028 This patch enables the IDL attribute checker in all other
2031 No tests. I manually checked that [Custommm], [CallWith=],
2032 [CallWith=ScriptExecutionContext|Foo] cause build failures.
2035 * DerivedSources.make:
2036 * DerivedSources.pri:
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.
2045 2012-02-21 Yael Aharon <yael.aharon@nokia.com>
2047 [Texmap] Better management of shaders in TextureMapperGL
2048 https://bugs.webkit.org/show_bug.cgi?id=78674
2050 Reviewed by Noam Rosenthal.
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.
2056 No new tests. This is refactoring only.
2058 * GNUmakefile.list.am:
2061 * platform/graphics/OpenGLShims.h:
2062 * platform/graphics/opengl/TextureMapperGL.cpp:
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.
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.
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):
2124 2012-02-21 Anders Carlsson <andersca@apple.com>
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>
2130 Reviewed by Andreas Kling.
2132 Keep track of the tile coverage rect and use it to avoid trying to iterate over non-existent tiles on large pages.
2134 * platform/graphics/ca/mac/TileCache.h:
2136 * platform/graphics/ca/mac/TileCache.mm:
2137 (WebCore::TileCache::setNeedsDisplayInRect):
2138 (WebCore::TileCache::revalidateTiles):
2140 2012-02-21 Andreas Kling <awesomekling@apple.com>
2142 Make WebKitCSSShaderValue inherit directly from CSSValue.
2143 <http://webkit.org/b/79144>
2145 Reviewed by Antti Koivisto.
2147 WebKitCSSShaderValue was inheriting from CSSPrimitiveValue but only used
2148 it for storing the shader URL. Moved that to a String member instead.
2150 WebKitCSSShaderValues didn't even return true for isPrimitiveValue() so
2151 there should be no behavior change whatsoever here.
2153 * css/WebKitCSSShaderValue.cpp:
2154 (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
2155 (WebCore::WebKitCSSShaderValue::cachedShader):
2156 (WebCore::WebKitCSSShaderValue::customCssText):
2157 * css/WebKitCSSShaderValue.h:
2158 (WebKitCSSShaderValue):
2160 2012-02-21 James Robinson <jamesr@chromium.org>
2162 Unreviewed windows build fix - avoid return statement after return if USE(ACCELERATED_COMPOSITING) is set.
2164 * page/scrolling/ScrollingCoordinator.cpp:
2165 (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
2167 2012-02-21 James Robinson <jamesr@chromium.org>
2169 ScrollingCoordinator::coordinatesScrollingForFrameView should be conditional on compositing being active
2170 https://bugs.webkit.org/show_bug.cgi?id=79126
2172 Reviewed by Anders Carlsson.
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.
2177 Also removes some stray #if ENABLE(THREADED_SCROLLING) guards that snuck into FrameView.
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):
2186 2012-02-21 James Robinson <jamesr@chromium.org>
2188 Chromium build fix. Unreviwed but rubber-stamped by Antti.
2191 * editing/ReplaceSelectionCommand.cpp:
2192 * inspector/InspectorStyleSheet.h:
2194 2012-02-21 Eric Carlson <eric.carlson@apple.com>
2196 Set Referrer header for media downloads
2197 https://bugs.webkit.org/show_bug.cgi?id=78614
2199 Reviewed by Alexey Proskuryakov.
2201 Test: http/tests/media/video-referer.html was modified to test this change.
2203 * html/HTMLMediaElement.cpp:
2204 (WebCore::HTMLMediaElement::mediaPlayerReferrer): New, return the document's referer.
2205 * html/HTMLMediaElement.h:
2207 * platform/graphics/MediaPlayer.cpp:
2208 (WebCore::MediaPlayer::referrer): New, return the client's mediaPlayerReferrer.
2209 * platform/graphics/MediaPlayer.h:
2210 (WebCore::MediaPlayerClient::mediaPlayerReferrer):
2212 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2213 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2214 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation to add
2217 2012-02-21 Antti Koivisto <antti@apple.com>
2221 Remove some obsolete comments, use consistent name for propertyID.
2223 * css/StylePropertySet.h:
2226 2012-02-21 Antti Koivisto <antti@apple.com>
2228 Clean up StylePropertySet included headers
2229 https://bugs.webkit.org/show_bug.cgi?id=79134
2231 Reviewed by Andreas Kling.
2233 Remove unneccesary includes.
2235 * bindings/js/JSDOMBinding.h:
2236 * css/StylePropertySet.cpp:
2237 * css/StylePropertySet.h:
2240 * editing/RemoveCSSPropertyCommand.cpp:
2242 2012-02-21 Lin Wei <wei.a.lin@intel.com>
2244 Fix bug from r107672.
2245 https://bugs.webkit.org/show_bug.cgi?id=78773
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().
2252 Reviewed by Adam Barth.
2253 * mediastream/MediaStreamTrack.cpp:
2254 (WebCore::MediaStreamTrack::setEnabled):
2256 2012-02-21 Julien Chaffraix <jchaffraix@webkit.org>
2258 Move RenderLayer::scrolledContentOffset calls to a common function
2259 https://bugs.webkit.org/show_bug.cgi?id=76971
2261 Reviewed by David Hyatt.
2263 Refactoring without any change in behavior.
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.
2269 We also moved down the concept of scroll offset down to RenderBox where it belongs!
2271 * rendering/RenderLayer.h:
2273 (WebCore::RenderLayer::scrolledContentOffset):
2274 Moved scrolledContent to the private section of the class to prevent misuse.
2276 * rendering/RenderBox.cpp:
2277 (WebCore::RenderBox::scrolledContentOffset):
2278 New function to add an indirection with RenderLayer.
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:
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.
2311 2012-02-21 Emil A Eklund <eae@chromium.org>
2313 Remove obsolete float comparison FIXMEs
2314 https://bugs.webkit.org/show_bug.cgi?id=79127
2316 Reviewed by Eric Seidel.
2318 Remove obsolete FIXME comments added back when we were planning to use
2319 floating point units for layout.
2321 No new tests, no code changes.
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):
2336 2012-02-21 Alexander Pavlov <apavlov@chromium.org>
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
2341 Reviewed by Pavel Feldman.
2343 * inspector/front-end/inspector.js:
2344 (WebInspector.documentClick.followLink):
2345 (WebInspector.documentClick):
2347 2012-02-21 Abhishek Arya <inferno@chromium.org>
2349 Crash in RenderTableSection::nodeAtPoint.
2350 https://bugs.webkit.org/show_bug.cgi?id=78922
2352 Reviewed by Julien Chaffraix.
2354 Test: fast/table/table-section-node-at-point-crash.html
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.
2361 2012-02-21 Antti Koivisto <antti@apple.com>
2363 Move PropertySetCSSStyleDeclaration to a file of its own
2364 https://bugs.webkit.org/show_bug.cgi?id=79121
2366 Rubber-stamped by Andreas Kling.
2368 This makes StylePropertySet.cpp more readable.
2371 * GNUmakefile.list.am:
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):
2380 * css/PropertySetCSSStyleDeclaration.h: Added.
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:
2400 2012-02-21 Philippe Normand <pnormand@igalia.com>
2402 [GTK] WebAudio build is broken
2403 https://bugs.webkit.org/show_bug.cgi?id=79113
2405 Reviewed by Martin Robinson.
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().
2413 2012-02-21 Andreas Kling <awesomekling@apple.com>
2415 Kill FontFamilyValue.
2416 <http://webkit.org/b/79103>
2418 Reviewed by Antti Koivisto.
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]".
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>
2427 Test: fast/css/font-family-trailing-bracket-gunk.html
2430 * GNUmakefile.list.am:
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):
2442 (WebCore::CSSValue::cssText):
2443 (WebCore::CSSValue::destroy):
2445 * css/CSSValuePool.cpp:
2446 (WebCore::CSSValuePool::createFontFamilyValue):
2447 * css/CSSValuePool.h:
2449 * css/FontFamilyValue.cpp: Removed.
2450 * css/FontFamilyValue.h: Removed.
2452 2012-02-21 Alexis Menard <alexis.menard@openbossa.org>
2454 Little optimization for CSSParser::parseFillShorthand.
2455 https://bugs.webkit.org/show_bug.cgi?id=79042
2457 Reviewed by Hajime Morita.
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).
2465 No new tests : refactoring, existings tests should cover.
2467 * css/CSSParser.cpp:
2468 (WebCore::CSSParser::parseFillShorthand):
2470 2012-02-20 David Hyatt <hyatt@apple.com>
2472 https://bugs.webkit.org/show_bug.cgi?id=79046
2474 width of overflow:hidden blocks is wrong when their margins overlap floats.
2476 Relevant discussion is here: http://lists.w3.org/Archives/Public/www-style/2012Feb/0954.html
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.
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.
2493 Reviewed by Dan Bernstein.
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.
2498 * rendering/RenderBlock.cpp:
2499 (WebCore::RenderBlock::containsFloat):
2500 * rendering/RenderBlock.h:
2501 (WebCore::RenderBlock::containsFloats):
2502 Changed to be const.
2504 (WebCore::RenderBlock::endOffsetForLine):
2505 (WebCore::RenderBlock::endOffsetForContent):
2506 Added endOffsetForXXX methods to mirror their startOffset counterparts. Used by the width adjustment code.
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).
2513 (WebCore::RenderBox::containingBlockLogicalWidthForContent):
2514 (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
2515 Patched to no longer do the shrinking of objects to avoid floats.
2517 (WebCore::RenderBox::computeLogicalWidthInRegion):
2518 (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
2519 Patched to handle calling the new shrinking code to adjust our logical width.
2521 * rendering/RenderBox.h:
2523 The signature of computeLogicalWithUsing changed to be region-specific and to carry along enough information
2524 to efficiently perform the shrinking.
2526 * rendering/RenderTable.cpp:
2527 (WebCore::RenderTable::computeLogicalWidth):
2528 Patched to handle calling the new shrinking code to adjust our logical width.
2530 2012-02-21 Sam Weinig <sam@webkit.org>
2532 Attempt to fix the Snow Leopard build.
2534 * Configurations/Base.xcconfig:
2536 2012-02-21 Sam Weinig <sam@webkit.org>
2538 Use libc++ when building with Clang on Mac
2539 https://bugs.webkit.org/show_bug.cgi?id=78981
2541 Reviewed by Dan Bernstein.
2543 * Configurations/Base.xcconfig:
2545 2012-02-21 Adam Roben <aroben@apple.com>
2549 * WebCore.xcodeproj/project.pbxproj: Mark TextTrack.h and TextTrackCue.h private so that
2550 WebKit can include them.
2552 2012-02-21 Andras Becsi <andras.becsi@nokia.com>
2554 [Qt][WK2] Fix the N9 build
2555 https://bugs.webkit.org/show_bug.cgi?id=79101
2557 Reviewed by Noam Rosenthal.
2559 No new tests needed.
2561 * platform/graphics/opengl/TextureMapperGL.cpp: Add missing include.
2563 2012-02-21 Adam Roben <aroben@apple.com>
2565 Roll out r108309, r108323, and r108326
2567 They broke the 32-bit Lion build.
2569 Original bugs is <http://webkit.org/b/75812> <rdar://problem/10079694>.
2573 2012-02-21 Alexander Pavlov <apavlov@chromium.org>
2575 Web Inspector: [SuggestBox] textPrompt.css disablement displays garbled suggest box
2576 https://bugs.webkit.org/show_bug.cgi?id=79107
2578 Reviewed by Pavel Feldman.
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:
2589 2012-02-21 Yury Semikhatsky <yurys@chromium.org>
2591 Web Inspector: timeline hangs on a page with deep chain of nested events.
2592 https://bugs.webkit.org/show_bug.cgi?id=79106
2594 Use stack of states instead of recursive calls when traversing records tree to
2595 avoid stack overflow.
2597 Reviewed by Pavel Feldman.
2599 * inspector/front-end/TimelineOverviewPane.js:
2600 (WebInspector.TimelineOverviewPane.prototype._forAllRecords):
2601 * inspector/front-end/TimelinePanel.js:
2602 (WebInspector.TimelinePanel.prototype._filterRecords):
2604 2012-02-21 Pavel Feldman <pfeldman@google.com>
2606 Web Inspector: [crash] upon style modification after navigation
2607 https://bugs.webkit.org/show_bug.cgi?id=79108
2609 Reviewed by Yury Semikhatsky.
2611 * inspector/InspectorHistory.cpp:
2612 (WebCore::InspectorHistory::undo):
2613 (WebCore::InspectorHistory::redo):
2614 (WebCore::InspectorHistory::reset):
2616 2012-02-21 Patrick Gansterer <paroga@webkit.org>
2618 Use WTF::cryptographicallyRandomValues in FileSystemWin.cpp
2619 https://bugs.webkit.org/show_bug.cgi?id=79089
2621 Reviewed by Adam Roben.
2623 Avoid loading and unloading of the crypto library during every
2624 call to openTemporaryFile() and make the code easier.
2626 * platform/win/FileSystemWin.cpp:
2627 (WebCore::openTemporaryFile):
2629 2012-02-21 Alexander Færøy <alexander.faeroy@nokia.com>
2631 Remove stylesheet pointer from StylePropertySet
2632 https://bugs.webkit.org/show_bug.cgi?id=79092
2634 Reviewed by Csaba Osztrogonác.
2636 Qt buildfix after r108345.
2638 * css/CSSParser.cpp:
2639 (WebCore::parseColorValue):
2641 2012-02-21 Csaba Osztrogonác <ossy@webkit.org>
2643 Remove stylesheet pointer from StylePropertySet
2644 https://bugs.webkit.org/show_bug.cgi?id=79092
2646 Reviewed by Antti Koivisto.
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
2651 * css/CSSParser.cpp:
2652 (WebCore::parseSimpleLengthValue):
2654 2012-02-21 Andreas Kling <awesomekling@apple.com>
2656 Shrink attribute style property sets after populating them.
2657 <http://webkit.org/b/78972>
2659 Reviewed by Antti Koivisto.
2661 Add a StylePropertySet::shrinkToFit() and call it at the end of updateStyleAttribute()
2662 to minimize the amount of wasted space.
2664 * css/StylePropertySet.h:
2665 (WebCore::StylePropertySet::shrinkToFit):
2666 * dom/StyledElement.cpp:
2667 (WebCore::StyledElement::updateAttributeStyle):
2669 2012-02-21 Antti Koivisto <antti@apple.com>
2671 Remove stylesheet pointer from StylePropertySet
2672 https://bugs.webkit.org/show_bug.cgi?id=79092
2674 Reviewed by Andreas Kling.
2676 The context should be passed as an argument for CSS parser invoking setters that actually need it.
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.
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):
2697 * css/CSSStyleRule.cpp:
2698 (WebCore::CSSStyleRule::addSubresourceStyleURLs):
2699 * css/StylePropertySet.cpp:
2700 (WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):
2701 (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
2702 (RuleCSSStyleDeclaration):
2703 (InlineCSSStyleDeclaration):
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):
2722 * css/WebKitCSSMatrix.cpp:
2723 (WebCore::WebKitCSSMatrix::setMatrixValue):
2724 * dom/ElementAttributeData.cpp:
2725 (WebCore::ElementAttributeData::ensureInlineStyleDecl):
2726 * dom/StyledElement.cpp:
2728 (WebCore::StyledElement::parseAttribute):
2729 (WebCore::StyledElement::setInlineStyleProperty):
2730 (WebCore::StyledElement::addSubresourceAttributeURLs):
2731 (WebCore::StyledElement::updateAttributeStyle):
2732 * dom/StyledElement.h:
2734 (WebCore::StyledElement::applyPresentationAttributeToStyle):
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:
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):
2792 2012-02-21 Yury Semikhatsky <yurys@chromium.org>
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
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.
2800 Reviewed by Pavel Feldman.
2802 * bindings/js/ScriptDebugServer.h:
2804 (WebCore::ScriptDebugServer::Task::~Task):
2805 (ScriptDebugServer):
2806 * bindings/js/WorkerScriptDebugServer.cpp:
2807 (WebCore::WorkerScriptDebugServer::interruptAndRunTask):
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):
2819 * bindings/v8/WorkerScriptDebugServer.h:
2822 (WorkerScriptDebugServer):
2823 * inspector/WorkerDebuggerAgent.cpp:
2824 (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
2825 (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
2827 (WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):
2828 * inspector/WorkerDebuggerAgent.h:
2830 (WorkerDebuggerAgent):
2831 * workers/WorkerMessagingProxy.cpp:
2833 (WebCore::WorkerMessagingProxy::sendMessageToInspector):
2834 * workers/WorkerRunLoop.cpp:
2835 (WebCore::WorkerRunLoop::run):
2836 (WebCore::WorkerRunLoop::runInMode):
2837 * workers/WorkerRunLoop.h:
2840 2012-02-21 'Pavel Feldman' <pfeldman@google.com>
2842 Not reviewed: fixing Mac build (take 2).
2844 * inspector/InspectorPageAgent.cpp:
2845 (WebCore::InspectorPageAgent::setShowPaintRects):
2847 2012-02-21 'Pavel Feldman' <pfeldman@google.com>
2849 Not reviewed: fixing Mac build.
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:
2866 2012-02-21 Peter Rybin <peter.rybin@gmail.com>
2868 Web Inspector: Switch Debugger agent to TypeBuilder
2869 https://bugs.webkit.org/show_bug.cgi?id=78390
2871 Reviewed by Vsevolod Vlasov.
2873 Client code is switched to TypeBuilder.
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:
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):
2893 2012-02-21 'Pavel Feldman' <pfeldman@google.com>
2895 Not reviewed: fixing poor merge in r108332.
2897 * inspector/front-end/StylesSidebarPane.js:
2898 (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
2899 * inspector/front-end/externs.js:
2901 2012-02-21 Alexander Pavlov <apavlov@chromium.org>
2903 Web Inspector: [Styles] Rule source URL tooltip should show line number
2904 https://bugs.webkit.org/show_bug.cgi?id=79087
2906 Reviewed by Pavel Feldman.
2908 * inspector/front-end/StylesSidebarPane.js:
2909 (WebInspector.StylePropertiesSection):
2910 (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
2912 2012-02-21 Pavel Feldman <pfeldman@chomium.org>
2914 Web Inspector: clicking empty space should not re-enter edit mode
2915 https://bugs.webkit.org/show_bug.cgi?id=79024
2917 Reviewed by Vsevolod Vlasov.
2919 * inspector/front-end/StylesSidebarPane.js:
2920 (WebInspector.StylePropertiesSection):
2921 (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceMouseDown):
2922 (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
2924 2012-02-21 Pavel Feldman <pfeldman@chomium.org>
2926 Web Inspector: evaluate on hover does not work for large files.
2927 https://bugs.webkit.org/show_bug.cgi?id=79015
2929 Reviewed by Yury Semikhatsky.
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:
2941 2012-02-21 Pavel Feldman <pfeldman@google.com>
2943 Web Inspector: add "show paint rectangles" setting.
2944 https://bugs.webkit.org/show_bug.cgi?id=79030
2946 Reviewed by Yury Semikhatsky.
2948 * English.lproj/localizedStrings.js:
2949 * inspector/DOMNodeHighlighter.cpp:
2950 (WebCore::DOMNodeHighlighter::drawOutline):
2951 (DOMNodeHighlighter):
2952 * inspector/DOMNodeHighlighter.h:
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:
2963 (InspectorInstrumentation):
2964 (WebCore::InspectorInstrumentation::willPaint):
2965 * inspector/InspectorPageAgent.cpp:
2967 (WebCore::InspectorPageAgent::create):
2968 (WebCore::InspectorPageAgent::InspectorPageAgent):
2969 (WebCore::InspectorPageAgent::setShowPaintRects):
2971 (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
2972 (WebCore::InspectorPageAgent::willPaint):
2973 (WebCore::InspectorPageAgent::didPaint):
2974 (WebCore::InspectorPageAgent::buildObjectForFrame):
2975 * inspector/InspectorPageAgent.h:
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):
2988 2012-02-21 Andras Becsi <andras.becsi@nokia.com>
2990 [Qt] Clean-up project file after r108310
2992 Reviewed by Csaba Osztrogonác.
2994 No new tests needed.
2996 * Target.pri: Fix path for TextTrack headers.
2998 2012-02-17 Philippe Normand <pnormand@igalia.com>
3000 [GStreamer] media/W3C failures
3001 https://bugs.webkit.org/show_bug.cgi?id=75078
3003 Reviewed by Martin Robinson.
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.
3010 2012-02-21 Matt Lilek <mrl@apple.com>
3012 Not reviewed, build fix for non-client-based Geolocation builds after r107982.
3014 * page/Geolocation.cpp:
3016 2012-02-21 Yury Semikhatsky <yurys@chromium.org>
3018 [V8] Web Inspector: simplify worker debugger implementation
3019 https://bugs.webkit.org/show_bug.cgi?id=79085
3021 There is one instance of WorkerScriptDebugServer per worker thread. We don't
3022 need to resolve WorkerContext from V8::Context anymore.
3024 Reviewed by Pavel Feldman.
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):
3039 2012-02-21 Kentaro Hara <haraken@chromium.org>
3041 Enable the IDL attribute checker in Chromium
3042 https://bugs.webkit.org/show_bug.cgi?id=79082
3044 Reviewed by Adam Barth.
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.
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.
3057 No tests. I manually checked that [Custommm], [CallWith=],
3058 [CallWith=ScriptExecutionContext|Foo] cause build failures.
3060 * WebCore.gyp/WebCore.gyp: Modified to enable the IDL attribute checker.
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):
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):
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
3081 2012-02-21 Patrick Gansterer <paroga@webkit.org>
3083 Use Win32 API to get file information
3084 https://bugs.webkit.org/show_bug.cgi?id=55336
3086 Reviewed by Adam Roben.
3088 Use FindFirstFile() in favour over _wstat64() to share the code with WinCE.
3090 * platform/win/FileSystemWin.cpp:
3092 (WebCore::getFindData):
3093 (WebCore::getFileSize):
3094 (WebCore::getFileModificationTime):
3095 (WebCore::fileExists):
3097 2012-02-20 Adam Barth <abarth@webkit.org>
3099 Invalid cast in WebCore::toElement / WebCore::HTMLElementStack::ElementRecord::element
3100 https://bugs.webkit.org/show_bug.cgi?id=78975
3102 Reviewed by Eric Seidel.
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.
3110 Fortunately, we already cache a pointer to the most recently inserted
3111 form element on the HTMLConstructionSite, so we can just grab the
3114 Test: html5lib/runner.html
3116 * html/parser/HTMLTreeBuilder.cpp:
3117 (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
3120 2012-02-20 Adam Barth <abarth@webkit.org>
3122 Unite TextTrack-related files with their friends in WebCore/html/track
3123 https://bugs.webkit.org/show_bug.cgi?id=78941
3125 Reviewed by Eric Seidel.
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.
3132 * DerivedSources.make:
3133 * DerivedSources.pri:
3134 * GNUmakefile.list.am:
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.
3160 2012-02-20 Filip Pizlo <fpizlo@apple.com>
3162 JSC should be a triple-tier VM
3163 https://bugs.webkit.org/show_bug.cgi?id=75812
3164 <rdar://problem/10079694>
3166 Reviewed by Gavin Barraclough.
3168 No new tests, because there is no change in behavior.
3172 2012-02-20 Benjamin Poulain <benjamin@webkit.org>
3174 Get rid of the LocalizationStrategy
3175 https://bugs.webkit.org/show_bug.cgi?id=78324
3177 Reviewed by Sam Weinig.
3179 Remove LocalizationStrategy and unify the localization behind
3180 LocalizedStrings.h and LocalizedStrings.cpp.
3183 * GNUmakefile.list.am:
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:
3196 * platform/PlatformStrategies.cpp:
3197 * platform/PlatformStrategies.h:
3199 (WebCore::PlatformStrategies::PlatformStrategies):
3200 (PlatformStrategies):
3201 * platform/qt/LocalizedStringsQt.cpp: Copied from Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.cpp.
3203 2012-02-20 Kentaro Hara <haraken@chromium.org>
3205 Remove [TreatReturnedNullStringAsNull] from HTMLMediaElement.mediaGroup
3206 https://bugs.webkit.org/show_bug.cgi?id=79064
3208 Reviewed by Hajime Morita.
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.
3219 Test: media/media-controller.html (No change in the test results.)
3221 * html/HTMLMediaElement.idl:
3223 2012-02-20 Hayato Ito <hayato@chromium.org>
3225 Use InsertinonPoint instead of HTMLContentElement.
3226 https://bugs.webkit.org/show_bug.cgi?id=78778
3228 Reviewed by Hajime Morita.
3230 Replace HTMLContentElement with InsertionPoint in NodeRenderingContext and HTMLContentSelection.
3231 This is one of followup patches for r108207.
3233 No new tests, no change in behavior.
3235 * dom/NodeRenderingContext.cpp:
3236 (WebCore::nextRendererOf):
3237 (WebCore::previousRendererOf):
3238 (WebCore::firstRendererOf):
3239 (WebCore::lastRendererOf):
3240 * dom/NodeRenderingContext.h:
3242 (NodeRenderingContext):
3243 (WebCore::NodeRenderingContext::insertionPoint):
3244 * dom/ShadowRoot.cpp:
3245 (WebCore::ShadowRoot::insertionPointFor):
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:
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):
3269 2012-02-20 David Barton <dbarton@mathscribe.com>
3271 MathML internals - code clean-up for RenderMathMLSubSup
3272 https://bugs.webkit.org/show_bug.cgi?id=79063
3274 Reviewed by Eric Seidel.
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.
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>.
3291 2012-02-20 Kentaro Hara <haraken@chromium.org>
3293 Replace [V8Custom=DOMWindowNOP] with [V8Custom]
3294 https://bugs.webkit.org/show_bug.cgi?id=79062
3296 Reviewed by Adam Barth.
3298 [V8Custom=DOMWindowNOP] is not implemented by CodeGeneratorV8.pm.
3299 This patch replaces it with [V8Custom].
3301 No new tests. No change in behavior.
3303 * page/DOMWindow.idl:
3305 2012-02-20 Kentaro Hara <haraken@chromium.org>
3307 [JSGenerateIsReachable=ImplRoot] is not implemented, it should be [JSGenerateIsReachable]
3308 https://bugs.webkit.org/show_bug.cgi?id=79061
3310 Reviewed by Adam Barth.
3312 CSSStyleDeclaration.idl uses [JSGenerateIsReachable=ImplRoot],
3313 but "ImplRoot" is not implemented in CodeGeneratorJS.pm.
3314 This patch replaces [JSGenerateIsReachable=ImplRoot] with [JSGenerateIsReachable].
3316 No tests. No change in behavior.
3318 * css/CSSStyleDeclaration.idl:
3320 2012-02-20 Kentaro Hara <haraken@chromium.org>
3322 [EnabledAtRuntime] in HTMLShadowElement.idl should be [V8EnabledAtRuntime]
3323 https://bugs.webkit.org/show_bug.cgi?id=79058
3325 Reviewed by Adam Barth.
3327 [EnabledAtRuntime] does not exist any longer. It should be [V8EnabledAtRuntime].
3331 * html/shadow/HTMLShadowElement.idl:
3333 2012-02-20 Kentaro Hara <haraken@chromium.org>
3335 Replace [Callback=FunctionOnly] with [Callback]
3336 https://bugs.webkit.org/show_bug.cgi?id=79060
3338 Reviewed by Adam Barth.
3340 [Callback=FunctionOnly] is not implemented by any code generator.
3341 This patch replaces it with [Callback].
3343 No tests. No change in behavior.
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:
3356 2012-02-20 Andy Chen <andchen@rim.com>
3358 2012-02-17 Andy Chen <andchen@rim.com>
3360 [BlackBerry] Need to override active/inactive text search highlight color for RenderThemeBlackBerry
3361 https://bugs.webkit.org/show_bug.cgi?id=78920
3363 Override two functions for text search highlight colors so that we can
3364 provide platform specified colors.
3366 Reviewed by Antonio Gomes.
3368 No function change so no new tests.
3370 * platform/blackberry/RenderThemeBlackBerry.cpp:
3371 (WebCore::RenderThemeBlackBerry::platformActiveTextSearchHighlightColor):
3372 (WebCore::RenderThemeBlackBerry::platformInactiveTextSearchHighlightColor):
3373 * platform/blackberry/RenderThemeBlackBerry.h:
3375 2012-02-20 John Knottenbelt <jknotten@chromium.org>
3377 Default canvas backing store to be 1:1 with specified dimensions.
3378 https://bugs.webkit.org/show_bug.cgi?id=78971
3380 Reviewed by Adam Barth.
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
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.
3393 * html/HTMLCanvasElement.cpp:
3394 (WebCore::HTMLCanvasElement::HTMLCanvasElement):
3396 2012-02-20 Mary Wu <mary.wu@torchmobile.com.cn>
3398 Upstream RenderThemeBlackberry.h/.cpp into WebCore/platform/blackberry
3399 https://bugs.webkit.org/show_bug.cgi?id=78785
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>
3410 Reviewed by Antonio Gomes.
3412 Initial upstream, no new tests.
3414 * platform/blackberry/RenderThemeBlackBerry.cpp: Added.
3415 * platform/blackberry/RenderThemeBlackBerry.h: Added.
3417 2012-02-20 Martin Robinson <mrobinson@igalia.com>
3419 [GTK] [EFL] Collapse duplicate WebGL support code
3420 https://bugs.webkit.org/show_bug.cgi?id=78970
3422 Reviewed by Gustavo Noronha Silva.
3424 No new tests. This just cleans up duplicated code.
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.
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.
3438 2012-02-20 Martin Robinson <mrobinson@igalia.com>
3440 [UNIX] Plugin information fields are not interpreted as UTF-8
3441 https://bugs.webkit.org/show_bug.cgi?id=78635
3443 Reviewed by Gustavo Noronha Silva.
3445 Interpret plugin metadata as UTF8 aways. This matches the behavior
3446 of Chromium and the Totem plugin.
3448 This is tested by a change to TestNetscapePlugin and expectations updates.
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.
3457 2012-02-20 Martin Robinson <mrobinson@igalia.com>
3459 [GTK] Web content oftens steals focus from other widgets
3460 https://bugs.webkit.org/show_bug.cgi?id=77791
3462 Reviewed by Gustavo Noronha Silva.
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.
3471 2012-02-20 Yael Aharon <yael.aharon@nokia.com>
3473 Regression (108135) isOpaque() returns uninitialized variable.
3474 https://bugs.webkit.org/show_bug.cgi?id=79049
3476 Reviewed by Noam Rosenthal.
3478 isOpaque() should use the new m_flags instead of the old m_isOpaque.
3479 No new tests. No new functionality.
3481 * platform/graphics/texmap/TextureMapper.h:
3482 (WebCore::BitmapTexture::reset):
3483 (WebCore::BitmapTexture::isOpaque):
3486 2012-02-20 Kentaro Hara <haraken@chromium.org>
3488 Unreviewed. Rebaselined run-bindings-tests results.
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:
3495 2012-02-20 No'am Rosenthal <noam.rosenthal@nokia.com>
3497 [Qt][WK2] Clipping is broken
3498 https://bugs.webkit.org/show_bug.cgi?id=78677
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
3505 Also, it's unnecessary to clip before we paint the layer's content, we should
3506 only clip afterwards, before painting the children.
3508 Reviewed by Kenneth Rohde Christiansen.
3510 No new functionality.
3512 * platform/graphics/opengl/TextureMapperGL.cpp:
3513 (WebCore::BitmapTextureGL::size):
3514 (WebCore::scissorClip):
3516 (WebCore::TextureMapperGL::beginScissorClip):
3517 (WebCore::TextureMapperGL::endScissorClip):
3518 * platform/graphics/texmap/TextureMapperLayer.cpp:
3519 (WebCore::TextureMapperLayer::paintSelfAndChildren):
3521 2012-02-20 No'am Rosenthal <noam.rosenthal@nokia.com>
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
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.
3529 Reviewed by Kenneth Rohde Christiansen.
3531 No new funcionality.
3533 * platform/graphics/opengl/TextureMapperGL.cpp:
3534 (WebCore::BitmapTextureGL::didReset):
3536 2012-02-20 Kihong Kwon <kihong.kwon@samsung.com>
3538 Add a new API for the Vibration API(W3C).
3539 https://bugs.webkit.org/show_bug.cgi?id=72010
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.
3548 Reviewed by Hajime Morita.
3550 Test: fast/dom/navigator-vibration.html
3553 * Modules/vibration/NavigatorVibration.cpp: Added.
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.
3562 (NavigatorVibration):
3563 * Modules/vibration/NavigatorVibration.idl: Added.
3564 * Modules/vibration/Vibration.cpp: Added.
3565 This class implements the entire vibration logic.
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.
3582 (WebCore::Vibration::from):
3583 * Modules/vibration/VibrationClient.h: Added.
3584 vibrate() and cancelVibrate() need to be implemented in the VibrationClient.
3587 (WebCore::VibrationClient::~VibrationClient):
3589 2012-02-20 Yuta Kitamura <yutak@chromium.org>
3591 Unreviewed, rolling out r108263.
3592 http://trac.webkit.org/changeset/108263
3593 https://bugs.webkit.org/show_bug.cgi?id=77856
3595 Broke Chromium Windows build.
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):
3616 2012-02-20 Raymond Liu <raymond.liu@intel.com>
3618 Have the DynamicsCompressorNode support multi-channel data
3619 https://bugs.webkit.org/show_bug.cgi?id=77856
3621 Reviewed by Chris Rogers.
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):
3630 * platform/audio/DynamicsCompressor.h:
3631 (DynamicsCompressor):
3632 * platform/audio/DynamicsCompressorKernel.cpp:
3633 (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
3634 (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
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):
3645 2012-02-20 David Barton <dbarton@mathscribe.com>
3647 RenderMathMLRow::baselinePosition() only if linePositionMode == PositionOnContainingLine
3648 https://bugs.webkit.org/show_bug.cgi?id=79039
3650 Reviewed by Eric Seidel.
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.
3657 Test: mathml/presentation/row.xhtml, fenced.xhtml, mo.xhtml, and mo-stretch.html
3659 * rendering/mathml/RenderMathMLRow.cpp:
3660 (WebCore::RenderMathMLRow::baselinePosition):
3662 2012-02-18 Jon Lee <jonlee@apple.com>
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>
3668 Reviewed by David Hyatt.
3670 The patch exposes a function to return the "no file(s) selected" label text.
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.
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().
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:
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.
3696 2012-02-20 Gavin Barraclough <barraclough@apple.com>
3698 Rubber stamped by Sam Weinig.
3700 * bindings/js/JSDOMWindowBase.cpp:
3701 (WebCore::JSDOMWindowBase::allowsAccessFrom):
3702 - Errk, remove dead code from end of function.
3704 2012-02-16 Gavin Barraclough <barraclough@apple.com>
3706 Move special __proto__ property to Object.prototype
3707 https://bugs.webkit.org/show_bug.cgi?id=78409
3709 Reviewed by Oliver Hunt.
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.
3716 * bindings/js/JSDOMWindowBase.cpp:
3717 (WebCore::JSDOMWindowBase::allowsAccessFrom):
3719 - expose allowsAccessFrom check to JSC.
3720 * bindings/js/JSDOMWindowBase.h:
3722 - expose allowsAccessFrom check to JSC.
3724 2012-02-20 Benjamin Poulain <benjamin@webkit.org>
3726 Make JSCSSStyleDeclaration work directly with CSS Property ID
3727 https://bugs.webkit.org/show_bug.cgi?id=79014
3729 Reviewed by Geoffrey Garen.
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.
3735 This patch cut the indirection and make the code go directly from the
3736 JavaScript name conversion to the CSS property ID.
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.
3745 The improvement are the following:
3746 -previous fast-path: no change
3747 -previous slow-path: ~3 times faster
3749 Test: fast/dom/CSSStyleDeclaration/access-longest-css-property.html
3750 This just test the edge case of CSSPropertyName.
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):
3762 (WebCore::cssPropertyNameIOSAliasing):
3766 2012-02-20 Dan Bernstein <mitz@apple.com>
3768 Updated Localizable.strings after r107440.
3770 Rubber-stamped by Joseph Pecoraro.
3772 * English.lproj/Localizable.strings:
3774 2012-02-20 David Barton <dbarton@mathscribe.com>
3776 MathML internals - remove nonOperatorHeight(), hasBase()
3777 https://bugs.webkit.org/show_bug.cgi?id=78977
3779 Reviewed by Eric Seidel.
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
3793 Test: mathml/presentation/mo-stretch.html, and many existing tests
3795 * rendering/mathml/RenderMathMLBlock.cpp:
3797 * rendering/mathml/RenderMathMLBlock.h:
3798 (WebCore::RenderMathMLBlock::unembellishedOperator):
3799 * rendering/mathml/RenderMathMLRow.cpp:
3801 (WebCore::RenderMathMLRow::layout):
3802 * rendering/mathml/RenderMathMLRow.h:
3803 (WebCore::RenderMathMLRow::isRenderMathMLRow):
3804 * rendering/mathml/RenderMathMLSubSup.cpp:
3806 * rendering/mathml/RenderMathMLSubSup.h:
3807 (RenderMathMLSubSup):
3808 * rendering/mathml/RenderMathMLUnderOver.cpp:
3810 * rendering/mathml/RenderMathMLUnderOver.h:
3811 (RenderMathMLUnderOver):
3813 2012-02-17 Anders Carlsson <andersca@apple.com>
3815 Stop the committer timer when the page is destroyed
3816 https://bugs.webkit.org/show_bug.cgi?id=78907
3818 Reviewed by Adam Roben.
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.
3823 * page/scrolling/ScrollingCoordinator.cpp:
3824 (WebCore::ScrollingCoordinator::pageDestroyed):
3826 2012-02-20 Patrick Gansterer <paroga@webkit.org>
3828 [WIN] Allow compiling FileSystem without CoreFoundation.
3829 https://bugs.webkit.org/show_bug.cgi?id=79032
3831 Reviewed by Adam Roben.
3833 Add #if USE(CF) around code using the CoreFoundation functions.
3835 * platform/FileSystem.h:
3836 * platform/win/FileSystemWin.cpp:
3838 2012-02-20 Robin Cao <robin.cao@torchmobile.com.cn>
3840 [BlackBerry] Upstream the first few files in platform/graphics/blackberry
3841 https://bugs.webkit.org/show_bug.cgi?id=79023
3843 Reviewed by Antonio Gomes.
3845 Initial upstreaming, no new tests.
3847 * platform/graphics/blackberry/FloatPointBlackBerry.cpp: Added.
3849 (WebCore::FloatPoint::FloatPoint):
3850 (WebCore::FloatPoint::operator BlackBerry::Platform::FloatPoint):
3851 * platform/graphics/blackberry/FloatRectBlackBerry.cpp: Added.
3853 (WebCore::FloatRect::FloatRect):
3854 (WebCore::FloatRect::operator BlackBerry::Platform::FloatRect):
3855 * platform/graphics/blackberry/FloatSizeBlackBerry.cpp: Added.
3857 (WebCore::FloatSize::FloatSize):
3858 (WebCore::FloatSize::operator BlackBerry::Platform::FloatSize):
3859 * platform/graphics/blackberry/IntPointBlackBerry.cpp: Added.
3861 (WebCore::IntPoint::IntPoint):
3862 (WebCore::IntPoint::operator BlackBerry::Platform::IntPoint):
3863 * platform/graphics/blackberry/IntRectBlackBerry.cpp: Added.
3865 (WebCore::IntRect::IntRect):
3866 (WebCore::IntRect::operator BlackBerry::Platform::IntRect):
3867 * platform/graphics/blackberry/IntSizeBlackBerry.cpp: Added.
3869 (WebCore::IntSize::IntSize):
3870 (WebCore::IntSize::operator BlackBerry::Platform::IntSize):
3872 2012-02-20 Patrick Gansterer <paroga@webkit.org>
3874 [WIN] Share openTemporaryFile with WinCE
3875 https://bugs.webkit.org/show_bug.cgi?id=58750
3877 Reviewed by Adam Roben.
3879 Use pathByAppendingComponent instead of PathCombine to share the
3880 code with WinCE. Also use the wide version of Windows functions.
3882 * platform/win/FileSystemWin.cpp:
3883 (WebCore::openTemporaryFile):
3885 2012-02-20 Victor Carbune <victor@rosedu.org>
3887 Added code to support dispatching of missed cues in case of normal playback
3888 and event sorting in case of simultaneous event triggering.
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
3893 Reviewed by Eric Carlson.
3895 Tests: media/track/track-cues-missed.html
3896 media/track/track-cues-sorted-before-dispatch.html
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.
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)
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.
3929 (WebCore::TextTrack::invalidateTrackIndex): Invalidates the track. Used
3930 when a new track is added in a TextTrackList instance.
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
3938 (WebCore::TextTrackCue::TextTrackCue):
3939 (WebCore::TextTrackCue::cueIndex): Getter for the cueIndex.
3941 (WebCore::TextTrackCue::invalidateCueIndex): Invalidates the currently stored
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:
3950 * html/TextTrackCueList.cpp:
3951 (WebCore::TextTrackCueList::getCueIndex): Retrieves the cue index, in the track cue
3952 order, of a given cue.
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:
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:
3967 2012-02-20 Kenichi Ishibashi <bashi@chromium.org>
3969 [WebSocket] Move WebSocketChannel::FrameData into a separate header file
3970 https://bugs.webkit.org/show_bug.cgi?id=78682
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).
3976 Reviewed by Kent Tamura.
3978 No new tests. No behavior change.
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
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.
4000 * websockets/WebSocketFrame.h: Added.
4003 (WebCore::WebSocketFrame::isNonControlOpCode):
4004 (WebCore::WebSocketFrame::isControlOpCode):
4005 (WebCore::WebSocketFrame::isReservedOpCode):
4006 (WebCore::WebSocketFrame::WebSocketFrame):
4008 2012-02-20 Adam Roben <aroben@apple.com>
4012 * platform/FractionalLayoutUnit.h:
4013 (WebCore::FractionalLayoutUnit::setRawValue): Explicitly cast long long to int, since they
4014 are different widths in 32-bit.
4016 2012-02-20 Adam Roben <aroben@apple.com>
4020 * inspector/InspectorDOMAgent.cpp:
4021 (WebCore::InspectorDOMAgent::willModifyDOMAttr): Removed unused parameter.
4023 2012-02-20 Vsevolod Vlasov <vsevik@chromium.org>
4025 Unreviewed manual rollout of r107970 which breaks table column widths
4026 updates from javascript (e.g. inspector's network panel).
4028 * rendering/FixedTableLayout.cpp:
4029 (WebCore::FixedTableLayout::calcWidthArray):
4030 * rendering/RenderTableCol.h:
4033 2012-02-20 Alexander Pavlov <apavlov@chromium.org>
4035 Web Inspector: [Styles] Inconsistent alignment of non-parsed properties (having an exclamation mark)
4036 https://bugs.webkit.org/show_bug.cgi?id=79028
4038 Reviewed by Yury Semikhatsky.
4040 * inspector/front-end/elementsPanel.css:
4041 (.styles-section .properties li.not-parsed-ok img.exclamation-mark):
4043 2012-02-20 Alexander Pavlov <apavlov@chromium.org>
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
4048 Reviewed by Pavel Feldman.
4051 (WebCore::Element::willModifyAttribute):
4052 * inspector/InspectorDOMAgent.cpp:
4053 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
4054 (WebCore::InspectorDOMAgent::willModifyDOMAttr):
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):
4065 2012-02-20 Kwonjin Jeong <gram@company100.net>
4067 Correct a typo error in ScrollingCoordinator.h
4068 https://bugs.webkit.org/show_bug.cgi?id=79012
4070 Reviewed by Andreas Kling.
4072 * page/scrolling/ScrollingCoordinator.h:
4073 (ScrollingCoordinator):
4075 2012-02-20 Alexander Pavlov <apavlov@chromium.org>
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
4080 Reviewed by Yury Semikhatsky.
4082 * inspector/front-end/CSSKeywordCompletions.js:
4084 2012-02-20 Yosifumi Inoue <yosin@chromium.org>
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
4089 Reviewed by Kent Tamura.
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.
4094 Test: fast/forms/number/spin-button-events.html
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.
4102 2012-02-20 Shinya Kawanaka <shinyak@chromium.org>
4104 Attached/Detached state must be testable
4105 https://bugs.webkit.org/show_bug.cgi?id=79010
4107 Reviewed by Hajime Morita.
4109 Added a method to check an element attached or not.
4111 Test: fast/dom/shadow/shadow-root-attached.html
4113 * testing/Internals.cpp:
4114 (WebCore::Internals::attached):