d5f0a2f00277753c1b62e902e953cabc685ca9fd
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-07-03  Zan Dobersek  <zandobersek@gmail.com>
2
3         [Gtk][Gamepads] 'warning: comparison is always true due to limited range of data type [-Wtype-limits]' in GamepadsGtk.cpp
4         https://bugs.webkit.org/show_bug.cgi?id=90477
5
6         Reviewed by Martin Robinson.
7
8         Vector::find() returns value of type size_t, springing errors when
9         assigning the value to a variable of type unsigned. Use size_t type
10         for that variable instead.
11
12         No new tests - no changed functionality.
13
14         * platform/gtk/GamepadsGtk.cpp:
15         (WebCore::GamepadsGtk::unregisterDevice):
16
17 2012-07-03  Dominik Röttsches  <dominik.rottsches@intel.com>
18
19         Fix LayoutUnit usage in RenderImage::imageDimensionsChanged
20         https://bugs.webkit.org/show_bug.cgi?id=90173
21
22         Reviewed by Eric Seidel.
23
24         The appropriate type should be used for storing width() and height() into local temporary variables.
25
26         No new tests, no change in behavior.
27
28         * rendering/RenderImage.cpp:
29         (WebCore::RenderImage::imageDimensionsChanged):
30
31 2012-07-03  Sergio Villar Senin  <svillar@igalia.com>
32
33         [TextureMapper] Typo in edge-distance anti-aliasing code
34         https://bugs.webkit.org/show_bug.cgi?id=90475
35
36         Reviewed by Martin Robinson.
37
38         No new tests. This just fixes a typo.
39
40         * platform/graphics/texmap/TextureMapperGL.cpp:
41         (WebCore::TextureMapperGL::drawQuad):
42
43 2012-06-27  Vsevolod Vlasov  <vsevik@chromium.org>
44
45         Web Inspector: [Extensions API] Resource manipulations should be based on UISourceCode thus extending Sources Panel.
46         https://bugs.webkit.org/show_bug.cgi?id=89868
47
48         Reviewed by Pavel Feldman.
49
50         Extensions API is now based on both ScriptsPanel acting as a UISourceCodeProvider and ResourceTreeModel.
51         Extensions API resource could be for any content provider now.
52         Extensions API resource.setContent implementation is now based on UISourceCode editing methods.
53         Drive-by StyleSource insremental editing timeout fix.
54
55         * inspector/front-end/ExtensionServer.js:
56         (WebInspector.ExtensionServer.prototype._handleOpenURL):
57         (WebInspector.ExtensionServer.prototype._makeResource):
58         (WebInspector.ExtensionServer.prototype._onGetPageResources):
59         (WebInspector.ExtensionServer.prototype._getResourceContent):
60         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
61         (WebInspector.ExtensionServer.prototype._onSetResourceContent):
62         (WebInspector.ExtensionServer.prototype._notifyResourceAdded):
63         (WebInspector.ExtensionServer.prototype._notifyResourceContentCommitted):
64         * inspector/front-end/JavaScriptSource.js:
65         * inspector/front-end/ScriptsPanel.js:
66         (WebInspector.ScriptsPanel.prototype.uiSourceCodes):
67         (WebInspector.ScriptsPanel.prototype.uiSourceCodeForURL):
68         (WebInspector.ScriptsPanel.prototype._addUISourceCode):
69         (WebInspector.ScriptsPanel.prototype._reset):
70         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
71         * inspector/front-end/StylesPanel.js:
72         (WebInspector.StyleSource.prototype.workingCopyCommitted):
73         (WebInspector.StyleSource.prototype.workingCopyChanged):
74         (WebInspector.StyleSource.prototype._callOrSetTimeout):
75         (WebInspector.StyleSource.prototype._commitIncrementalEdit):
76         (WebInspector.StyleSource.prototype._clearIncrementalUpdateTimer):
77         * inspector/front-end/UISourceCode.js:
78         (WebInspector.UISourceCode.prototype.requestContent):
79         (WebInspector.UISourceCode.prototype.workingCopy):
80         (WebInspector.UISourceCode.prototype.setWorkingCopy):
81         (WebInspector.UISourceCode.prototype.isDirty):
82
83 2012-07-03  Vsevolod Vlasov  <vsevik@chromium.org>
84
85         Web Inspector: Anonymous scripts (evals) should not be added to Workspace.
86         https://bugs.webkit.org/show_bug.cgi?id=90467
87
88         Reviewed by Pavel Feldman.
89
90         * inspector/front-end/ResourceScriptMapping.js:
91         (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
92         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
93         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
94         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved):
95         * inspector/front-end/ScriptSnippetModel.js:
96         (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
97         * inspector/front-end/ScriptsPanel.js:
98         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
99
100 2012-07-03  Robert Hogan  <robert@webkit.org>
101
102         CSS 2.1 failure: floats-wrap-top-below-inline-* fail
103         https://bugs.webkit.org/show_bug.cgi?id=88171
104
105         Reviewed by Eric Seidel.
106
107         When shifting a line or element left or right to avoid a float use the height
108         of the line or element to determine whether the float is inside the element or
109         if it overlaps the bottom of the element. 
110
111         Do this by passing the height of the element to the interval tree used to detect
112         the overlap with it's containing block's floats. The height is zero by default so
113         callers to logical[Left|Right]OffsetForLine will need to pass the height if they
114         want to use it to detect floats to avoid.
115
116         Tests: css2.1/20110323/floats-wrap-top-below-bfc-001l.htm
117                css2.1/20110323/floats-wrap-top-below-bfc-001r.htm
118                css2.1/20110323/floats-wrap-top-below-bfc-002l.htm
119                css2.1/20110323/floats-wrap-top-below-bfc-002r.htm
120                css2.1/20110323/floats-wrap-top-below-bfc-003l.htm
121                css2.1/20110323/floats-wrap-top-below-bfc-003r.htm
122                css2.1/20110323/floats-wrap-top-below-inline-001l.htm
123                css2.1/20110323/floats-wrap-top-below-inline-001r.htm
124                css2.1/20110323/floats-wrap-top-below-inline-002l.htm
125                css2.1/20110323/floats-wrap-top-below-inline-002r.htm
126                css2.1/20110323/floats-wrap-top-below-inline-003l.htm
127                css2.1/20110323/floats-wrap-top-below-inline-003r.htm
128                css2.1/20110323/floats-zero-height-wrap-001.htm
129                css2.1/20110323/floats-zero-height-wrap-002.htm
130                fast/block/float/floats-wrap-inside-inline-001.htm
131                fast/block/float/floats-wrap-inside-inline-002.htm
132                fast/block/float/floats-wrap-inside-inline-003.htm
133                fast/block/float/floats-wrap-inside-inline-004.htm
134                fast/block/float/floats-wrap-inside-inline-005.htm
135
136         * rendering/RenderBlock.cpp:
137         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
138         (WebCore::::collectIfNeeded):
139         (WebCore::RenderBlock::logicalLeftOffsetForLine):
140         (WebCore::RenderBlock::logicalRightOffsetForLine):
141         (WebCore::RenderBlock::getClearDelta):
142         * rendering/RenderBlock.h:
143         (WebCore::RenderBlock::availableLogicalWidthForLine):
144         (WebCore::RenderBlock::logicalRightOffsetForLine):
145         (WebCore::RenderBlock::logicalLeftOffsetForLine):
146         (WebCore::RenderBlock::startOffsetForLine):
147         (WebCore::RenderBlock::endOffsetForLine):
148         (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine):
149         (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
150         (RenderBlock):
151         (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
152         (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
153         (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
154         (FloatIntervalSearchAdapter):
155         * rendering/RenderBlockLineLayout.cpp:
156         (WebCore::logicalBottomForLine):
157         (WebCore):
158         (WebCore::LineWidth::updateAvailableWidth):
159         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
160         * rendering/RenderBox.cpp:
161         (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
162
163 2012-07-03  Vsevolod Vlasov  <vsevik@chromium.org>
164
165         Web Inspector: Introduce Workspace make it UISourceCode provider for ScriptsPanel.
166         https://bugs.webkit.org/show_bug.cgi?id=90466
167
168         Reviewed by Pavel Feldman.
169
170         Introduced WebInspector.Workspace as a model (UISourceCode provider) behind ScriptsPanel.
171
172         * WebCore.gypi:
173         * WebCore.vcproj/WebCore.vcproj:
174         * inspector/compile-front-end.py:
175         * inspector/front-end/ScriptsPanel.js:
176         * inspector/front-end/WebKit.qrc:
177         * inspector/front-end/Workspace.js: Added.
178         (WebInspector.CompositeUISourceCodeProvider):
179         (WebInspector.CompositeUISourceCodeProvider.prototype._registerUISourceCodeProvider):
180         (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeAdded):
181         (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeReplaced):
182         (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeRemoved):
183         (WebInspector.CompositeUISourceCodeProvider.prototype.uiSourceCodes):
184         (WebInspector.Workspace):
185         (WebInspector.Workspace.prototype.registerUISourceCodeProvider):
186         * inspector/front-end/inspector.html:
187         * inspector/front-end/inspector.js:
188
189 2012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
190
191         [Qt] Make use of .qmake.cache for caching features
192
193         Instead of loading() features from the files that need them (and re-running
194         a bunch of checks), we now run feature detection as part of configure.pro,
195         and have build-webkit write the computed feature-defines and CONFIG to
196         .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
197         when building WebKit.pro.
198
199         At some point we'll be able to selectivly prevent running of config tests
200         in configure.pro, which means we don't need a separate code-path for
201         the build-webkit --help case.
202
203         We should also move the code in build-webkit that now uses .webkit.config
204         to detect clean builds, to use .qmake.cache, since we now store the same
205         thing there.
206
207         Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
208
209         https://bugs.webkit.org/show_bug.cgi?id=90461
210
211         Reviewed by Tor Arne Vestbø.
212
213         * DerivedSources.pri:
214         * WebCore.pri:
215
216 2012-07-03  Sheriff Bot  <webkit.review.bot@gmail.com>
217
218         Unreviewed, rolling out r121766.
219         http://trac.webkit.org/changeset/121766
220         https://bugs.webkit.org/show_bug.cgi?id=90465
221
222         It caused flakey build errors on the bots (Requested by Ossy
223         on #webkit).
224
225         * DerivedSources.pri:
226         * WebCore.pri:
227
228 2012-07-03  George Staikos  <staikos@webkit.org>
229
230         [BlackBerry] Enable Custom Scheme Handlers for BlackBerry.
231         https://bugs.webkit.org/show_bug.cgi?id=90422
232
233         Reviewed by Rob Buis.
234
235         * page/NavigatorRegisterProtocolHandler.cpp:
236         (WebCore::initProtocolHandlerWhitelist): Disable the overrides as
237                                                  they're undesired by BlackBerry
238
239 2012-07-03  Eugene Klyuchnikov  <eustas.bug@gmail.com>
240
241         Web Inspector: Forward message loop instrumentation data to frontend.
242         https://bugs.webkit.org/show_bug.cgi?id=89584
243
244         Reviewed by Yury Semikhatsky.
245
246         Transmit collected message loop tasks to inspector frontend.
247         Now "Program" should be a top-level event on browsers that
248         support message loop instrumentation.
249         Frontend was changed so that user will not see any changes.
250
251         * inspector/InspectorTimelineAgent.cpp:
252         (TimelineRecordType):
253         Added new event type - "Program"
254         (WebCore::InspectorTimelineAgent::willProcessTask):
255         Begin "Program" event.
256         (WebCore::InspectorTimelineAgent::didProcessTask):
257         Finish "Program" event.
258         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
259         Do not add counters to "Program" events.
260         (WebCore):
261         (WebCore::InspectorTimelineAgent::innerSetHeapSizeStatistic):
262         Renamed from "setHeapSizeStatistic"
263         * inspector/InspectorTimelineAgent.h:
264         (InspectorTimelineAgent):
265         * inspector/front-end/MemoryStatistics.js:
266         (WebInspector.MemoryStatistics.prototype._onRecordAdded):
267         Unwraps "Program" events.
268         (WebInspector.MemoryStatistics.prototype._innerRecordAdded):
269         Renamed from "_onRecordAdded"
270         * inspector/front-end/TimelineFrameController.js:
271         (WebInspector.TimelineFrameController.prototype._addRecord):
272         Unwraps "Program" events.
273         (WebInspector.TimelineFrameController.prototype._innerAddRecord):
274         Renamed from "_addRecord"
275         * inspector/front-end/TimelineModel.js:
276         * inspector/front-end/TimelineOverviewPane.js:
277         (WebInspector.TimelineCategoryStrips.prototype.update.appendRecord):
278         Filter out "Program" category.
279         (WebInspector.TimelineCategoryStrips.prototype.update):
280         * inspector/front-end/TimelinePanel.js:
281         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
282         Filter out "Program" category.
283         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
284         Unwraps "Program" events.
285         * inspector/front-end/TimelinePresentationModel.js:
286         (WebInspector.TimelinePresentationModel.categories):
287         Added "Program" category.
288         (WebInspector.TimelinePresentationModel.recordStyle):
289         Ditto.
290         (WebInspector.TimelinePresentationModel.prototype.addRecord):
291         Unwraps "Program" events.
292         (WebInspector.TimelinePresentationModel.prototype._addRecord):
293         Renamed from "addRecord"
294
295 2012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
296
297         [Qt] Make use of .qmake.cache for caching features
298
299         Instead of loading() features from the files that need them (and re-running
300         a bunch of checks), we now run feature detection as part of configure.pro,
301         and have build-webkit write the computed feature-defines and CONFIG to
302         .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
303         when building WebKit.pro.
304
305         At some point we'll be able to selectivly prevent running of config tests
306         in configure.pro, which means we don't need a separate code-path for
307         the build-webkit --help case.
308
309         We should also move the code in build-webkit that now uses .webkit.config
310         to detect clean builds, to use .qmake.cache, since we now store the same
311         thing there.
312
313         Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
314
315         https://bugs.webkit.org/show_bug.cgi?id=90461
316
317         Reviewed by Tor Arne Vestbø.
318
319         * DerivedSources.pri:
320         * WebCore.pri:
321
322 2012-07-03  Vsevolod Vlasov  <vsevik@chromium.org>
323
324         inspector/debugger/script-snippet-model.html fails
325         https://bugs.webkit.org/show_bug.cgi?id=90385
326
327         Reviewed by Pavel Feldman.
328
329         * inspector/front-end/ScriptSnippetModel.js:
330
331 2012-07-03  Alexander Pavlov  <apavlov@chromium.org>
332
333         [REGRESSION] Crash when copying a StyleRuleMedia with a NULL m_mediaQueries
334         https://bugs.webkit.org/show_bug.cgi?id=90459
335
336         Reviewed by Andreas Kling.
337
338         Create StyleRuleMedia with a non-NULL MediaQuerySet. The respective NULL checks for it were all over the code,
339         except the copy constructor. Added the check, just in case.
340
341         * css/CSSParser.cpp:
342         (WebCore::CSSParser::createMediaRule):
343         * css/StyleRule.cpp:
344         (WebCore::StyleRuleMedia::StyleRuleMedia):
345
346 2012-07-03  Andrey Kosyakov  <caseq@chromium.org>
347
348         Web Inspector: display time intervals measured with console.time() and console.timeEnd() in Timeline
349         https://bugs.webkit.org/show_bug.cgi?id=90442
350
351         Reviewed by Pavel Feldman.
352
353         - added Time and TimeEnd record types produced by console.time() and console.timeEnd()
354         - connect Time to TimeEnd in "glue" mode to better visualize the interval;
355         - always make Time a top-level record;
356
357         * English.lproj/localizedStrings.js:
358         * inspector/InspectorInstrumentation.cpp:
359         (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
360         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
361         * inspector/InspectorTimelineAgent.cpp:
362         (TimelineRecordType):
363         (WebCore::InspectorTimelineAgent::didStartTiming):
364         (WebCore):
365         (WebCore::InspectorTimelineAgent::didStopTiming):
366         * inspector/InspectorTimelineAgent.h:
367         (InspectorTimelineAgent):
368         * inspector/front-end/TimelineModel.js:
369         * inspector/front-end/TimelinePresentationModel.js:
370         (WebInspector.TimelinePresentationModel.recordStyle):
371         (WebInspector.TimelinePresentationModel.categoryForRecord):
372         (WebInspector.TimelinePresentationModel.prototype.reset):
373         (WebInspector.TimelinePresentationModel.prototype.addRecord):
374         (WebInspector.TimelinePresentationModel.prototype._findParentRecord):
375         (WebInspector.TimelinePresentationModel.Record):
376         (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
377
378 2012-07-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>  Joel Dillon <joel.dillon@codethink.co.uk>
379
380         [Qt][Win] Fix broken QtWebKit5.lib linking
381         https://bugs.webkit.org/show_bug.cgi?id=88321
382
383         Reviewed by Kenneth Rohde Christiansen.
384
385         * platform/PlatformExportMacros.h:
386
387 2012-07-03  Philip Rogers  <pdr@google.com>
388
389         Fix text positioning with non-bmp characters.
390         https://bugs.webkit.org/show_bug.cgi?id=87681
391
392         Reviewed by Nikolas Zimmermann.
393
394         Previously when constructing metrics for tspans with non-bmp characters,
395         each non-bmp character treated as a skipped character in the same way that
396         spaces are ignored.
397         This made sense because the initial SVGCharacterDataMap for <text> is
398         indexed by character index (not string length) so the high portion of a
399         non-bmp character was treated as a skipped space. Unfortunately, this
400         led to a bug because skipped spaces lead to an offset in the positioning
401         values list but non-bmp characters do not.
402
403         This change switches the code to use a new offset for non-bmp characters,
404         surrogatePairCharacters, which does not affect the positioning values list.
405
406         Tests: svg/text/non-bmp-tspans-expected.svg
407                svg/text/non-bmp-tspans.svg
408
409         * rendering/svg/SVGTextMetricsBuilder.cpp:
410         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
411
412 2012-07-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
413
414         Improve test cases for network information APIs
415         https://bugs.webkit.org/show_bug.cgi?id=90162
416
417         Reviewed by Adam Barth.
418
419         Existing implementation doesn't test port implementation in network info APIs.
420         This patch lets test cases use bandwidth and metered functions implemented by port layer.
421
422         In addition, expected results need to check return type instead of property name.
423
424         No new tests. Covered by existing tests.
425
426         * Modules/networkinfo/NetworkInfoConnection.cpp:
427         (WebCore::NetworkInfoConnection::bandwidth):
428         (WebCore::NetworkInfoConnection::metered):
429
430 2012-07-03  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
431
432         [EFL] [WK2] Don't call eina_iterator_free() if iterator is NULL
433         https://bugs.webkit.org/show_bug.cgi?id=90076
434
435         Reviewed by Kenneth Rohde Christiansen.
436
437         Add a null check to prevent calling eina_iterator_free() when
438         iterator is NULL.
439
440         No new tests. This patch doesn't change behavior.
441
442         * platform/efl/FileSystemEfl.cpp:
443         (WebCore::listDirectory): Early return when iterator is NULL.
444
445 2012-07-03  Alexander Pavlov  <apavlov@chromium.org>
446
447         Web Inspector: [Elements] Text formatting is not retained when editing <script> or <style> contents as text
448         https://bugs.webkit.org/show_bug.cgi?id=90440
449
450         Reviewed by Vsevolod Vlasov.
451
452         * inspector/front-end/ElementsTreeOutline.js:
453         (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
454
455 2012-07-03  Vsevolod Vlasov  <vsevik@chromium.org>
456
457         Web Inspector: Save scroll selection and cursor position of SourceFrames in sources panel.
458         https://bugs.webkit.org/show_bug.cgi?id=90294
459
460         Reviewed by Yury Semikhatsky.
461
462         Scroll and selection change handling is now delegated from TextViewer to SourceFrame.
463         SourceFrame now dispatches ScrollChanged and SelectionChanged events.
464         TabbedEditorContainer now saves scroll and selection information together
465         with the url history and restores scroll and selection on resource opening.
466
467         * inspector/front-end/JavaScriptSourceFrame.js:
468         (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
469         * inspector/front-end/SourceFrame.js:
470         (WebInspector.SourceFrame.prototype.wasShown):
471         (WebInspector.SourceFrame.prototype.highlightLine):
472         (WebInspector.SourceFrame.prototype._innerHighlightLineIfNeeded):
473         (WebInspector.SourceFrame.prototype._clearLineHighlight):
474         (WebInspector.SourceFrame.prototype.revealLine):
475         (WebInspector.SourceFrame.prototype._innerRevealLineIfNeeded):
476         (WebInspector.SourceFrame.prototype._clearLineToReveal):
477         (WebInspector.SourceFrame.prototype.scrollToLine):
478         (WebInspector.SourceFrame.prototype._innerScrollToLineIfNeeded):
479         (WebInspector.SourceFrame.prototype._clearLineToScrollTo):
480         (WebInspector.SourceFrame.prototype.setSelection):
481         (WebInspector.SourceFrame.prototype._innerSetSelectionIfNeeded):
482         (WebInspector.SourceFrame.prototype._wasShownOrLoaded):
483         (WebInspector.SourceFrame.prototype.setContent):
484         (WebInspector.SourceFrame.prototype.commitEditing):
485         (WebInspector.SourceFrame.prototype.selectionChanged):
486         (WebInspector.SourceFrame.prototype.scrollChanged):
487         (WebInspector.TextViewerDelegateForSourceFrame.prototype.selectionChanged):
488         (WebInspector.TextViewerDelegateForSourceFrame.prototype.scrollChanged):
489         * inspector/front-end/TabbedEditorContainer.js:
490         (WebInspector.TabbedEditorContainer):
491         (WebInspector.TabbedEditorContainer.prototype._addScrollAndSelectionListeners):
492         (WebInspector.TabbedEditorContainer.prototype._removeScrollAndSelectionListeners):
493         (WebInspector.TabbedEditorContainer.prototype._scrollChanged):
494         (WebInspector.TabbedEditorContainer.prototype._selectionChanged):
495         (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
496         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
497         (WebInspector.TabbedEditorContainer.HistoryItem):
498         (WebInspector.TabbedEditorContainer.HistoryItem.fromObject):
499         (WebInspector.TabbedEditorContainer.HistoryItem.prototype.serializeToObject):
500         (WebInspector.TabbedEditorContainer.History):
501         (WebInspector.TabbedEditorContainer.History.fromObject):
502         (WebInspector.TabbedEditorContainer.History.prototype.index):
503         (WebInspector.TabbedEditorContainer.History.prototype.selectionRange):
504         (WebInspector.TabbedEditorContainer.History.prototype.updateSelectionRange):
505         (WebInspector.TabbedEditorContainer.History.prototype.scrollLineNumber):
506         (WebInspector.TabbedEditorContainer.History.prototype.updateScrollLineNumber):
507         (WebInspector.TabbedEditorContainer.History.prototype.update):
508         (WebInspector.TabbedEditorContainer.History.prototype.remove):
509         (WebInspector.TabbedEditorContainer.History.prototype.save):
510         (WebInspector.TabbedEditorContainer.History.prototype.set _serializeToObject):
511         * inspector/front-end/TextEditorModel.js:
512         (WebInspector.TextRange.fromObject):
513         (WebInspector.TextRange.prototype.clone):
514         (WebInspector.TextRange.prototype.serializeToObject):
515         * inspector/front-end/TextViewer.js:
516         (WebInspector.TextViewer.prototype._handleScrollChanged):
517         (WebInspector.TextViewer.prototype.scrollToLine):
518         (WebInspector.TextViewer.prototype._handleSelectionChange):
519         (WebInspector.TextViewer.prototype.setSelection):
520         (WebInspector.TextViewer.prototype.wasShown):
521         (WebInspector.TextViewer.prototype._handleFocused):
522         (WebInspector.TextViewer.prototype.willHide):
523         (WebInspector.TextViewerDelegate.prototype.selectionChanged):
524         (WebInspector.TextViewerDelegate.prototype.scrollChanged):
525         (WebInspector.TextEditorChunkedPanel.prototype.scrollToLine):
526
527 2012-07-03  Taiju Tsuiki  <tzik@chromium.org>
528
529         Web Inspector: Make DirectoryContentView sortable
530         https://bugs.webkit.org/show_bug.cgi?id=90361
531
532         Reviewed by Vsevolod Vlasov.
533
534         * inspector/Inspector.json:
535         * inspector/InspectorFileSystemAgent.cpp:
536         (WebCore):
537         * inspector/front-end/DirectoryContentView.js:
538         (WebInspector.DirectoryContentView):
539         (WebInspector.DirectoryContentView.prototype.showEntries):
540         (WebInspector.DirectoryContentView.prototype._sort):
541         (WebInspector.DirectoryContentView.Node.comparator.isDirectoryCompare):
542         (WebInspector.DirectoryContentView.Node.comparator.nameCompare):
543         (WebInspector.DirectoryContentView.Node.comparator.typeCompare):
544         (WebInspector.DirectoryContentView.Node.comparator.sizeCompare):
545         (WebInspector.DirectoryContentView.Node.comparator):
546         (WebInspector.DirectoryContentView.Node.prototype._metadataReceived):
547
548 2012-07-03  Jan Keromnes  <janx@linux.com>
549
550         Web Inspector: WebInspector.TextViewer should be renamed WebInspector.TextEditor
551         https://bugs.webkit.org/show_bug.cgi?id=89939
552
553         Reviewed by Vsevolod Vlasov.
554
555         Fixed LayoutTests and PerformanceTests accordingly.
556
557         * WebCore.gypi:
558         * WebCore.vcproj/WebCore.vcproj:
559         * inspector/compile-front-end.py:
560         * inspector/front-end/AdvancedSearchController.js:
561         (WebInspector.SearchView):
562         * inspector/front-end/JavaScriptSourceFrame.js:
563         (WebInspector.JavaScriptSourceFrame):
564         (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
565         (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
566         (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration):
567         (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition.finishEditing):
568         (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition):
569         (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
570         (WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):
571         (WebInspector.JavaScriptSourceFrame.prototype.onTextEditorContentLoaded):
572         (WebInspector.JavaScriptSourceFrame.prototype.toggleBreakpointOnCurrentLine):
573         * inspector/front-end/SourceFrame.js:
574         (WebInspector.SourceFrame):
575         (WebInspector.SourceFrame.prototype.wasShown):
576         (WebInspector.SourceFrame.prototype.willHide):
577         (WebInspector.SourceFrame.prototype.defaultFocusedElement):
578         (WebInspector.SourceFrame.prototype.get textEditor):
579         (WebInspector.SourceFrame.prototype.clearMessages):
580         (WebInspector.SourceFrame.prototype.highlightLine):
581         (WebInspector.SourceFrame.prototype._clearLineHighlight):
582         (WebInspector.SourceFrame.prototype.revealLine):
583         (WebInspector.SourceFrame.prototype.setSelection):
584         (WebInspector.SourceFrame.prototype.setContent):
585         (WebInspector.SourceFrame.prototype.onTextEditorContentLoaded):
586         (WebInspector.SourceFrame.prototype._setTextEditorDecorations):
587         (WebInspector.SourceFrame.prototype.searchCanceled):
588         (WebInspector.SourceFrame.prototype.jumpToSearchResult):
589         (WebInspector.SourceFrame.prototype.addMessageToSource):
590         (WebInspector.SourceFrame.prototype.removeMessageFromSource):
591         (WebInspector.SourceFrame.prototype.inheritScrollPositions):
592         (WebInspector.TextEditorDelegateForSourceFrame):
593         * inspector/front-end/TextViewer.js: Removed.
594         * inspector/front-end/WebKit.qrc:
595         * inspector/front-end/inspector.html:
596         * inspector/front-end/textViewer.css: Removed.
597
598 2012-07-03  Charles Wei  <charles.wei@torchmobile.com.cn>
599
600         IndexedDB: should make the LevelDB persistant to the directory indicated in PageGroupSettings::indexedDBDataBasePath
601         https://bugs.webkit.org/show_bug.cgi?id=88338
602
603         Reviewed by David Levin.
604
605         If the indexedDB runs in main thread it can access the GroupSettings via the document;
606         otherwise, we need to pass the page GroupSettings to the worker thread so that accessible
607         to the indexedDB running in WorkerContext. 
608
609         * Modules/indexeddb/IDBFactory.cpp:
610         (WebCore::IDBFactory::open):
611         * workers/DedicatedWorkerThread.cpp:
612         (WebCore::DedicatedWorkerThread::create):
613         (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
614         * workers/DedicatedWorkerThread.h:
615         (DedicatedWorkerThread):
616         * workers/DefaultSharedWorkerRepository.cpp:
617         (SharedWorkerProxy):
618         (WebCore::SharedWorkerProxy::groupSettings):
619         (WebCore):
620         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
621         * workers/SharedWorkerThread.cpp:
622         (WebCore::SharedWorkerThread::create):
623         (WebCore::SharedWorkerThread::SharedWorkerThread):
624         * workers/SharedWorkerThread.h:
625         (SharedWorkerThread):
626         * workers/WorkerMessagingProxy.cpp:
627         (WebCore::WorkerMessagingProxy::startWorkerContext):
628         * workers/WorkerThread.cpp:
629         (WebCore::WorkerThreadStartupData::create):
630         (WorkerThreadStartupData):
631         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
632         (WebCore::WorkerThread::WorkerThread):
633         (WebCore::WorkerThread::groupSettings):
634         (WebCore):
635         * workers/WorkerThread.h:
636         (WorkerThread):
637
638 2012-07-03  Balazs Kelemen  <kbalazs@webkit.org>
639
640         [Qt][WK2] fast/viewport/viewport-91.html still fails after r121555 and r121661
641         https://bugs.webkit.org/show_bug.cgi?id=90376
642
643         Reviewed by Csaba Osztrogonác.
644
645         No new tests, this is only a build alignment.
646
647         Export ViewportArguments::deprecatedTargetDPI since it is used in WebKit2.
648         * WebCore.exp.in:
649
650 2012-07-02  Martin Robinson  <mrobinson@igalia.com>
651
652         [TextureMapper] The TextureMapper should support edge-distance anti-antialiasing
653         https://bugs.webkit.org/show_bug.cgi?id=90308
654
655         Reviewed by Noam Rosenthal.
656
657         Add an edge-distance anti-aliasing implementation for the TextureMapper. Currently
658         this implementation is not active for tiled layers. This implementation is based
659         on the one in the Chromium compositor originally written by David Raveman.
660
661         When a layer is transformed in a way that leaves its edge dimensions across pixel
662         boundaries, edge distance anti-aliasing will do a cheaper form of anti-aliasing
663         than full-scene anti-aliasing to make the transition from the layer pixel
664         to the background pixel smoother.
665
666         No new tests. This will be covered by pixel tests for Qt and GTK+ accelerated
667         compositing and 3D transforms, when those test harnesses are capable of
668         producing pixel output (in progress).
669
670         * platform/graphics/texmap/TextureMapper.h: Add an enum which is used to tell
671         the texture mapper what edges of a texture are exposed. This will be used for
672         properly dealing with tiled layers in the future.
673         * platform/graphics/texmap/TextureMapperBackingStore.cpp: Properly pass information
674         about exposed layer edges to the TextureMapper while painting.
675         * platform/graphics/texmap/TextureMapperBackingStore.h:
676         (TextureMapperTile): Modified arguments include exposed edges.
677         * platform/graphics/texmap/TextureMapperGL.cpp:
678         (WebCore::TextureMapperGL::drawQuad): Renamed from drawRect, this method can now
679         draw quads that have non unit-rect texture coordinates. This is necessary because
680         the edge distance approach draws such quad.
681         (WebCore::TextureMapperGL::drawBorder): Call drawQuad now instead of drawRect.
682         (WebCore::TextureMapperGL::drawTexture): Pass the exposedEdges argument down.
683         (WebCore::TextureMapperGL::drawTextureRectangleARB): Call drawQuad now instead of
684         drawRect.
685         (WebCore::viewportMatrix): Added this helper which can calculate the viewport
686         transform based on the current OpenGL viewport settings.
687         (WebCore::scaleLineEquationCoeffecientsToOptimizeDistanceCalculation): Added this
688         helper which optimizes the fragment shader by precalculating some constant parts
689         of the distance calculation.
690         (WebCore::getStandardEquationCoeffecientsForLine): Given two end points of line segment
691         get the coeffecients of the line in the standard form of the line equation.
692         (WebCore::quadToEdgeArray): Converts a FloatQuad to an array of four sets of pre-scaled
693         line coefficients so that they can be passed to OpenGL.
694         (WebCore::scaledVectorDifference): Helper which helps expand a quad of arbitrary
695         orientation.
696         (WebCore::inflateQuad): Inflate a quad of arbitrary orientation. The transform may
697         flip it so we have to look at neighboring points to expand the quad.
698         (WebCore::TextureMapperGL::drawTextureWithAntialiasing): Activate the anti-aliasing
699         program and set up all uniforms.
700         (WebCore::TextureMapperGL::drawTexturedQuadWithProgram): Abstract out common operations
701         from drawTexture to be used with drawTextureWithAntialiasing.
702         * platform/graphics/texmap/TextureMapperGL.h:
703         (WebCore::TextureMapperGL::DrawQuad::DrawQuad): Add this small type which stores information
704         necessary to draw a quad -- it's original destination rect and the final size mapped to
705         texture coordinates.
706         (TextureMapperGL):
707         * platform/graphics/texmap/TextureMapperImageBuffer.cpp: Add the new exposedEdges argument.
708         * platform/graphics/texmap/TextureMapperImageBuffer.h: Ditto.
709         * platform/graphics/texmap/TextureMapperShaderManager.cpp: Add the new fragment shader for
710         doing edge-distance AA and a program which uses that shader.
711         * platform/graphics/texmap/TextureMapperShaderManager.h: Ditto.
712
713 2012-07-02  Dan Bernstein  <mitz@apple.com>
714
715         Column height and count calculation ignores most overflow
716         https://bugs.webkit.org/show_bug.cgi?id=90392
717
718         Reviewed by Dean Jackson.
719
720         Test: fast/multicol/overflow-content.html
721
722         * rendering/RenderBlock.cpp:
723         (WebCore::RenderBlock::relayoutForPagination): Changed to compute the overflow from children
724         and use the layout overflow height rather the content height.
725
726 2012-07-02  Chris Guan  <chris.guan@torchmobile.com.cn>
727
728         [BlackBerry] Refactor : move the implementation of getMIMETypeForExtension and getPreferredExtensionForMIMEType into BlackBerry platform
729         https://bugs.webkit.org/show_bug.cgi?id=90360
730
731         Reviewed by Antonio Gomes.
732
733         We should have one implementation for getMIMETypeForExtension
734         and getPreferredExtensionForMIMEType for both webkit and platform,
735         so I move this implementation to BlackBerry platform.
736         
737         No new test cases , because no behavior changed.
738
739         * platform/blackberry/MIMETypeRegistryBlackBerry.cpp:
740         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
741         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
742
743 2012-07-02  Emil A Eklund  <eae@chromium.org>
744
745         Position replaced elements on pixel bounds
746         https://bugs.webkit.org/show_bug.cgi?id=90354
747
748         Reviewed by Eric Seidel.
749
750         To avoid sizing and repaint issues we should layout replaced elements on
751         pixel bounds. We already ensure that replaced elements are sized in full
752         pixels and that they are painted on pixel bounds. By also ensuring that
753         they are placed on pixel bounds we avoid pixel having the size be
754         expanded by pixel snapping and repainting/invalidation rect issues when
755         scrolling.
756
757         Test: fast/repaint/repaint-during-scroll-with-zoom.html
758
759         * rendering/RenderBox.cpp:
760         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
761         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
762
763 2012-07-02  Nico Weber  <thakis@chromium.org>
764
765         Fix new -Wunused-private-field violations
766         https://bugs.webkit.org/show_bug.cgi?id=90417
767
768         Reviewed by Ryosuke Niwa.
769
770         No intended behavior change.
771
772         * inspector/InspectorFileSystemAgent.cpp:
773         (WebCore):
774         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
775         (WebCore::CCPrioritizedTextureManager::CCPrioritizedTextureManager):
776         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
777         (CCPrioritizedTextureManager):
778
779 2012-07-02  Yoshifumi Inoue  <yosin@chromium.org>
780
781         Build fix for Chromimum
782
783         r121710 removed WebCore/platform/qt/GraphicsLayerQt.{cpp,h}.
784         However, that patch didn't remove them from WebCore.gypi.
785
786         * WebCore.gypi: Removed GraphicsLayerQt.{cpp,h}
787
788 2012-07-02  Joshua Bell  <jsbell@chromium.org>
789
790         IDL overloads should not treat wrapper types as nullable by default
791         https://bugs.webkit.org/show_bug.cgi?id=90218
792
793         Reviewed by Kentaro Hara.
794
795         Wrapper types were being treated as Nullable by default during overloaded
796         method dispatching, which deviates from the WebIDL specification. This change
797         introduces the "?" type suffix into the parser, and treats wrapper types
798         only nullable if specified. (The behavior of array types and other non-wrapper
799         types are not changed, and only overloaded methods are checked.)
800
801         IDL files with affected overloads are modified to include the "?" suffix
802         so that no behavior changes are introduced by this patch - the JS and V8
803         generator results before/after the change show no diffs.
804
805         Test: bindings/scripts/test/TestObj.idl (a non-nullable overload)
806
807         * Modules/indexeddb/IDBDatabase.idl: Added "?" where necessary.
808         * Modules/indexeddb/IDBIndex.idl: Added "?" where necessary.
809         * Modules/indexeddb/IDBObjectStore.idl: Added "?" where necessary.
810         * Modules/webaudio/AudioContext.idl: Added "?" where necessary.
811         * Modules/webaudio/AudioNode.idl: Added "?" where necessary.
812         * bindings/scripts/CodeGeneratorJS.pm:
813         (GenerateParametersCheckExpression): Add isNullable check.
814         * bindings/scripts/CodeGeneratorV8.pm:
815         (GenerateParametersCheckExpression): Add isNullable check.
816         * bindings/scripts/IDLParser.pm: Parse/set isNullable.
817         (parseParameters):
818         * bindings/scripts/IDLStructure.pm: Add basic type suffix parsing.
819         * bindings/scripts/test/JS/JSTestObj.cpp:
820         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
821         (WebCore):
822         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
823         * bindings/scripts/test/TestObj.idl: Mark previous overload params with ?, add new one without.
824         * bindings/scripts/test/V8/V8TestObj.cpp:
825         (WebCore::TestObjV8Internal::overloadedMethod8Callback):
826         (TestObjV8Internal):
827         (WebCore::TestObjV8Internal::overloadedMethodCallback):
828         * dom/DataTransferItemList.idl: Added "?" where necessary.
829         * fileapi/WebKitBlobBuilder.idl: Added "?" where necessary.
830         * html/DOMURL.idl: Added "?" where necessary.
831         * html/canvas/CanvasRenderingContext2D.idl: Added "?" where necessary.
832         * html/canvas/WebGLRenderingContext.idl: Added "?" where necessary.
833
834 2012-07-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
835
836         [Qt] Get rid of GraphicsLayerQt
837         https://bugs.webkit.org/show_bug.cgi?id=78598
838
839         Reviewed by Luiz Agostini.
840
841         Remove GraphicsLayerQt.h/cpp, as well as references to the non-TextureMapper code paths
842         in GraphicsContext3DQt and MediaPlayerPrivateQt.
843
844         No new tests, removing unused code paths.
845
846         * Target.pri:
847         * platform/graphics/PlatformLayer.h:
848         * platform/graphics/qt/GraphicsContext3DQt.cpp:
849         (GraphicsContext3DPrivate):
850         (WebCore):
851         * platform/graphics/qt/GraphicsContextQt.cpp:
852         (WebCore):
853         * platform/graphics/qt/GraphicsLayerQt.cpp: Removed.
854         * platform/graphics/qt/GraphicsLayerQt.h: Removed.
855         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
856         (WebCore):
857         * platform/graphics/qt/MediaPlayerPrivateQt.h:
858         (MediaPlayerPrivateQt):
859         * plugins/qt/PluginViewQt.cpp:
860         (WebCore::PluginView::invalidateRect):
861         (WebCore::PluginView::platformStart):
862
863 2012-07-02  Behdad Esfahbod  <behdad@behdad.org>
864
865         LayoutUnit::epsilon() is wrong
866         https://bugs.webkit.org/show_bug.cgi?id=90083
867
868         Reviewed by Eric Seidel.
869
870         Do division in floats, not integers.
871
872         No new tests. No code using the affected function.
873
874         * platform/FractionalLayoutUnit.h:
875         (WebCore::FractionalLayoutUnit::epsilon):
876
877 2012-07-02  Tim Horton  <timothy_horton@apple.com>
878
879         Compositing layer sync should cause deferred repaints to be fired immediately
880         https://bugs.webkit.org/show_bug.cgi?id=90401
881         <rdar://problem/11792028>
882
883         Reviewed by Simon Fraser and Antti Koivisto.
884
885         If we sync compositing layers and allow the repaint to be deferred, there is time for a
886         visible flash to occur. Instead, stop the deferred repaint timer and repaint immediately.
887
888         No new tests, configuration and timing dependent.
889
890         * page/FrameView.cpp:
891         (WebCore::FrameView::syncCompositingStateForThisFrame):
892         (WebCore::FrameView::checkStopDelayingDeferredRepaints):
893         (WebCore::FrameView::stopDelayingDeferredRepaints): Split off from checkStopDelayingDeferredRepaints.
894         * page/FrameView.h:
895         (FrameView): Add stopDelayingDeferredRepaints.
896
897 2012-07-02  Benjamin Poulain  <bpoulain@apple.com>
898
899         Do not do any logging initialization when logging is disabled
900         https://bugs.webkit.org/show_bug.cgi?id=90228
901
902         Reviewed by Simon Fraser.
903
904         Initializating of the logging channels was taking time on startup. When logging is disabled
905         (and the LOG macro does nothing), we should aslo disable logging channels and initialization.
906
907         This patch #ifdef the Logging initialization with the macro LOG_DISABLED.
908
909         * WebCore.exp.in:
910         * make-export-file-generator: Explicitely adds Assertions.h so that LOG_DISABLED is defined.
911         * platform/Logging.cpp:
912         * platform/Logging.h:
913         * platform/blackberry/LoggingBlackBerry.cpp:
914         * platform/efl/LoggingEfl.cpp:
915         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
916         * platform/gtk/LoggingGtk.cpp:
917         * platform/mac/LoggingMac.mm:
918         * platform/network/soup/ResourceHandleSoup.cpp:
919         (WebCore::ensureSessionIsInitialized):
920         * platform/qt/LoggingQt.cpp:
921         * platform/win/LoggingWin.cpp:
922         * platform/wx/LoggingWx.cpp:
923
924 2012-07-02  Dan Bernstein  <mitz@apple.com>
925
926         <rdar://problem/11787030> In vertical writing modes, child following float-clearing block has incorrect logical top
927         https://bugs.webkit.org/show_bug.cgi?id=90359
928
929         Reviewed by Anders Carlsson.
930
931         Test: fast/writing-mode/logical-height-after-clear.html
932
933         * rendering/RenderBlock.cpp:
934         (WebCore::RenderBlock::clearFloatsIfNeeded): Changed to use logicalTop() and logicalHeight()
935         instead of y() and height().
936
937 2012-07-02  Arko Saha  <arko@motorola.com>
938
939         Microdata: Fix build failure after r121580.
940         https://bugs.webkit.org/show_bug.cgi?id=90378
941
942         Reviewed by Ryosuke Niwa.
943
944         * html/HTMLElement.cpp:
945         (WebCore::HTMLElement::properties):
946         * html/HTMLElement.h:
947
948 2012-07-02  Tommy Widenflycht  <tommyw@google.com>
949
950         MediaStream API: Update MediaStreamTrackList to match the specification
951         https://bugs.webkit.org/show_bug.cgi?id=90171
952
953         Reviewed by Adam Barth.
954
955         The latest update to the specification added add and remove methods with corresponding callbacks.
956         The callbacks can be triggered both from JS and from the platform layer.
957
958         Test: fast/mediastream/MediaStreamTrackList.html
959
960         * CMakeLists.txt:
961         * GNUmakefile.list.am:
962         * Modules/mediastream/MediaStream.cpp:
963         (WebCore::MediaStream::MediaStream):
964         (WebCore::MediaStream::~MediaStream):
965         (WebCore::MediaStream::streamEnded):
966         (WebCore::MediaStream::addTrack):
967         (WebCore):
968         (WebCore::MediaStream::removeTrack):
969         * Modules/mediastream/MediaStream.h:
970         (MediaStream):
971         * Modules/mediastream/MediaStreamTrackEvent.cpp: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.cpp.
972         (WebCore):
973         (WebCore::MediaStreamTrackEvent::create):
974         (WebCore::MediaStreamTrackEvent::MediaStreamTrackEvent):
975         (WebCore::MediaStreamTrackEvent::~MediaStreamTrackEvent):
976         (WebCore::MediaStreamTrackEvent::track):
977         (WebCore::MediaStreamTrackEvent::interfaceName):
978         * Modules/mediastream/MediaStreamTrackEvent.h: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.h.
979         (WebCore):
980         (MediaStreamTrackEvent):
981         * Modules/mediastream/MediaStreamTrackEvent.idl: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.idl.
982         * Modules/mediastream/MediaStreamTrackList.cpp:
983         (WebCore::MediaStreamTrackList::create):
984         (WebCore::MediaStreamTrackList::MediaStreamTrackList):
985         (WebCore::MediaStreamTrackList::detachOwner):
986         (WebCore):
987         (WebCore::MediaStreamTrackList::add):
988         (WebCore::MediaStreamTrackList::remove):
989         (WebCore::MediaStreamTrackList::stop):
990         (WebCore::MediaStreamTrackList::interfaceName):
991         (WebCore::MediaStreamTrackList::scriptExecutionContext):
992         (WebCore::MediaStreamTrackList::eventTargetData):
993         (WebCore::MediaStreamTrackList::ensureEventTargetData):
994         * Modules/mediastream/MediaStreamTrackList.h:
995         (MediaStreamTrackList):
996         * Modules/mediastream/MediaStreamTrackList.idl:
997         * WebCore.gypi:
998         * dom/EventNames.h:
999         (WebCore):
1000         * dom/EventNames.in:
1001         * dom/EventTargetFactory.in:
1002         * platform/mediastream/MediaStreamCenter.cpp:
1003         (WebCore::MediaStreamCenter::addMediaStreamTrack):
1004         (WebCore):
1005         (WebCore::MediaStreamCenter::removeMediaStreamTrack):
1006         * platform/mediastream/MediaStreamCenter.h:
1007         (MediaStreamCenter):
1008         * platform/mediastream/MediaStreamDescriptor.h:
1009         (MediaStreamDescriptorOwner):
1010         * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
1011         (WebCore::MediaStreamCenterChromium::didAddMediaStreamTrack):
1012         (WebCore):
1013         (WebCore::MediaStreamCenterChromium::didRemoveMediaStreamTrack):
1014         (WebCore::MediaStreamCenterChromium::addMediaStreamTrack):
1015         (WebCore::MediaStreamCenterChromium::removeMediaStreamTrack):
1016         * platform/mediastream/chromium/MediaStreamCenterChromium.h:
1017         (WebKit):
1018         (MediaStreamCenterChromium):
1019         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
1020         (WebCore::MediaStreamCenterGStreamer::didAddMediaStreamTrack):
1021         (WebCore):
1022         (WebCore::MediaStreamCenterGStreamer::didRemoveMediaStreamTrack):
1023         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
1024         (MediaStreamCenterGStreamer):
1025
1026 2012-07-02  Andrey Kosyakov  <caseq@chromium.org>
1027
1028         Web Inspector: incorrect height of main timeline pane after switching to memory mode
1029         https://bugs.webkit.org/show_bug.cgi?id=90387
1030
1031         Reviewed by Pavel Feldman.
1032
1033         - update cached container height when setting vertical splitter position.
1034
1035         * inspector/front-end/TimelinePanel.js:
1036         (WebInspector.TimelinePanel.prototype.set _setSplitterPosition):
1037
1038 2012-07-02  Christophe Dumez  <christophe.dumez@intel.com>
1039
1040         [MICRODATA] Build failure in html/HTMLPropertiesCollection.h
1041         https://bugs.webkit.org/show_bug.cgi?id=90379
1042
1043         Reviewed by Ryosuke Niwa.
1044
1045         Switch HTMLCollection::append() visibility from private
1046         to protected so that HTMLPropertiesCollection subclass
1047         can call it. This fixes build when MICRODATA flag is
1048         turned on.
1049
1050         No new tests, build fix.
1051
1052         * html/HTMLCollection.h:
1053         (HTMLCollectionCacheBase):
1054
1055 2012-07-02  Kwang Yul Seo  <skyul@company100.net>
1056
1057         A start "body" tag in the "in body" insertion mode is a parse error
1058         https://bugs.webkit.org/show_bug.cgi?id=90373
1059
1060         Reviewed by Eric Seidel.
1061
1062         According to HTML5 specification (http://www.w3.org/TR/html5/tree-construction.html#parsing-main-inbody),
1063         a start "body" tag in the "in body" insertion mode is a parse error. So parseError(token) is required here.
1064         No behavior change because parseError(token) is just a marker.
1065
1066         * html/parser/HTMLTreeBuilder.cpp:
1067         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1068
1069 2012-07-02  Raphael Kubo da Costa  <rakuco@webkit.org>
1070
1071         [EFL] Unreviewed build fix with ENABLE_NETSCAPE_PLUGIN_API after r121467.
1072
1073         * plugins/efl/PluginPackageEfl.cpp:
1074         (WebCore::PluginPackage::load): Move the declaration of `err'
1075         before the first `goto' statement.
1076
1077 2012-07-02  Alexei Filippov  <alexeif@chromium.org>
1078
1079         Web Inspector: replace recursion with a stack in DOM nodes snapshot traversal.
1080         https://bugs.webkit.org/show_bug.cgi?id=89889
1081
1082         Number of DOM nodes native snapshots can handle was limited
1083         by the process stack size because of recursion used to traverse the nodes.
1084         The patch changes the recursion to a stack based algorithm.
1085
1086         Reviewed by Yury Semikhatsky.
1087
1088         * dom/MemoryInstrumentation.h:
1089         (MemoryInstrumentation):
1090         (InstrumentedPointerBase):
1091         (WebCore::MemoryInstrumentation::InstrumentedPointerBase::~InstrumentedPointerBase):
1092         (InstrumentedPointer):
1093         (WebCore::MemoryInstrumentation::InstrumentedPointer::InstrumentedPointer):
1094         (WebCore::MemoryInstrumentation::reportInstrumentedPointer):
1095         (WebCore):
1096         (WebCore::::process):
1097         * inspector/InspectorMemoryAgent.cpp:
1098         (WebCore):
1099
1100 2012-07-02  Taiju Tsuiki  <tzik@chromium.org>
1101
1102         Web Inspector: Add requestFileContent command and fileContentReceived event
1103         https://bugs.webkit.org/show_bug.cgi?id=89642
1104
1105         Reviewed by Vsevolod Vlasov.
1106
1107         Test: http/tests/inspector/filesystem/read-file.html
1108
1109         * inspector/Inspector.json:
1110         * inspector/InspectorFileSystemAgent.cpp:
1111         (WebCore):
1112         (WebCore::InspectorFileSystemAgent::requestFileContent):
1113         * inspector/InspectorFileSystemAgent.h:
1114         (InspectorFileSystemAgent):
1115         * inspector/front-end/FileSystemModel.js:
1116         (WebInspector.FileSystemModel.prototype.requestMetadata):
1117         (WebInspector.FileSystemModel.prototype.requestFileContent):
1118         (WebInspector.FileSystemModel.File.prototype.get resourceType):
1119         (WebInspector.FileSystemModel.File.prototype.requestFileContent):
1120         (WebInspector.FileSystemRequestManager):
1121         (WebInspector.FileSystemRequestManager.prototype._metadataReceived):
1122         (WebInspector.FileSystemRequestManager.prototype.requestFileContent.requestAccepted):
1123         (WebInspector.FileSystemRequestManager.prototype.requestFileContent):
1124         (WebInspector.FileSystemRequestManager.prototype._fileContentReceived):
1125         (WebInspector.FileSystemDispatcher.prototype.metadataReceived):
1126         (WebInspector.FileSystemDispatcher.prototype.fileContentReceived):
1127
1128 2012-07-02  Taiju Tsuiki  <tzik@chromium.org>
1129
1130         Web Inspector: Add refresh button to FileSystemView status bar
1131         https://bugs.webkit.org/show_bug.cgi?id=90244
1132
1133         Reviewed by Vsevolod Vlasov.
1134
1135         * inspector/front-end/FileSystemView.js:
1136         (WebInspector.FileSystemView):
1137         (WebInspector.FileSystemView.prototype.get statusBarItems):
1138         (WebInspector.FileSystemView.prototype.showView):
1139         (WebInspector.FileSystemView.prototype._refresh):
1140         (WebInspector.FileSystemView.EntryTreeElement.prototype._directoryContentReceived):
1141
1142 2012-06-22  Vsevolod Vlasov  <vsevik@chromium.org>
1143
1144         Web Inspector: Implement snippets evaluation.
1145         https://bugs.webkit.org/show_bug.cgi?id=88707
1146
1147         Reviewed by Pavel Feldman.
1148
1149         Implemented snippet evaluation and adjusted breakpoints behavior when editing snippet.
1150         Snippets are evaluated using separate compile and run.
1151         Breakpoints are updated after compilation (once scriptId is available they can be set in debugger).
1152         If separate compile and run is not supported by port or debugger is paused we fall back to evaluation in console.
1153
1154         * inspector/front-end/ConsoleView.js:
1155         (WebInspector.ConsoleView.prototype.runScript.runCallback):
1156         (WebInspector.ConsoleView.prototype.runScript):
1157         (WebInspector.ConsoleView.prototype._printResult):
1158         * inspector/front-end/JavaScriptSource.js:
1159         (WebInspector.JavaScriptSource.prototype.supportsEnabledBreakpointsWhileEditing):
1160         * inspector/front-end/JavaScriptSourceFrame.js:
1161         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
1162         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
1163         (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
1164         (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointsBeforeEditing):
1165         (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
1166         (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
1167         (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
1168         * inspector/front-end/ScriptSnippetModel.js:
1169         (WebInspector.ScriptSnippetModel.prototype.deleteScriptSnippet):
1170         (WebInspector.ScriptSnippetModel.prototype._setScriptSnippetContent):
1171         (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.compileCallback):
1172         (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet):
1173         (WebInspector.ScriptSnippetModel.prototype._rawLocationToUILocation):
1174         (WebInspector.ScriptSnippetModel.prototype._removeBreakpoints):
1175         (WebInspector.ScriptSnippetModel.prototype._restoreBreakpoints):
1176         (WebInspector.ScriptSnippetModel.prototype._evaluationSourceURL):
1177         (WebInspector.SnippetJavaScriptSource.prototype.isDivergedFromVM):
1178         (WebInspector.SnippetJavaScriptSource.prototype.workingCopyCommitted):
1179         (WebInspector.SnippetJavaScriptSource.prototype.workingCopyChanged):
1180         (WebInspector.SnippetJavaScriptSource.prototype.evaluate):
1181         (WebInspector.SnippetJavaScriptSource.prototype.supportsEnabledBreakpointsWhileEditing):
1182         (WebInspector.SnippetJavaScriptSource.prototype.breakpointStorageId):
1183         * inspector/front-end/ScriptsNavigator.js:
1184         (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
1185
1186 2012-06-26  Vsevolod Vlasov  <vsevik@chromium.org>
1187
1188         Web Inspector: StyleSource should set content using CSSStyleModelResourceBinding directly.
1189         https://bugs.webkit.org/show_bug.cgi?id=89891
1190
1191         Reviewed by Pavel Feldman.
1192
1193         StyleSource now calls CSS resource binding directly.
1194         CSS resource binding now adds resource revision only after setStyleSheetText call returns from backend.
1195         Resource.revertAndClearHistory is now clearing history asynchronously
1196         since Resource.setContent adds revision that should be removed as well.
1197
1198         * inspector/front-end/CSSStyleModel.js:
1199         (WebInspector.CSSStyleModel.prototype.getViaInspectorResourceForRule):
1200         (WebInspector.CSSStyleModel.prototype.resourceBinding):
1201         (WebInspector.CSSStyleModelResourceBinding.prototype.setStyleContent.innerCallback):
1202         (WebInspector.CSSStyleModelResourceBinding.prototype.setStyleContent):
1203         (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
1204         * inspector/front-end/Resource.js:
1205         (WebInspector.Resource.prototype.revertAndClearHistory):
1206         (WebInspector.Resource.prototype.revertAndClearHistory.clearHistory):
1207         * inspector/front-end/RevisionHistoryView.js:
1208         (WebInspector.RevisionHistoryView.prototype._createResourceItem):
1209         * inspector/front-end/StylesPanel.js:
1210         (WebInspector.StyleSource.prototype.workingCopyCommitted):
1211         (WebInspector.StyleSource.prototype.workingCopyChanged):
1212
1213 2012-07-02  Taiju Tsuiki  <tzik@chromium.org>
1214
1215         Web Inspector: Add DirectoryContentView for FileSystemView
1216         https://bugs.webkit.org/show_bug.cgi?id=89961
1217
1218         Reviewed by Vsevolod Vlasov.
1219
1220         * WebCore.gypi:
1221         * WebCore.vcproj/WebCore.vcproj:
1222         * inspector/compile-front-end.py:
1223         * inspector/front-end/DirectoryContentView.js: Added.
1224         * inspector/front-end/FileSystemView.js:
1225         (WebInspector.FileSystemView):
1226         (WebInspector.FileSystemView.EntryTreeElement.prototype.onattach):
1227         (WebInspector.FileSystemView.EntryTreeElement.prototype.onselect):
1228         (WebInspector.FileSystemView.EntryTreeElement.prototype._directoryContentReceived):
1229         * inspector/front-end/WebKit.qrc:
1230         * inspector/front-end/inspector.html:
1231
1232 2012-07-02  Christophe Dumez  <christophe.dumez@intel.com>
1233
1234         [EFL] Fix compilation error in GamepadsEfl.cpp in debug mode
1235         https://bugs.webkit.org/show_bug.cgi?id=90369
1236
1237         Unreviewed, EFL build fix.
1238
1239         * platform/efl/GamepadsEfl.cpp:
1240         (WebCore::GamepadsEfl::registerDevice):
1241         (WebCore::GamepadsEfl::unregisterDevice):
1242
1243 2012-07-02  Nikita Vasilyev  <me@elv1s.ru>
1244
1245         Web Inspector: Design WebSockets panel
1246         https://bugs.webkit.org/show_bug.cgi?id=89461
1247
1248         Use DataGrid to display the data.
1249         Put "Data" column first. Make it wider.
1250         Remove "Mask" column since it appears to be always true for outgoing frames,
1251         and false for incoming.
1252
1253         Reviewed by Pavel Feldman.
1254
1255         * English.lproj/localizedStrings.js:
1256         * inspector/front-end/NetworkItemView.js:
1257         (WebInspector.NetworkItemView): Don't show Preview, Response, Cookies
1258         and Timing tabs for succefuly established WebSocket connection.
1259
1260         * inspector/front-end/ResourceWebSocketFrameView.js:
1261         (WebInspector.ResourceWebSocketFrameView):
1262         * inspector/front-end/networkPanel.css:
1263         (.resource-websocket):
1264         (.resource-websocket, .resource-websocket .data-grid):
1265         (.resource-websocket .data-grid .data):
1266         (.resource-websocket td):
1267         (.resource-websocket .data-column div):
1268         (.resource-websocket-row-outcoming):
1269         (.resource-websocket-row-outcoming:not(.selected) td):
1270         (.resource-websocket-row-outcoming:not(.selected) td, .resource-websocket-row-outcoming:not(.selected) + tr td):
1271         (.resource-websocket-row-opcode):
1272         (.resource-websocket-row-opcode td):
1273         (.resource-websocket-row-opcode td, .resource-websocket-row-opcode + tr td):
1274         (.resource-websocket-row-error):
1275
1276 2012-07-02  Vineet Chaudhary  <rgf748@motorola.com>
1277
1278         [V8Binding] Merging v8NumberArray()/v8NumberArrayToVector() to v8Array()/toNativeArray() respectively.
1279         https://bugs.webkit.org/show_bug.cgi?id=90338
1280
1281         Reviewed by Kentaro Hara.
1282
1283         We can remove v8NumberArray() and v8NumberArrayToVector() implementaion
1284         merging them to current v8Array() and toNativeArray() traits.
1285
1286         Tests: TestObj.idl
1287         Shouldn't cause any behavioural changes.
1288
1289         * bindings/scripts/CodeGeneratorV8.pm: Removed float[]/double[] specific binding code.
1290         (IsRefPtrType):
1291         (GetNativeType):
1292         (JSValueToNative):
1293         (NativeToJSValue):
1294         * bindings/scripts/test/V8/V8TestObj.cpp: Rebased binding test.
1295         (WebCore::TestObjV8Internal::floatArrayAttrGetter):
1296         (WebCore::TestObjV8Internal::floatArrayAttrSetter):
1297         (WebCore::TestObjV8Internal::doubleArrayAttrGetter):
1298         (WebCore::TestObjV8Internal::doubleArrayAttrSetter):
1299         * bindings/v8/V8Binding.h: Added templates for float and double.
1300         (WebCore::v8Array):
1301         (WebCore::toNativeArray):
1302
1303 2012-07-02  Konrad Piascik  <kpiascik@rim.com>
1304
1305         [EFL] [GTK] [QT] fast/viewport/viewport-91.html is failing after r121555
1306         https://bugs.webkit.org/show_bug.cgi?id=90286
1307
1308         Reviewed by Daniel Bates.
1309
1310         Since the deprecatedTargetDPI was an int and the deviceDPI was also an int the result
1311         was truncated.  Changed deprecatedTargetDPI to a float value. Viewport test 91 now passes.
1312
1313         * dom/ViewportArguments.h:
1314         (ViewportArguments):
1315
1316 2012-06-28  Yury Semikhatsky  <yurys@chromium.org>
1317
1318         Web Inspector: add v8 bindings memory info to the native memory graph
1319         https://bugs.webkit.org/show_bug.cgi?id=90149
1320
1321         Reviewed by Pavel Feldman.
1322
1323         Size of V8 binding maps is now reported on the memory chart.
1324
1325         * bindings/js/ScriptProfiler.h:
1326         (WebCore::ScriptProfiler::collectBindingMemoryInfo):
1327         * bindings/v8/DOMDataStore.cpp:
1328         (WebCore::DOMDataStore::reportMemoryUsage):
1329         (WebCore):
1330         * bindings/v8/DOMDataStore.h:
1331         (WebCore):
1332         (DOMDataStore):
1333         * bindings/v8/IntrusiveDOMWrapperMap.h:
1334         (WebCore::ChunkedTable::reportMemoryUsage):
1335         (ChunkedTable):
1336         * bindings/v8/ScriptProfiler.cpp:
1337         (WebCore::ScriptProfiler::collectBindingMemoryInfo):
1338         (WebCore):
1339         * bindings/v8/ScriptProfiler.h:
1340         (WebCore):
1341         (ScriptProfiler):
1342         * bindings/v8/V8Binding.cpp:
1343         (WebCore::V8BindingPerIsolateData::reportMemoryUsage):
1344         (WebCore):
1345         (WebCore::StringCache::reportMemoryUsage):
1346         * bindings/v8/V8Binding.h:
1347         (WebCore):
1348         (StringCache):
1349         (V8BindingPerIsolateData):
1350         * bindings/v8/V8DOMMap.h:
1351         (WebCore):
1352         (AbstractWeakReferenceMap):
1353         * dom/MemoryInstrumentation.h:
1354         (MemoryInstrumentation):
1355         (WebCore):
1356         (WebCore::MemoryInstrumentation::reportHashMap): added a method for reporting
1357         size of a HashMap.
1358         * inspector/InspectorMemoryAgent.cpp:
1359         (MemoryBlockName):
1360         (WebCore):
1361         (WebCore::domTreeInfo):
1362
1363 2012-07-01  Christophe Dumez  <christophe.dumez@intel.com>
1364
1365         [EFL] Add Gamepad support
1366         https://bugs.webkit.org/show_bug.cgi?id=90170
1367
1368         Reviewed by Kenneth Rohde Christiansen.
1369
1370         Add support for the Gamepad feature on the EFL port.
1371
1372         The implementation of this class relies on the Linux
1373         kernel joystick API.
1374
1375         Gamepad devices are recognized through the GamepadsEfl
1376         class, of which implementation is based on Eeze
1377         library. This way devices are properly registered on
1378         connection as objects of the GamepadDeviceEfl class
1379         which inherits GamepadDeviceLinux. GamepadDeviceEfl
1380         reads the joystick data through an Ecore_Fd_Handler
1381         and updates the device state accordingly. The
1382         GamepadsEfl object is then polled for gamepads data
1383         through the sampleGamepads method.
1384
1385         No new tests - already tested by gamepad/*
1386
1387         * CMakeLists.txt:
1388         * PlatformEfl.cmake:
1389         * platform/efl/GamepadsEfl.cpp: Added.
1390         (WebCore):
1391         (GamepadDeviceEfl):
1392         (WebCore::GamepadDeviceEfl::create):
1393         (WebCore::GamepadDeviceEfl::GamepadDeviceEfl):
1394         (WebCore::GamepadDeviceEfl::~GamepadDeviceEfl):
1395         (WebCore::GamepadDeviceEfl::readCallback):
1396         (GamepadsEfl):
1397         (WebCore::GamepadsEfl::onGamePadChange):
1398         (WebCore::GamepadsEfl::GamepadsEfl):
1399         (WebCore::GamepadsEfl::~GamepadsEfl):
1400         (WebCore::GamepadsEfl::registerDevice):
1401         (WebCore::GamepadsEfl::unregisterDevice):
1402         (WebCore::GamepadsEfl::updateGamepadList):
1403         (WebCore::sampleGamepads):
1404
1405 2012-07-01  James Robinson  <jamesr@chromium.org>
1406
1407         Unreviewed, rolling out r121635.
1408         http://trac.webkit.org/changeset/121635
1409         https://bugs.webkit.org/show_bug.cgi?id=90286
1410
1411         Breaks compile on clang error: in-class initializer for static
1412         data member of type 'const float' is a GNU extension
1413         [-Werror,-Wgnu]
1414
1415         * dom/ViewportArguments.h:
1416         (ViewportArguments):
1417
1418 2012-07-01  Timothy Hatcher  <timothy@apple.com>
1419
1420         Make the "Inspect Element" context menu item appear in nightly builds again.
1421
1422         rdar://problem/11702613
1423         https://webkit.org/b/89323
1424
1425         Reviewed by Dan Bernstein.
1426
1427         * platform/ContextMenuItem.h:
1428         Fix the order of the ContextMenuAction enum to be binary compatible with
1429         older versions of WebKit.
1430
1431 2012-07-01  Dan Bernstein  <mitz@apple.com>
1432
1433         <rdar://problem/11785743> [mac] Non-BMP characters in vertical text appear as missing glyphs
1434         https://bugs.webkit.org/show_bug.cgi?id=90349
1435
1436         Reviewed by Dean Jackson.
1437
1438         Test: platform/mac/fast/text/vertical-surrogate-pair.html
1439
1440         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
1441         (WebCore::GlyphPage::fill): When calling wkGetVerticalGlyphsForCharacters or
1442         CTFontGetGlyphsForCharacters with a buffer consisting of surrogate pair, account for those
1443         functions’ behavior of placing glyphs at indices corresponding to the first character of
1444         each pair.
1445
1446 2012-07-01  Kenichi Ishibashi  <bashi@chromium.org>
1447
1448         Arabic shaping is incorrect if ZWNJ exist
1449         https://bugs.webkit.org/show_bug.cgi?id=89843
1450
1451         Reviewed by Dan Bernstein.
1452
1453         mac port treats ZWJ (zero-width-joiner) and ZWNJ (zero-width-non-joiner) as a part of combining
1454         character sequence. This could cause a problem when the font doesn't have glyph mapping of ZWJ and ZWNJ.
1455         Suppose the text to be rendered is "U+0645(MEEM) U+06CC(FARSI YEH) U+200C(ZWNJ)". In this case, U+0645
1456         and U+06CC are rendered in isolated form if the font doesn't have a glyph for ZWNJ. They should be joined.
1457
1458         This patch changes handling of ZWJ and ZWNJ. Treats ZWJ and ZWNJ as base characters so that a complex text
1459         run isn't separate at the point of ZWJ and ZWNJ even the font doesn't contain glyphs for them.
1460         If ComplexTextController finds ZWJ, it doesn't split the current complex text run.
1461
1462         Test: platform/mac/fast/text/arabic-zwj-and-zwnj.html
1463
1464         * platform/graphics/mac/ComplexTextController.cpp:
1465         (WebCore::advanceByCombiningCharacterSequence): Don't treat ZWJ and ZWNJ as a part of combining character sequence.
1466         (WebCore::ComplexTextController::collectComplexTextRuns): Set fontData to nextFontData if the baseCharacter is ZWJ.
1467
1468 2012-07-01  Konrad Piascik  <kpiascik@rim.com>
1469
1470         [EFL] [GTK] [QT] fast/viewport/viewport-91.html is failing after r121555
1471         https://bugs.webkit.org/show_bug.cgi?id=90286
1472
1473         Reviewed by Daniel Bates.
1474
1475         Since the deprecatedTargetDPI was an int and the deviceDPI was also an int the result
1476         was truncated.  Changed deprecatedTargetDPI to a float value. Viewport test 91 now passes.
1477
1478         * dom/ViewportArguments.h:
1479         (ViewportArguments):
1480
1481 2012-06-30  Ian Vollick  <vollick@chromium.org>
1482
1483         [chromium] CanvasLayerTextureUpdater needs to convert opaque rects back to content space.
1484         https://bugs.webkit.org/show_bug.cgi?id=90092
1485
1486         The CanvasLayerTextureUpdater currently receives its opaque rects in
1487         layer space, but is expected to return them in content space and does
1488         not convert them. This patch adds this conversion. To avoid numerical
1489         errors, this patch also switches to using float rects to store opaque
1490         rects where appropriate.
1491
1492         Reviewed by Adrienne Walker.
1493
1494         Unit test: ContentLayerTest.ContentLayerPainterWithDeviceScale
1495
1496         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
1497         (WebCore::CanvasLayerTextureUpdater::paintContents):
1498         * platform/graphics/chromium/ContentLayerChromium.cpp:
1499         (WebCore::ContentLayerPainter::ContentLayerPainter):
1500         (WebCore::ContentLayerPainter::create):
1501         (WebCore::ContentLayerPainter::paint):
1502         * platform/graphics/chromium/ContentLayerChromium.h:
1503         (WebCore):
1504         (ContentLayerDelegate):
1505         (ContentLayerPainter):
1506         * platform/graphics/chromium/LayerPainterChromium.h:
1507         (WebCore):
1508         (LayerPainterChromium):
1509         * platform/graphics/chromium/LinkHighlight.cpp:
1510         (WebCore::LinkHighlight::paintContents):
1511         * platform/graphics/chromium/LinkHighlight.h:
1512         (LinkHighlight):
1513         * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
1514         (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
1515         * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.h:
1516         (OpaqueRectTrackingContentLayerDelegate):
1517         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
1518
1519 2012-06-30  Kwang Yul Seo  <skyul@company100.net>
1520
1521         Unreviewed. Remove unused declaration.
1522         HTMLDocumentParser::begin() has no method definition.
1523
1524         * html/parser/HTMLDocumentParser.h:
1525
1526 2012-06-29  No'am Rosenthal  <noam.rosenthal@nokia.com>
1527
1528         Unreviewed, rolling out r121569.
1529         http://trac.webkit.org/changeset/121569
1530         https://bugs.webkit.org/show_bug.cgi?id=90082
1531
1532         It broke a couple of tests in Qt Linux Release
1533
1534         * platform/graphics/qt/GraphicsContextQt.cpp:
1535         (WebCore::GraphicsContext::fillRect):
1536
1537 2012-06-29  Simon Fraser  <simon.fraser@apple.com>
1538
1539         updateDescendantDependentFlags() is inside #if USE(ACCELERATED_COMPOSITING)
1540         https://bugs.webkit.org/show_bug.cgi?id=90245
1541
1542         Reviewed by Dan Bernstein.
1543
1544         updateDescendantDependentFlags() and updateTransform() should be
1545         outside the USE(ACCELERATED_COMPOSITING) #ifdef. They do work
1546         that is needed even if accelerated compositing is disabled.
1547
1548         * rendering/RenderLayer.cpp:
1549         (WebCore::RenderLayer::styleChanged):
1550
1551 2012-06-29  Erik Arvidsson  <arv@chromium.org>
1552
1553         [V8] HTMLCollection wrappers are not retained
1554         https://bugs.webkit.org/show_bug.cgi?id=90208
1555
1556         Reviewed by Adam Barth.
1557
1558         Generate visitDOMWrapper for HTMLCollection and HTMLAllCollection so that we add an implicit reference from the owner
1559         to the collection.
1560
1561         Tests: fast/dom/htmlallcollection-reachable.html
1562                fast/dom/htmlcollection-reachable.html
1563
1564         * bindings/scripts/CodeGeneratorJS.pm:
1565         (GenerateImplementation): Instead of hard coding to use base() for HTMLAllCollection and HTMLCollection we now
1566         annotate the IDL file to use GenerateIsReachable=ImplBaseRoot.
1567         * bindings/scripts/CodeGeneratorV8.pm:
1568         (GenerateVisitDOMWrapper): Generate visitDOMWrapper if GenerateIsReachable is ImplBaseRoot.
1569         * bindings/scripts/IDLAttributes.txt: Added ImplBaseRoot.
1570         * html/HTMLAllCollection.idl: Added annotations.
1571         * html/HTMLCollection.idl: Ditto.
1572
1573 2012-06-29  Tony Chang  <tony@chromium.org>
1574
1575         All child elements of a flex container should be turned into a flex item
1576         https://bugs.webkit.org/show_bug.cgi?id=90323
1577
1578         Reviewed by Ojan Vafai.
1579
1580         We used to only convert some elements to blocks, but now we convert everything except text nodes.
1581         This was recently changed here:
1582         http://wiki.csswg.org/topics/css3-flexbox-flexbox-replaced-children
1583
1584         Tests: css3/flexbox/anonymous-block.html : Add new test case.
1585                css3/flexbox/flexitem.html: Update results.
1586
1587         * css/StyleResolver.cpp:
1588         (WebCore::StyleResolver::collectMatchingRulesForList):
1589
1590 2012-06-29  Joshua Bell  <jsbell@chromium.org>
1591
1592         IndexedDB: Keep direction on IDBCursor to avoid calls to back end
1593         https://bugs.webkit.org/show_bug.cgi?id=90114
1594
1595         Reviewed by Tony Chang.
1596
1597         Let IDBCursor handle direction() accessor locally, without a call to
1598         the IDBCursorBackendImpl which (in some ports) may reside in a different
1599         process. Not a heavily called function, but further reduces the surface
1600         area exposed by the XXXInterface classes.
1601
1602         No new tests - no functional changes.
1603
1604         * Modules/indexeddb/IDBCursor.cpp:
1605         (WebCore::IDBCursor::create): Accept direction, known at creation time.
1606         (WebCore::IDBCursor::IDBCursor): Stash in member.
1607         (WebCore::IDBCursor::direction): Use local copy
1608         (WebCore::IDBCursor::stringToDirection): Return enum value, not int.
1609         * Modules/indexeddb/IDBCursor.h:
1610         (IDBCursor):
1611         * Modules/indexeddb/IDBCursorBackendImpl.cpp: Remove accessor.
1612         * Modules/indexeddb/IDBCursorBackendImpl.h:
1613         (IDBCursorBackendImpl):
1614         * Modules/indexeddb/IDBCursorBackendInterface.h: Remove accessor.
1615         * Modules/indexeddb/IDBCursorWithValue.cpp:
1616         (WebCore::IDBCursorWithValue::create):
1617         (WebCore::IDBCursorWithValue::IDBCursorWithValue):
1618         * Modules/indexeddb/IDBCursorWithValue.h:
1619         (IDBCursorWithValue):
1620         * Modules/indexeddb/IDBIndex.cpp: Prep IDBRequest with cursor direction too.
1621         (WebCore::IDBIndex::openCursor):
1622         (WebCore::IDBIndex::openKeyCursor):
1623         * Modules/indexeddb/IDBObjectStore.cpp: Ditto.
1624         (WebCore::IDBObjectStore::openCursor):
1625         * Modules/indexeddb/IDBRequest.cpp: Stash direction for pending cursor too.
1626         (WebCore::IDBRequest::IDBRequest):
1627         (WebCore::IDBRequest::setCursorDetails):
1628         (WebCore::IDBRequest::onSuccess): Apply stashed direction to new cursor.
1629         * Modules/indexeddb/IDBRequest.h:
1630         (IDBRequest):
1631
1632 2012-06-29  Tony Chang  <tony@chromium.org>
1633
1634         Allow align-self: stretch to cause the item size to shrink below its intrinsic size
1635         https://bugs.webkit.org/show_bug.cgi?id=90304
1636
1637         Reviewed by Ojan Vafai.
1638
1639         The spec used to say that stretch could only make items grow, but now
1640         it allows items to shrink.
1641         http://dev.w3.org/csswg/css3-flexbox/#align-items-stretch
1642
1643         Tests: css3/flexbox/flex-align-stretch.html Updated expectations.
1644                css3/flexbox/child-overflow.html Updated expectations.
1645
1646         * rendering/RenderFlexibleBox.cpp:
1647         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
1648
1649 2012-06-29  James Weatherall  <wez@chromium.org>
1650
1651         NPObjectWrapper may not address all window script object lifetime issues
1652         https://bugs.webkit.org/show_bug.cgi?id=85679
1653
1654         The ScriptController implementations force-deallocate the window script object to ensure that DOM objects are not leaked if an NPAPI plugin fails to release a reference to it before being destroyed. The NPObjectWrapper was added to ensure that NPAPI scripting could not touch the real window script object after it had been deallocated, by providing the plugin with a small wrapper which will leak if the plugin fails to dereference it.
1655
1656         This patch removes NPObjectWrapper and instead drops the window script NPObject's reference to the underlying V8Object in ScriptController::clearScriptObjects(). If a plugin fails to dereference the object then the NPV8Object wrapper will be leaked but the DOM objects it references will not.
1657
1658         Reviewed by Nate Chapin.
1659
1660         Test: plugins/npruntime/leak-window-scriptable-object.html
1661
1662         * WebCore.gypi:
1663         * bindings/v8/NPObjectWrapper.cpp: Removed.
1664         * bindings/v8/NPObjectWrapper.h: Removed.
1665         * bindings/v8/NPV8Object.cpp:
1666         (WebCore::disposeUnderlyingV8Object):
1667         (WebCore):
1668         (WebCore::freeV8NPObject):
1669         (_NPN_Invoke):
1670         (_NPN_InvokeDefault):
1671         (_NPN_EvaluateHelper):
1672         (_NPN_GetProperty):
1673         (_NPN_SetProperty):
1674         (_NPN_RemoveProperty):
1675         (_NPN_HasProperty):
1676         (_NPN_HasMethod):
1677         (_NPN_Enumerate):
1678         (_NPN_Construct):
1679         * bindings/v8/NPV8Object.h:
1680         (WebCore):
1681         * bindings/v8/ScriptController.cpp:
1682         (WebCore::ScriptController::ScriptController):
1683         (WebCore::ScriptController::clearScriptObjects):
1684         (WebCore::ScriptController::windowScriptNPObject):
1685         * bindings/v8/ScriptController.h:
1686         (ScriptController):
1687
1688 2012-06-29  Adam Barth  <abarth@webkit.org>
1689
1690         Update complex fonts on Android to use fonts from a newer SDK
1691         https://bugs.webkit.org/show_bug.cgi?id=90296
1692
1693         Reviewed by Nate Chapin.
1694
1695         These fonts are available in the Jelly Bean SDK.
1696
1697         * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:
1698         (WebCore::ComplexTextController::ComplexTextController):
1699         (WebCore::ComplexTextController::getComplexFontPlatformData):
1700
1701 2012-06-29  Ryosuke Niwa  <rniwa@webkit.org>
1702
1703         HTMLCollection's caches should be owned by either ElementRareData or Document
1704         https://bugs.webkit.org/show_bug.cgi?id=90322
1705
1706         Reviewed by Anders Carlsson.
1707
1708         Removed all instances of OwnPtr<HTMLCollection> except ones on ElementRareData and Document.
1709         ElementRareData::ensureCachedHTMLCollection then polymorphically creates HTMLCollection or
1710         its subclass as deemed necessary.
1711
1712         This refactoring allows us to move HTMLCollection to use the same invalidation model as
1713         DynamicNodeList (invalidated during DOM mutations) in a follow up.
1714
1715         * dom/Document.cpp:
1716         (WebCore::Document::all):
1717         * dom/Document.h:
1718         (Document):
1719         * dom/Element.cpp:
1720         (WebCore::ElementRareData::ensureCachedHTMLCollection):
1721         (WebCore):
1722         (WebCore::Element::cachedHTMLCollection):
1723         * dom/Element.h:
1724         (Element):
1725         * dom/ElementRareData.h:
1726         (WebCore):
1727         (ElementRareData):
1728         (WebCore::ElementRareData::cachedHTMLCollection):
1729         * dom/Node.cpp:
1730         (WebCore):
1731         * dom/Node.h:
1732         (Node):
1733         * dom/NodeRareData.h:
1734         (WebCore::NodeRareData::setItemType):
1735         (NodeRareData):
1736         * html/CollectionType.h:
1737         * html/HTMLCollection.cpp:
1738         (WebCore::shouldIncludeChildren):
1739         (WebCore::HTMLCollection::isAcceptableElement):
1740         * html/HTMLElement.cpp:
1741         (WebCore):
1742         (WebCore::HTMLElement::properties):
1743         * html/HTMLElement.h:
1744         (HTMLElement):
1745         * html/HTMLFieldSetElement.cpp:
1746         (WebCore::HTMLFieldSetElement::elements):
1747         * html/HTMLFieldSetElement.h:
1748         (HTMLFieldSetElement):
1749         * html/HTMLFormCollection.cpp:
1750         (WebCore::HTMLFormCollection::HTMLFormCollection):
1751         (WebCore::HTMLFormCollection::create):
1752         * html/HTMLFormCollection.h:
1753         (HTMLFormCollection):
1754         * html/HTMLFormElement.cpp:
1755         (WebCore::HTMLFormElement::elements):
1756         * html/HTMLFormElement.h:
1757         * html/HTMLOptionsCollection.cpp:
1758         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
1759         (WebCore::HTMLOptionsCollection::create):
1760         * html/HTMLOptionsCollection.h:
1761         (HTMLOptionsCollection):
1762         * html/HTMLSelectElement.cpp:
1763         (WebCore::HTMLSelectElement::selectedOptions):
1764         (WebCore::HTMLSelectElement::options):
1765         (WebCore::HTMLSelectElement::invalidateSelectedItems):
1766         (WebCore::HTMLSelectElement::setRecalcListItems):
1767         * html/HTMLSelectElement.h:
1768         * html/HTMLTableElement.cpp:
1769         (WebCore::HTMLTableElement::rows):
1770         * html/HTMLTableElement.h:
1771         * html/HTMLTableRowsCollection.cpp:
1772         (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
1773         (WebCore::HTMLTableRowsCollection::create):
1774         * html/HTMLTableRowsCollection.h:
1775         (HTMLTableRowsCollection):
1776
1777 2012-06-29  Ojan Vafai  <ojan@chromium.org>
1778
1779         Add FIXMEs for vertical writing mode and override sizes.
1780         * rendering/RenderBox.cpp:
1781         (WebCore::RenderBox::overrideLogicalContentWidth):
1782         (WebCore::RenderBox::overrideLogicalContentHeight):
1783
1784 2012-06-29  James Robinson  <jamesr@chromium.org>
1785
1786         [chromium] Use CCThread::Task in compositor's RateLimiter instead of Timer
1787         https://bugs.webkit.org/show_bug.cgi?id=90300
1788
1789         Reviewed by Adrienne Walker.
1790
1791         * platform/graphics/chromium/RateLimiter.cpp:
1792         (RateLimiter::Task):
1793         (WebCore::RateLimiter::Task::create):
1794         (WebCore::RateLimiter::Task::~Task):
1795         (WebCore::RateLimiter::Task::Task):
1796         (WebCore):
1797         (WebCore::RateLimiter::RateLimiter):
1798         (WebCore::RateLimiter::start):
1799         (WebCore::RateLimiter::stop):
1800         (WebCore::RateLimiter::rateLimitContext):
1801         * platform/graphics/chromium/RateLimiter.h:
1802         (WebCore):
1803         (RateLimiter):
1804         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1805         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
1806
1807 2012-06-29  Tony Payne  <tpayne@chromium.org>
1808
1809         Remove type from screenColorProfile API
1810         https://bugs.webkit.org/show_bug.cgi?id=90299
1811
1812         Reviewed by Adam Barth.
1813
1814         Covered by existing tests.
1815
1816         * platform/PlatformScreen.h:
1817         (WebCore): Removed type from screenColorProfile().
1818         * platform/blackberry/PlatformScreenBlackBerry.cpp:
1819         (WebCore::screenColorProfile):
1820         * platform/chromium/PlatformScreenChromium.cpp:
1821         (WebCore::screenColorProfile):
1822         * platform/efl/PlatformScreenEfl.cpp:
1823         (WebCore::screenColorProfile):
1824         * platform/gtk/PlatformScreenGtk.cpp:
1825         (WebCore::screenColorProfile):
1826         * platform/image-decoders/ImageDecoder.h:
1827         (WebCore::ImageDecoder::qcmsOutputDeviceProfile): Updated call to
1828         screenColorProfile() to not pass type param.
1829         * platform/mac/PlatformScreenMac.mm:
1830         (WebCore::screenColorProfile):
1831         * platform/qt/PlatformScreenQt.cpp:
1832         (WebCore::screenColorProfile):
1833         * platform/win/PlatformScreenWin.cpp:
1834         (WebCore::screenColorProfile):
1835
1836 2012-06-29  Emil A Eklund  <eae@chromium.org>
1837
1838         Allow non-borders to be adjusted to less than 1 when zoomed out
1839         https://bugs.webkit.org/show_bug.cgi?id=90104
1840
1841         Reviewed by Eric Seidel.
1842
1843         Change CSSPrimitiveValue::computeLengthDouble to allow values to be
1844         adjusted to less than 1.0 when zoomed out. This avoids an off by one
1845         error for floats with margins when zoomed out that can cause floats to
1846         wrap and break pages.
1847
1848         The logic that prevents the value from being adjusted to less than 1 was
1849         added to ensure that borders are still painted even when zoomed out.
1850         By moving the logic to ApplyPropertyComputeLength::applyValue, which is
1851         used for borders and outlines, that functionality is preserved.
1852
1853         Test: fast/sub-pixel/float-with-margin-in-container.html
1854
1855         * css/CSSPrimitiveValue.cpp:
1856         (WebCore::CSSPrimitiveValue::computeLengthDouble):
1857         * css/StyleBuilder.cpp:
1858         (WebCore::ApplyPropertyComputeLength::applyValue):
1859
1860 2012-06-29  Ryosuke Niwa  <rniwa@webkit.org>
1861
1862         Let Xcode have its own way after r121513.
1863
1864         * WebCore.xcodeproj/project.pbxproj:
1865
1866 2012-06-29  Mihai Balan  <mibalan@adobe.com>
1867
1868         [CSS Regions] Adding feature defines for CSS Regions for Windows
1869         https://bugs.webkit.org/show_bug.cgi?id=88645
1870
1871         Reviewed by Tony Chang.
1872
1873         Re-trying to enable CSS regions on Windows. This time only enabling
1874         regions (not exclusions) because of some strange compilation/linking
1875         issues.
1876
1877         * css/CSSPropertyNames.in: Touched file to make sure property names get properly rebuilt.
1878
1879 2012-06-29  Hanna Ma  <Hanma@rim.com>
1880
1881         Web Inspector: Add data length to resource events on timeline to
1882         keep track of the amount of data loaded and the total data length
1883         https://bugs.webkit.org/show_bug.cgi?id=89244
1884
1885         Reviewed by Pavel Feldman.
1886
1887         Added data length to inspector timeline popup
1888         content for resources to keep track of the amount of data loaded.
1889         Tests: inspector/timeline/timeline-network-received-data.html
1890
1891         * English.lproj/localizedStrings.js:
1892         * inspector/InspectorInstrumentation.cpp:
1893         (WebCore::InspectorInstrumentation::willReceiveResourceDataImpl):
1894         * inspector/InspectorInstrumentation.h:
1895         (InspectorInstrumentation):
1896         (WebCore::InspectorInstrumentation::willReceiveResourceData):
1897         * inspector/InspectorTimelineAgent.cpp:
1898         (WebCore::InspectorTimelineAgent::willReceiveResourceData):
1899         * inspector/InspectorTimelineAgent.h:
1900         (InspectorTimelineAgent):
1901         * inspector/TimelineRecordFactory.cpp:
1902         (WebCore::TimelineRecordFactory::createReceiveResourceData):
1903         * inspector/TimelineRecordFactory.h:
1904         (TimelineRecordFactory):
1905         * inspector/front-end/TimelinePanel.js:
1906         (WebInspector.TimelinePanel.prototype._showPopover):
1907         * inspector/front-end/TimelinePresentationModel.js:
1908         (WebInspector.TimelinePresentationModel.prototype.reset):
1909         (WebInspector.TimelinePresentationModel.Record):
1910         (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
1911         * loader/ResourceLoader.cpp:
1912         (WebCore::ResourceLoader::didReceiveData):
1913         * inspector/timeline/timeline-network-received-data.html: Added.
1914         * inspector/timeline/timeline-network-received-data-expected.txt: Added.
1915         * inspector/timeline/timeline-test.js:
1916
1917 2012-06-29  Shawn Singh  <shawnsingh@chromium.org>
1918
1919         Unreviewed build fix after 121580.
1920
1921         WebKit Linux debug bots was complaining about signed vs unsigned integer comparison.
1922
1923         * html/HTMLCollection.h:
1924         (WebCore::HTMLCollectionCacheBase::HTMLCollectionCacheBase):
1925
1926 2012-06-28  James Robinson  <jamesr@chromium.org>
1927
1928         [chromium] Remove mapRect and mapQuad from WebTransformationMatrix
1929         https://bugs.webkit.org/show_bug.cgi?id=90230
1930
1931         Reviewed by Adrienne Walker.
1932
1933         Replaces calls to WebTransformationMatrix::mapRect/mapQuad with clipping-aware calls to CCMathUtils. In most
1934         cases, we do not expect clipping to happen. For others (such as area calculations in CCOverdrawMetrics) we can
1935         handle a clipped quad easily.
1936
1937         * platform/chromium/support/WebTransformationMatrix.cpp:
1938         * platform/graphics/chromium/LayerRendererChromium.cpp:
1939         (WebCore::LayerRendererChromium::drawRenderPassQuad):
1940         (WebCore::LayerRendererChromium::drawTileQuad):
1941         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1942         (WebCore::RenderSurfaceChromium::drawableContentRect):
1943         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1944         (WebCore::CCLayerImpl::getDrawRect):
1945         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1946         (WebCore::transformSurfaceOpaqueRegion):
1947         (WebCore::addOcclusionBehindLayer):
1948         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
1949         (WebCore):
1950         (WebCore::polygonArea):
1951         (WebCore::areaOfMappedQuad):
1952         (WebCore::CCOverdrawMetrics::didUpload):
1953         (WebCore::CCOverdrawMetrics::didCullForDrawing):
1954         (WebCore::CCOverdrawMetrics::didDraw):
1955         * platform/graphics/chromium/cc/CCRenderPass.cpp:
1956         (WebCore::CCRenderPass::appendQuadsToFillScreen):
1957         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1958         (WebCore::CCRenderSurface::drawableContentRect):
1959         * platform/graphics/chromium/cc/CCSharedQuadState.cpp:
1960         (WebCore::CCSharedQuadState::isLayerAxisAlignedIntRect):
1961
1962 2012-06-29  Ryosuke Niwa  <rniwa@webkit.org>
1963
1964         Mac build fix after r121575. It rolls out r121547 but didn't roll out the follow up build fix r121553.
1965
1966         * platform/graphics/mac/FontCustomPlatformData.h:
1967         (FontCustomPlatformData):
1968
1969 2012-06-29  Ryosuke Niwa  <rniwa@webkit.org>
1970
1971         Share the same cache in HTMLCollection and DynamicNodeLists
1972         https://bugs.webkit.org/show_bug.cgi?id=90118
1973
1974         Reviewed by Anders Carlsson.
1975
1976         This patch introduces two new base classes DynamicNodeListCacheBase and HTMLCollectionCacheBase to share
1977         the cache object between DynamicNodeList and HTMLCollection. HTMLCollectionCacheBase inherits from
1978         DynamicNodeListCacheBase and contains extra caches and bit flags for HTMLCollection. DynamicNodeList::Cache
1979         and HTMLCollection::Cache had been removed and flattened into these two classes for the easy inheritance.
1980
1981         In DynamicNodeList, we have a very straight forward one-to-one mapping from old Caches member variables:
1982
1983         m_caches.lastItem -> cachedItem()
1984         m_caches.lastItemOffset -> cachedItemOffset()
1985         m_caches.cachedLength -> cachedLength()
1986         m_caches.isItemCacheValid -> isItemCacheValid()
1987         m_caches.isLengthCacheValid -> isLengthCacheValid()
1988         m_caches.type -> removed because it was never used.
1989         m_caches.rootedAtDocument -> isRootedAtDocument()
1990         m_caches.shouldInvalidateOnAttributeChange -> shouldInvalidateOnAttributeChange()
1991
1992         In HTMLCollection, there is one semantic change in the way item cache is managed. Previously, we only had
1993         m_cache.current which was used as both cachedItem() and isItemCacheValid() (not valid when current is null).
1994         There are some asymmetric code changes due to one-to-many relationship. Also, all method names have been updated
1995         to use that of DynamicNodeList terminology. Thus we have the following correspondence:
1996
1997         m_cache.current -> cachedItem() / isItemCacheValid()
1998         m_cache.position -> cachedItemOffset()
1999         m_cache.length -> cachedLength()
2000         m_cache.elementsArrayPosition -> cachedElementsArrayOffset()
2001         m_cache.hasLength -> isLengthCacheValid()
2002         m_cache.hasNameCache -> hasNameCache() / setHasNameCache()
2003         m_cache.idCache -> idCache() / addIdCache()
2004         m_cache.nameCache -> idCache() / addNameCache()
2005
2006         In addition, we had to rename HTMLCollection::clearCache to invalidateCache to avoid the name collision with
2007         HTMLCollectionCacheBase::clearCache.
2008
2009         * dom/ChildNodeList.cpp:
2010         (WebCore::ChildNodeList::length):
2011         (WebCore::ChildNodeList::item):
2012         * dom/DynamicNodeList.cpp:
2013         (WebCore::DynamicSubtreeNodeList::length):
2014         (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
2015         (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
2016         (WebCore::DynamicSubtreeNodeList::item):
2017         * dom/DynamicNodeList.h:
2018         (DynamicNodeListCacheBase):
2019         (WebCore::DynamicNodeListCacheBase::DynamicNodeListCacheBase):
2020         (WebCore::DynamicNodeListCacheBase::isRootedAtDocument):
2021         (WebCore::DynamicNodeListCacheBase::shouldInvalidateOnAttributeChange):
2022         (WebCore::DynamicNodeListCacheBase::isItemCacheValid):
2023         (WebCore::DynamicNodeListCacheBase::cachedItem):
2024         (WebCore::DynamicNodeListCacheBase::cachedItemOffset):
2025         (WebCore::DynamicNodeListCacheBase::isLengthCacheValid):
2026         (WebCore::DynamicNodeListCacheBase::cachedLength):
2027         (WebCore::DynamicNodeListCacheBase::setLengthCache):
2028         (WebCore::DynamicNodeListCacheBase::setItemCache):
2029         (WebCore::DynamicNodeListCacheBase::clearCache):
2030         (WebCore):
2031         (WebCore::DynamicNodeList::DynamicNodeList):
2032         (WebCore::DynamicNodeList::invalidateCache):
2033         (WebCore::DynamicNodeList::rootNode):
2034         (DynamicNodeList):
2035         * html/HTMLAllCollection.cpp:
2036         (WebCore::HTMLAllCollection::namedItemWithIndex):
2037         * html/HTMLCollection.cpp:
2038         (WebCore::HTMLCollection::HTMLCollection):
2039         (WebCore::HTMLCollection::invalidateCacheIfNeeded):
2040         (WebCore::HTMLCollection::invalidateCache):
2041         (WebCore::HTMLCollection::isAcceptableElement):
2042         (WebCore::HTMLCollection::itemAfter):
2043         (WebCore::HTMLCollection::length):
2044         (WebCore::HTMLCollection::item):
2045         (WebCore::HTMLCollection::checkForNameMatch):
2046         (WebCore::HTMLCollection::namedItem):
2047         (WebCore::HTMLCollection::updateNameCache):
2048         (WebCore::HTMLCollection::hasNamedItem):
2049         (WebCore::HTMLCollection::namedItems):
2050         (WebCore::HTMLCollectionCacheBase::append):
2051         * html/HTMLCollection.h:
2052         (HTMLCollectionCacheBase):
2053         (WebCore::HTMLCollectionCacheBase::HTMLCollectionCacheBase):
2054         (WebCore::HTMLCollectionCacheBase::type):
2055         (WebCore::HTMLCollectionCacheBase::clearCache):
2056         (WebCore::HTMLCollectionCacheBase::setItemCache):
2057         (WebCore::HTMLCollectionCacheBase::cachedElementsArrayOffset):
2058         (WebCore::HTMLCollectionCacheBase::includeChildren):
2059         (WebCore::HTMLCollectionCacheBase::cacheTreeVersion):
2060         (WebCore::HTMLCollectionCacheBase::idCache):
2061         (WebCore::HTMLCollectionCacheBase::nameCache):
2062         (WebCore::HTMLCollectionCacheBase::appendIdCache):
2063         (WebCore::HTMLCollectionCacheBase::appendNameCache):
2064         (WebCore::HTMLCollectionCacheBase::hasNameCache):
2065         (WebCore::HTMLCollectionCacheBase::setHasNameCache):
2066         (WebCore):
2067         (WebCore::HTMLCollection::isEmpty):
2068         (WebCore::HTMLCollection::hasExactlyOneItem):
2069         (WebCore::HTMLCollection::base):
2070         (HTMLCollection):
2071         * html/HTMLFormCollection.cpp:
2072         (WebCore::HTMLFormCollection::item):
2073         (WebCore::HTMLFormCollection::updateNameCache):
2074         * html/HTMLNameCollection.cpp:
2075         (WebCore::HTMLNameCollection::itemAfter):
2076         * html/HTMLNameCollection.h:
2077         (HTMLNameCollection):
2078         * html/HTMLSelectElement.cpp:
2079         (WebCore::HTMLSelectElement::invalidateSelectedItems):
2080         * html/HTMLTableRowsCollection.cpp:
2081         (WebCore::HTMLTableRowsCollection::itemAfter):
2082         * html/HTMLTableRowsCollection.h:
2083         (HTMLTableRowsCollection):
2084
2085 2012-06-29  Tony Chang  <tony@chromium.org>
2086
2087         Unreviewed, rolling out r121572.
2088         http://trac.webkit.org/changeset/121572
2089         https://bugs.webkit.org/show_bug.cgi?id=90249
2090
2091         Breaks Mac build since it depends on r121547, which was rolled
2092         out
2093
2094         * WebCore.exp.in:
2095         * page/AlternativeTextClient.h:
2096         * page/ContextMenuController.cpp:
2097         (WebCore::ContextMenuController::populate):
2098         * platform/graphics/cg/ImageBufferDataCG.h:
2099         * platform/graphics/mac/GraphicsContextMac.mm:
2100         (WebCore::GraphicsContext::drawLineForDocumentMarker):
2101         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2102         (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
2103         * platform/mac/WebCoreSystemInterface.h:
2104         * platform/network/Credential.h:
2105         * platform/network/cf/ResourceRequestCFNet.cpp:
2106         (WebCore):
2107         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
2108         * platform/text/TextChecking.h:
2109         (WebCore):
2110         * rendering/RenderLayerBacking.cpp:
2111         (WebCore::RenderLayerBacking::containsPaintedContent):
2112
2113 2012-06-29  Tony Chang  <tony@chromium.org>
2114
2115         Unreviewed, rolling out r121547.
2116         http://trac.webkit.org/changeset/121547
2117         https://bugs.webkit.org/show_bug.cgi?id=90256
2118
2119         Breaks Chromium Mac build
2120
2121         * platform/LocalizedStrings.cpp:
2122         (WebCore::imageTitle):
2123         * platform/graphics/cg/GraphicsContextCG.cpp:
2124         (WebCore::GraphicsContext::setAllowsFontSmoothing):
2125         * platform/graphics/cg/ImageCG.cpp:
2126         (WebCore::Image::drawPattern):
2127         * platform/graphics/cg/ImageSourceCG.cpp:
2128         (WebCore::ImageSource::clear):
2129         * platform/graphics/cg/PathCG.cpp:
2130         (WebCore::Path::boundingRect):
2131         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2132         (WebCore):
2133         (WebCore::canSetCascadeListForCustomFont):
2134         (WebCore::FontPlatformData::ctFont):
2135         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2136         * platform/graphics/mac/ComplexTextController.cpp:
2137         * platform/graphics/mac/FontCacheMac.mm:
2138         (WebCore):
2139         (WebCore::fontCacheATSNotificationCallback):
2140         (WebCore::FontCache::platformInit):
2141         * platform/graphics/mac/FontCustomPlatformData.cpp:
2142         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
2143         (WebCore::createFontCustomPlatformData):
2144         * platform/graphics/mac/FontCustomPlatformData.h:
2145         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
2146         * platform/graphics/mac/SimpleFontDataMac.mm:
2147         (WebCore::SimpleFontData::platformInit):
2148         * platform/graphics/mac/WebLayer.h:
2149         * platform/mac/CursorMac.mm:
2150         (WebCore::Cursor::ensurePlatformCursor):
2151         * platform/mac/DisplaySleepDisabler.cpp:
2152         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
2153         (WebCore):
2154         (WebCore::DisplaySleepDisabler::systemActivityTimerFired):
2155         * platform/mac/DisplaySleepDisabler.h:
2156         (DisplaySleepDisabler):
2157         * platform/mac/HTMLConverter.h:
2158         * platform/mac/HTMLConverter.mm:
2159         * platform/mac/PopupMenuMac.mm:
2160         (WebCore::PopupMenuMac::populate):
2161         * platform/mac/ScrollElasticityController.mm:
2162
2163 2012-06-29  Eric Penner  <epenner@google.com>
2164
2165         [chromium] Adding PrioritizedTexture and replacing ContentsTextureManager
2166         https://bugs.webkit.org/show_bug.cgi?id=84308
2167
2168         Reviewed by Adrienne Walker.
2169
2170         PrioritizedTextures have a priority such that all texture requests can be
2171         prioritized. There are three steps involved:
2172             - Call setRequestPriority()
2173             - Check if the request succeeded with canAcquireBackingTexture()
2174             - Call acquireBackingTexture() when uploading a new texture.
2175
2176         Internally both the texture requests and the backing textures get sorted.
2177         Requests are sorted so they can be prioritized. Backing textures are sorted
2178         so that they can be recycled/evicted in the right order (lowest priority first).
2179
2180         Prioritizing textures doesn't assign backing textures to texture requests but
2181         rather just marks which textures can have a backing texture "when needed". This
2182         allows us to keep the old textures in use as long as possible.
2183
2184         The unit tests support all the use cases from the original texture manager
2185         but also adds assumptions about priority order throughout all the tests. The
2186         function assertInvariants() is added to test the validity of the manager
2187         and all textures/allocations within it.
2188
2189         The TiledLayerChromium tests are updated to request textures first with
2190         prioritizeTextures(), and update them with the updater (such that allocate
2191         gets called) before pushPropertiesTo is called (when they need to be valid).
2192
2193         * WebCore.gypi:
2194         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
2195         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::Texture):
2196         (WebCore::BitmapCanvasLayerTextureUpdater::createTexture):
2197         (WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect):
2198         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
2199         (WebCore):
2200         (Texture):
2201         (BitmapCanvasLayerTextureUpdater):
2202         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
2203         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::Texture):
2204         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::createTexture):
2205         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
2206         (Texture):
2207         (BitmapSkPictureCanvasLayerTextureUpdater):
2208         * platform/graphics/chromium/ContentLayerChromium.cpp:
2209         (WebCore::ContentLayerChromium::setTexturePriorities):
2210         (WebCore):
2211         (WebCore::ContentLayerChromium::update):
2212         * platform/graphics/chromium/ContentLayerChromium.h:
2213         (ContentLayerChromium):
2214         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
2215         (WebCore::createAcceleratedCanvas):
2216         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::Texture):
2217         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::createTexture):
2218         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
2219         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
2220         (Texture):
2221         (FrameBufferSkPictureCanvasLayerTextureUpdater):
2222         * platform/graphics/chromium/ImageLayerChromium.cpp:
2223         (WebCore::ImageLayerTextureUpdater::Texture::Texture):
2224         (WebCore::ImageLayerTextureUpdater::createTexture):
2225         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
2226         (WebCore::ImageLayerChromium::setTexturePriorities):
2227         (WebCore):
2228         * platform/graphics/chromium/ImageLayerChromium.h:
2229         (ImageLayerChromium):
2230         * platform/graphics/chromium/LayerChromium.h:
2231         (LayerChromium):
2232         (WebCore::LayerChromium::setTexturePriorities):
2233         * platform/graphics/chromium/LayerTextureUpdater.h:
2234         (WebCore::LayerTextureUpdater::Texture::texture):
2235         (WebCore::LayerTextureUpdater::Texture::swapTextureWith):
2236         (WebCore::LayerTextureUpdater::Texture::Texture):
2237         (Texture):
2238         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
2239         (WebCore::ScrollbarLayerChromium::pushPropertiesTo):
2240         (WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
2241         (WebCore::ScrollbarLayerChromium::updatePart):
2242         (WebCore):
2243         (WebCore::ScrollbarLayerChromium::setTexturePriorities):
2244         * platform/graphics/chromium/ScrollbarLayerChromium.h:
2245         (ScrollbarLayerChromium):
2246         * platform/graphics/chromium/TiledLayerChromium.cpp:
2247         (WebCore::UpdatableTile::managedTexture):
2248         (WebCore::TiledLayerChromium::pushPropertiesTo):
2249         (WebCore::TiledLayerChromium::textureManager):
2250         (WebCore::TiledLayerChromium::createTile):
2251         (WebCore::TiledLayerChromium::tileNeedsBufferedUpdate):
2252         (WebCore::TiledLayerChromium::updateTiles):
2253         (WebCore::TiledLayerChromium::setTexturePriorities):
2254         (WebCore):
2255         (WebCore::TiledLayerChromium::setTexturePrioritiesInRect):
2256         (WebCore::TiledLayerChromium::resetUpdateState):
2257         (WebCore::TiledLayerChromium::updateLayerRect):
2258         (WebCore::TiledLayerChromium::idleUpdateLayerRect):
2259         (WebCore::TiledLayerChromium::needsIdlePaint):
2260         (WebCore::TiledLayerChromium::idlePaintRect):
2261         * platform/graphics/chromium/TiledLayerChromium.h:
2262         (TiledLayerChromium):
2263         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2264         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
2265         (WebCore::CCLayerTreeHost::deleteContentsTexturesOnImplThread):
2266         (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
2267         (WebCore::CCLayerTreeHost::commitComplete):
2268         (WebCore::CCLayerTreeHost::evictAllContentTextures):
2269         (WebCore::CCLayerTreeHost::contentsTextureManager):
2270         (WebCore::CCLayerTreeHost::updateLayers):
2271         (WebCore::CCLayerTreeHost::prioritizeTextures):
2272         (WebCore::CCLayerTreeHost::deleteTextureAfterCommit):
2273         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2274         (WebCore):
2275         (CCLayerTreeHost):
2276         * platform/graphics/chromium/cc/CCPrioritizedTexture.cpp: Added.
2277         (WebCore):
2278         (WebCore::CCPrioritizedTexture::CCPrioritizedTexture):
2279         (WebCore::CCPrioritizedTexture::~CCPrioritizedTexture):
2280         (WebCore::CCPrioritizedTexture::setTextureManager):
2281         (WebCore::CCPrioritizedTexture::setDimensions):
2282         (WebCore::CCPrioritizedTexture::requestLate):
2283         (WebCore::CCPrioritizedTexture::acquireBackingTexture):
2284         (WebCore::CCPrioritizedTexture::textureId):
2285         (WebCore::CCPrioritizedTexture::bindTexture):
2286         (WebCore::CCPrioritizedTexture::framebufferTexture2D):
2287         (WebCore::CCPrioritizedTexture::setCurrentBacking):
2288         * platform/graphics/chromium/cc/CCPrioritizedTexture.h: Added.
2289         (WebCore):
2290         (CCPrioritizedTexture):
2291         (WebCore::CCPrioritizedTexture::create):
2292         (WebCore::CCPrioritizedTexture::textureManager):
2293         (WebCore::CCPrioritizedTexture::format):
2294         (WebCore::CCPrioritizedTexture::size):
2295         (WebCore::CCPrioritizedTexture::memorySizeBytes):
2296         (WebCore::CCPrioritizedTexture::setRequestPriority):
2297         (WebCore::CCPrioritizedTexture::requestPriority):
2298         (WebCore::CCPrioritizedTexture::canAcquireBackingTexture):
2299         (WebCore::CCPrioritizedTexture::haveBackingTexture):
2300         (Backing):
2301         (WebCore::CCPrioritizedTexture::Backing::size):
2302         (WebCore::CCPrioritizedTexture::Backing::format):
2303         (WebCore::CCPrioritizedTexture::Backing::memorySizeBytes):
2304         (WebCore::CCPrioritizedTexture::Backing::textureId):
2305         (WebCore::CCPrioritizedTexture::Backing::currentTexture):
2306         (WebCore::CCPrioritizedTexture::Backing::setCurrentTexture):
2307         (WebCore::CCPrioritizedTexture::Backing::Backing):
2308         (WebCore::CCPrioritizedTexture::Backing::~Backing):
2309         (WebCore::CCPrioritizedTexture::isAbovePriorityCutoff):
2310         (WebCore::CCPrioritizedTexture::setAbovePriorityCutoff):
2311         (WebCore::CCPrioritizedTexture::setManagerInternal):
2312         (WebCore::CCPrioritizedTexture::currentBacking):
2313         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp: Added.
2314         (WebCore):
2315         (WebCore::CCPrioritizedTextureManager::CCPrioritizedTextureManager):
2316         (WebCore::CCPrioritizedTextureManager::~CCPrioritizedTextureManager):
2317         (WebCore::CCPrioritizedTextureManager::setMemoryAllocationLimitBytes):
2318         (WebCore::CCPrioritizedTextureManager::prioritizeTextures):
2319         (WebCore::CCPrioritizedTextureManager::clearPriorities):
2320         (WebCore::CCPrioritizedTextureManager::requestLate):
2321         (WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
2322         (WebCore::CCPrioritizedTextureManager::reduceMemory):
2323         (WebCore::CCPrioritizedTextureManager::clearAllMemory):
2324         (WebCore::CCPrioritizedTextureManager::allBackingTexturesWereDeleted):
2325         (WebCore::CCPrioritizedTextureManager::unlink):
2326         (WebCore::CCPrioritizedTextureManager::link):
2327         (WebCore::CCPrioritizedTextureManager::registerTexture):
2328         (WebCore::CCPrioritizedTextureManager::unregisterTexture):
2329         (WebCore::CCPrioritizedTextureManager::returnBackingTexture):
2330         (WebCore::CCPrioritizedTextureManager::createBacking):
2331         (WebCore::CCPrioritizedTextureManager::destroyBacking):
2332         (WebCore::CCPrioritizedTextureManager::assertInvariants):
2333         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h: Added.
2334         (WebCore):
2335         (CCPrioritizedTextureManager):
2336         (WebCore::CCPrioritizedTextureManager::create):
2337         (WebCore::CCPrioritizedTextureManager::createTexture):
2338         (WebCore::CCPrioritizedTextureManager::memoryUseBytes):
2339         (WebCore::CCPrioritizedTextureManager::memoryAboveCutoffBytes):
2340         (WebCore::CCPrioritizedTextureManager::setMaxMemoryLimitBytes):
2341         (WebCore::CCPrioritizedTextureManager::maxMemoryLimitBytes):
2342         (WebCore::CCPrioritizedTextureManager::setPreferredMemoryLimitBytes):
2343         (WebCore::CCPrioritizedTextureManager::preferredMemoryLimitBytes):
2344         (WebCore::CCPrioritizedTextureManager::setMaxMemoryPriorityCutoff):
2345         (WebCore::CCPrioritizedTextureManager::maxMemoryPriorityCutoff):
2346         (WebCore::CCPrioritizedTextureManager::compareTextures):
2347         (WebCore::CCPrioritizedTextureManager::compareBackings):
2348         * platform/graphics/chromium/cc/CCPriorityCalculator.cpp: Added.
2349         (WebCore):
2350         (WebCore::CCPriorityCalculator::uiPriority):
2351         (WebCore::CCPriorityCalculator::visiblePriority):
2352         (WebCore::CCPriorityCalculator::lingeringPriority):
2353         (WebCore::CCPriorityCalculator::priorityFromDistance):
2354         (WebCore::CCPriorityCalculator::priorityFromVisibility):
2355         * platform/graphics/chromium/cc/CCPriorityCalculator.h: Added.
2356         (WebCore):
2357         (CCPriorityCalculator):
2358         (WebCore::CCPriorityCalculator::highestPriority):
2359         (WebCore::CCPriorityCalculator::lowestPriority):
2360         (WebCore::CCPriorityCalculator::priorityIsLower):
2361         (WebCore::CCPriorityCalculator::priorityIsHigher):
2362         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
2363
2364 2012-06-29  Eric Seidel  <eric@webkit.org>
2365
2366         Remove BUILDING_ON_LEOPARD now that no ports build on Leopard
2367         https://bugs.webkit.org/show_bug.cgi?id=90249
2368
2369         Reviewed by Ryosuke Niwa.
2370
2371         I don't think I quite got it all yet, but this is another step towards
2372         removing Leopard support in WebCore.
2373
2374         * WebCore.exp.in:
2375         * page/AlternativeTextClient.h:
2376         * page/ContextMenuController.cpp:
2377         (WebCore::ContextMenuController::populate):
2378         * platform/graphics/cg/ImageBufferDataCG.h:
2379         * platform/graphics/mac/GraphicsContextMac.mm:
2380         (WebCore::GraphicsContext::drawLineForDocumentMarker):
2381         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2382         (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
2383         * platform/mac/WebCoreSystemInterface.h:
2384         * platform/network/Credential.h:
2385         * platform/network/cf/ResourceRequestCFNet.cpp:
2386         (WebCore):
2387         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
2388         * platform/text/TextChecking.h:
2389         (WebCore):
2390         * rendering/RenderLayerBacking.cpp:
2391         (WebCore::RenderLayerBacking::containsPaintedContent):
2392
2393 2012-06-29  Andreas Kling  <kling@webkit.org>
2394
2395         Unreviewed, rolling out r121562.
2396         http://trac.webkit.org/changeset/121562
2397         https://bugs.webkit.org/show_bug.cgi?id=89945
2398
2399         Broke a couple of editing/pasteboard tests.
2400
2401         * css/PropertySetCSSStyleDeclaration.cpp:
2402         (WebCore::PropertySetCSSStyleDeclaration::length):
2403         (WebCore::PropertySetCSSStyleDeclaration::item):
2404         (WebCore::PropertySetCSSStyleDeclaration::cssText):
2405         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
2406         (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
2407         (WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
2408         (WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
2409         (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
2410         (WebCore::PropertySetCSSStyleDeclaration::isPropertyImplicit):
2411         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
2412         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
2413         (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
2414         (WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
2415         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
2416         (WebCore::PropertySetCSSStyleDeclaration::copy):
2417         (WebCore::PropertySetCSSStyleDeclaration::makeMutable):
2418         (WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
2419         (WebCore::InlineCSSStyleDeclaration::didMutate):
2420         (WebCore::InlineCSSStyleDeclaration::parentStyleSheet):
2421         * css/PropertySetCSSStyleDeclaration.h:
2422         (WebCore::PropertySetCSSStyleDeclaration::clearParentElement):
2423         (PropertySetCSSStyleDeclaration):
2424         (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
2425         * css/StylePropertySet.cpp:
2426         (WebCore::StylePropertySet::ensureInlineCSSStyleDeclaration):
2427         (WebCore::StylePropertySet::clearParentElement):
2428         (WebCore):
2429         * css/StylePropertySet.h:
2430         (StylePropertySet):
2431         * dom/ElementAttributeData.cpp:
2432         (WebCore::ElementAttributeData::destroyInlineStyle):
2433         (WebCore):
2434         * dom/ElementAttributeData.h:
2435         (ElementAttributeData):
2436         * dom/StyledElement.cpp:
2437         (WebCore::StyledElement::~StyledElement):
2438         (WebCore):
2439         (WebCore::StyledElement::styleAttributeChanged):
2440         * dom/StyledElement.h:
2441         (StyledElement):
2442         (WebCore::StyledElement::destroyInlineStyle):
2443
2444 2012-06-29  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
2445
2446         [Qt] Add missing support for tiled shadow blur on fillRect
2447         https://bugs.webkit.org/show_bug.cgi?id=90082
2448
2449         Reviewed by Noam Rosenthal.
2450
2451         This overloaded fillRect implementation also supports this optimization in
2452         certain situations.
2453
2454         * platform/graphics/qt/GraphicsContextQt.cpp:
2455         (WebCore::GraphicsContext::fillRect):
2456
2457 2012-06-29  Brady Eidson  <beidson@apple.com>
2458
2459         Build fix - These should not be executable!
2460
2461         Rubberstamped by Jessie Berlin.
2462
2463         * loader/cache/CachedSVGDocument.cpp: Removed property svn:executable.
2464         * loader/cache/CachedSVGDocument.h: Removed property svn:executable.
2465
2466 2012-06-29  Kwang Yul Seo  <skyul@company100.net>
2467
2468         Update FIXME comment in XMLDocumentParser::wellFormed
2469         https://bugs.webkit.org/show_bug.cgi?id=90223
2470
2471         Reviewed by Adam Barth.
2472
2473         XMLDocumentParser::wellFormed is still used by the XMLHttpRequest to check if the responseXML was well formed.
2474         So it can't be removed.
2475
2476         * xml/parser/XMLDocumentParser.h:
2477         (XMLDocumentParser):
2478
2479 2012-06-29  Andreas Kling  <kling@webkit.org>
2480
2481         Separate mutating CSSStyleDeclaration operations.
2482         <http://webkit.org/b/89945>
2483
2484         Reviewed by Antti Koivisto.
2485
2486         Use separate paths for mutating the StylePropertySet wrapped by a CSSStyleDeclaration.
2487         PropertySetCSSStyleDeclaration now has:
2488
2489             - propertySet() const
2490             - ensureMutablePropertySet()
2491
2492         This is prep work for supporting immutable ElementAttributeData objects, the idea being
2493         that calling ensureMutablePropertySet() may cause the element to convert its internal
2494         attribute storage (which also holds the inline StylePropertySet.)
2495
2496         To that end, also removed the weird logic that allowed you to kill the inline style object
2497         by removing the 'style' attribute. We now simply clear out all the properties in that case
2498         which saves us a bunch of hassle (no need for a ~StyledElement anymore.)
2499         Note that InlineCSSStyleDeclaration now refs the element rather than the inline style.
2500
2501         There should be no web-facing behavior change from any of this.
2502
2503         * css/PropertySetCSSStyleDeclaration.cpp:
2504         (WebCore::PropertySetCSSStyleDeclaration::length):
2505         (WebCore::PropertySetCSSStyleDeclaration::item):
2506         (WebCore::PropertySetCSSStyleDeclaration::cssText):
2507         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
2508         (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
2509         (WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
2510         (WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
2511         (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
2512         (WebCore::PropertySetCSSStyleDeclaration::isPropertyImplicit):
2513         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
2514         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
2515         (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
2516         (WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
2517         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
2518         (WebCore::PropertySetCSSStyleDeclaration::copy):
2519         (WebCore::PropertySetCSSStyleDeclaration::makeMutable):
2520         (WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
2521         (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
2522         (WebCore::InlineCSSStyleDeclaration::ref):
2523         (WebCore::InlineCSSStyleDeclaration::deref):
2524         (WebCore::InlineCSSStyleDeclaration::didMutate):
2525         (WebCore::InlineCSSStyleDeclaration::parentStyleSheet):
2526         (WebCore::InlineCSSStyleDeclaration::ensureMutablePropertySet):
2527         * css/PropertySetCSSStyleDeclaration.h:
2528         (PropertySetCSSStyleDeclaration):
2529         (WebCore::PropertySetCSSStyleDeclaration::propertySet):
2530         (WebCore::PropertySetCSSStyleDeclaration::ensureMutablePropertySet):
2531         (InlineCSSStyleDeclaration):
2532         * css/StylePropertySet.cpp:
2533         (WebCore::StylePropertySet::ensureInlineCSSStyleDeclaration):
2534         * css/StylePropertySet.h:
2535         (StylePropertySet):
2536         * dom/ElementAttributeData.cpp:
2537         * dom/ElementAttributeData.h:
2538         (ElementAttributeData):
2539         * dom/StyledElement.cpp:
2540         (WebCore::StyledElement::styleAttributeChanged):
2541         * dom/StyledElement.h:
2542         (WebCore::StyledElement::~StyledElement):
2543         (StyledElement):
2544
2545 2012-06-29  Kwang Yul Seo  <skyul@company100.net>
2546
2547         Don't call SegmentedString::toString() twice in XMLDocumentParser::append(const SegmentedString&)
2548         https://bugs.webkit.org/show_bug.cgi?id=90254
2549
2550         Reviewed by Adam Barth.
2551
2552         We can reuse the local variable parseString instead of calling s.toString() again.
2553         No behavior change, so no new tests.
2554
2555         * xml/parser/XMLDocumentParser.cpp:
2556         (WebCore::XMLDocumentParser::append):
2557
2558 2012-06-29  Mihnea Ovidenie  <mihnea@adobe.com>
2559
2560         Crash when flowing a fixed positioned element into a region.
2561         https://bugs.webkit.org/show_bug.cgi?id=88133
2562
2563         Reviewed by Julien Chaffraix and Abhishek Arya.
2564
2565         When a fixed positioned element is collected into a named flow, we have to make sure
2566         that such element has the RenderFlowThread as containing block instead of RenderView,
2567         so that the fixed positioned element is laid out properly.
2568         Making the RenderFlowThread the top most containing block for named flow elements required the
2569         modification of RenderLayer::convertToLayerCoords so that the fixed positioned elements inside the
2570         named flow take the same code path as the absolute positioned elements inside the named flow.
2571         I also added a method, checkBlockPositionedObjectsNeedLayout, in order to verify that a block
2572         that is ending its layout, setNeedsLayout(false), has all the positioned children laid out.
2573         This way, we will hit an assertion if an out-of-flow positioned child inside a RenderFlowThread
2574         is not laid out after the RenderFlowThread is laid out.
2575
2576         Tests: fast/regions/absolute-pos-elem-in-named-flow.html
2577                fast/regions/absolute-pos-elem-in-region.html
2578                fast/regions/fixed-pos-elem-in-named-flow.html
2579                fast/regions/fixed-pos-elem-in-named-flow2.html
2580                fast/regions/fixed-pos-elem-in-region.html
2581
2582         * rendering/RenderBlock.cpp:
2583         (WebCore::RenderBlock::checkPositionedObjectsNeedLayout):
2584         * rendering/RenderBlock.h:
2585         (RenderBlock):
2586         * rendering/RenderLayer.cpp:
2587         (WebCore::RenderLayer::convertToLayerCoords):
2588         * rendering/RenderObject.cpp:
2589         (WebCore):
2590         (WebCore::RenderObject::checkBlockPositionedObjectsNeedLayout):
2591         (WebCore::RenderObject::containingBlock):
2592         (WebCore::RenderObject::container):
2593         * rendering/RenderObject.h:
2594         (RenderObject):
2595         (WebCore::RenderObject::setNeedsLayout):
2596
2597 2012-06-29  Konrad Piascik  <kpiascik@rim.com>
2598
2599         Don't hardcode target dpi of 160 (it should be 96 on desktop)
2600         https://bugs.webkit.org/show_bug.cgi?id=88114
2601
2602         Reviewed by Adam Barth.
2603
2604         No behavioural change, current tests in fast/viewport cover all
2605         functionality.
2606
2607         * WebCore.exp.in: Updated symbol for computeViewportAttributes.
2608         * dom/ViewportArguments.cpp: Use new parameter for devicePixelRatio
2609                                      and don't calculate it anymore.
2610         (WebCore::computeViewportAttributes):
2611         * dom/ViewportArguments.h: Change the deviceDPI parameter to
2612                                    devicePixelRatio and put the onus
2613                                    on the embedder to supply the
2614                                    correct value.  Add temporary constant.
2615         (WebCore):
2616
2617 2012-06-29  Vineet Chaudhary  <rgf748@motorola.com>
2618
2619         JS binding code generator doesn't handle "attribute unsigned long[]" well.
2620         https://bugs.webkit.org/show_bug.cgi?id=84540
2621
2622         Reviewed by Kentaro Hara.
2623
2624         In JS/V8 Bindings using traits instead of specialised functions.
2625         Also added support for "unsigned long" in JSDOMBinding and V8Binding.
2626
2627         No new tests, as no behavioural changes.
2628
2629         * bindings/js/JSDOMBinding.h:
2630         (WebCore::Traits::arrayJSValue):
2631         (WebCore::jsArray):
2632         * bindings/v8/V8Binding.h:
2633         (WebCore::Traits::arrayV8Value):
2634         (WebCore::v8Array):
2635
2636 2012-06-29  Andreas Kling  <kling@webkit.org>
2637
2638         Unreviewed mac build fix after r121547.
2639         Remove the now-unused FontCustomPlatformData::m_atsContainer.
2640
2641         * platform/graphics/mac/FontCustomPlatformData.h:
2642         (FontCustomPlatformData):
2643
2644 2012-06-29  Kent Tamura  <tkent@chromium.org>
2645
2646         <textarea> unnecessarily saves the value in some cases
2647         https://bugs.webkit.org/show_bug.cgi?id=90259
2648
2649         Reviewed by Hajime Morita.
2650
2651         Test: fast/forms/textarea/textarea-state-restore.html
2652
2653         * html/HTMLTextAreaElement.cpp:
2654         (WebCore::HTMLTextAreaElement::saveFormControlState):
2655         We apply EOL normalization to value(), but don't apply it to
2656         defaultValue(). Also value() can return a null string, which never
2657         equals to any strings. To check m_isDirty is what we need..
2658
2659 2012-06-25  Alexander Pavlov  <apavlov@chromium.org>
2660
2661         Web Inspector: Provide source data for all known rule types in CSSParser, except "keyframe" and "region"
2662         https://bugs.webkit.org/show_bug.cgi?id=88420
2663
2664         Reviewed by Antti Koivisto.
2665
2666         This change transitions the CSS source code model from a flat list of style rules to a tree of all types of CSS rules
2667         (some of them lack actual source code data), which is crucial to model-based CSS stylesheet source editing
2668         (add/remove CSS rule) and navigation.
2669         As a side effect, the CSS parsing performance on PerformanceTests/Parser/css-parser-yui.html is improved roughly by 2%:
2670         - originally: median= 282.051282051 runs/s, stdev= 1.51236798322 runs/s, min= 278.481012658 runs/s, max= 283.870967742 runs/s
2671         - with patch applied: median= 287.206266319 runs/s, stdev= 1.31518320219 runs/s, min= 282.051282051 runs/s, max= 288.713910761 runs/s
2672
2673         No new tests, as there is no client-visible behavior change. Existing Inspector tests will be modified
2674         to test the new data provided, along with the necessary Inspector plumbing.
2675
2676         * css/CSSGrammar.y:
2677         * css/CSSMediaRule.cpp:
2678         (WebCore::CSSMediaRule::reattach): Check for mediaQueries() validity before reattaching.
2679         * css/CSSParser.cpp: Unless explicitly specified below, the method changes are related to the extension of the
2680         source-based CSS model provided by the parser.
2681         (WebCore::CSSParser::CSSParser):
2682         (WebCore::CSSParser::setupParser):
2683         (WebCore::CSSParser::parseDeclaration): Accept a CSSRuleSourceData for filling, since it now contains
2684         the related style source range.
2685         (WebCore::CSSParser::createImportRule):
2686         (WebCore::CSSParser::createMediaRule): Create CSSMediaRule even if media and rules are empty,
2687         which is consistent with Mozilla.
2688         (WebCore::CSSParser::processAndAddNewRuleToSourceTreeIfNeeded):
2689         (WebCore):
2690         (WebCore::CSSParser::addNewRuleToSourceTree):
2691         (WebCore::CSSParser::createKeyframesRule):
2692         (WebCore::CSSParser::createStyleRule):
2693         (WebCore::CSSParser::createFontFaceRule):
2694         (WebCore::CSSParser::createPageRule):
2695         (WebCore::CSSParser::createRegionRule):
2696         (WebCore::CSSParser::fixUnparsedPropertyRanges):
2697         (WebCore::CSSParser::markRuleHeaderStart):
2698         (WebCore::CSSParser::markRuleHeaderEnd):
2699         (WebCore::CSSParser::markRuleBodyStart):
2700         (WebCore::CSSParser::markRuleBodyEnd):
2701         (WebCore::CSSParser::markPropertyStart):
2702         (WebCore::CSSParser::markPropertyEnd):
2703         * css/CSSParser.h:
2704         (CSSParser):
2705         * css/CSSPropertySourceData.h: Extend the model to handle more types of rules and their containments.
2706         (WebCore):
2707         (WebCore::CSSRuleSourceData::create):
2708         (WebCore::CSSRuleSourceData::createUnknown):
2709         (CSSRuleSourceData):
2710         (WebCore::CSSRuleSourceData::CSSRuleSourceData):
2711         * inspector/InspectorStyleSheet.cpp: Follow the CSSParser API changes but retain the flat stored CSS rules structure.
2712         (ParsedStyleSheet):
2713         (flattenSourceData): Flatten the rule tree to retain the existing rule-handling code intact.
2714         (ParsedStyleSheet::setSourceData):
2715         (ParsedStyleSheet::ruleSourceDataAt):
2716         (WebCore::InspectorStyle::buildObjectForStyle):
2717         (WebCore::InspectorStyle::setPropertyText):
2718         (WebCore::InspectorStyle::styleText):
2719         (WebCore::InspectorStyleSheet::setRuleSelector):
2720         (WebCore::InspectorStyleSheet::deleteRule):
2721         (WebCore::InspectorStyleSheet::buildObjectForRule):
2722         (WebCore::InspectorStyleSheet::buildObjectForStyle):
2723         (WebCore::InspectorStyleSheet::ensureSourceData):
2724         (WebCore::InspectorStyleSheet::styleSheetTextWithChangedStyle):
2725         (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
2726         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
2727         * inspector/InspectorStyleSheet.h:
2728
2729 2012-06-29  Vsevolod Vlasov  <vsevik@chromium.org>
2730
2731         Web Inspector: Annotate TextViewer.js
2732         https://bugs.webkit.org/show_bug.cgi?id=90266
2733
2734         Reviewed by Yury Semikhatsky.
2735
2736         Annotated TextViewer.js and fixed found errors.
2737         Drive-by: Fixed NativeMemorySnapshotView.js compilation.
2738         Drive-by: Fixed protocol-externs.js compilation.
2739         Drive-by: Removed unused platform parameter from TextViewer constructor.
2740
2741         * inspector/Inspector.json:
2742         * inspector/InspectorDebuggerAgent.cpp:
2743         (WebCore::InspectorDebuggerAgent::runScript):
2744         * inspector/InspectorDebuggerAgent.h:
2745         (InspectorDebuggerAgent):
2746         * inspector/front-end/NativeMemorySnapshotView.js:
2747         (WebInspector.NativeMemoryBarChart.prototype._updateView):
2748         * inspector/front-end/SourceFrame.js:
2749         (WebInspector.SourceFrame):
2750         * inspector/front-end/TextViewer.js:
2751         (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
2752
2753 2012-06-29  Eric Seidel  <eric@webkit.org>
2754
2755         Remove still more BUILDING_ON_LEOPARD branches now that no port supports leopard
2756         https://bugs.webkit.org/show_bug.cgi?id=90256
2757
2758         Reviewed by Ryosuke Niwa.
2759
2760         * platform/LocalizedStrings.cpp:
2761         (WebCore::imageTitle):
2762         * platform/graphics/cg/GraphicsContextCG.cpp:
2763         (WebCore::GraphicsContext::setAllowsFontSmoothing):
2764         * platform/graphics/cg/ImageCG.cpp:
2765         (WebCore::Image::drawPattern):
2766         * platform/graphics/cg/ImageSourceCG.cpp:
2767         (WebCore::ImageSource::clear):
2768         * platform/graphics/cg/PathCG.cpp:
2769         (WebCore::Path::boundingRect):
2770         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2771         (WebCore::FontPlatformData::ctFont):
2772         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2773         * platform/graphics/mac/ComplexTextController.cpp:
2774         * platform/graphics/mac/FontCacheMac.mm:
2775         (WebCore::fontCacheRegisteredFontsChangedNotificationCallback):
2776         (WebCore::FontCache::platformInit):
2777         * platform/graphics/mac/FontCustomPlatformData.cpp:
2778         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
2779         (WebCore::createFontCustomPlatformData):
2780         * platform/graphics/mac/FontCustomPlatformData.h:
2781         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
2782         * platform/graphics/mac/SimpleFontDataMac.mm:
2783         (WebCore::SimpleFontData::platformInit):
2784         * platform/graphics/mac/WebLayer.h:
2785         * platform/mac/CursorMac.mm:
2786         (WebCore::Cursor::ensurePlatformCursor):
2787         * platform/mac/DisplaySleepDisabler.cpp:
2788         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
2789         (WebCore::DisplaySleepDisabler::~DisplaySleepDisabler):
2790         * platform/mac/DisplaySleepDisabler.h:
2791         (DisplaySleepDisabler):
2792         * platform/mac/HTMLConverter.h:
2793         * platform/mac/HTMLConverter.mm:
2794         * platform/mac/PopupMenuMac.mm:
2795         (WebCore::PopupMenuMac::populate):
2796         * platform/mac/ScrollElasticityController.mm:
2797
2798 2012-06-29  Zan Dobersek  <zandobersek@gmail.com>
2799
2800         Unreviewed attempt at a build fix for 64-bit debug build,
2801         touch InsertionPoint.cpp to try to get it rebuilt.
2802
2803         * html/shadow/InsertionPoint.cpp:
2804         (WebCore):
2805
2806 2012-06-29  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
2807
2808         [Qt] Don't add Qt module dependencies in features.prf
2809
2810         The required dependencies are already added in WebCore.pri.
2811
2812         Reviewed by Tor Arne Vestbø.
2813
2814         * WebCore.pri:
2815
2816 2012-06-29  Taiju Tsuiki  <tzik@chromium.org>
2817
2818         Web Inspector: Add FileSystemView
2819         https://bugs.webkit.org/show_bug.cgi?id=73301
2820
2821         This patch introduce a split view as FileSystemView. Including directory tree as sidebar tree.
2822
2823         Reviewed by Vsevolod Vlasov.
2824
2825         Test: http/tests/inspector/filesystem/directory-tree.html
2826
2827         * WebCore.gypi:
2828         * WebCore.vcproj/WebCore.vcproj:
2829         * inspector/compile-front-end.py:
2830         * inspector/front-end/FileSystemModel.js:
2831         (WebInspector.FileSystemModel.Entry.compare):
2832         * inspector/front-end/FileSystemView.js: Added.
2833         * inspector/front-end/ResourcesPanel.js:
2834         (WebInspector.ResourcesPanel.prototype.showFileSystem):
2835         (WebInspector.FileSystemTreeElement.prototype.get itemURL):
2836         (WebInspector.FileSystemTreeElement.prototype.onattach):
2837         (WebInspector.FileSystemTreeElement.prototype._handleContextMenuEvent):
2838         (WebInspector.FileSystemTreeElement.prototype._refreshFileSystem):
2839         (WebInspector.FileSystemTreeElement.prototype.onselect):
2840         (WebInspector.FileSystemTreeElement.prototype.clear):
2841         * inspector/front-end/WebKit.qrc:
2842         * inspector/front-end/inspector.html:
2843
2844 2012-06-29  Kentaro Hara  <haraken@chromium.org>
2845
2846         [V8] Replace v8::Integer::New() with v8Integer() in custom bindings
2847         https://bugs.webkit.org/show_bug.cgi?id=90242
2848
2849         Reviewed by Yury Semikhatsky.
2850
2851         v8Integer() is a fast wrapper of v8::Integer::New().
2852         This patch replaces v8::Integer::New() with v8Integer() in custom bindings,
2853         and pass isolates.
2854
2855         No tests. No change in behavior.
2856
2857         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
2858         (WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator):
2859         (WebCore::V8CSSStyleDeclaration::namedPropertyQuery):
2860         * bindings/v8/custom/V8ClipboardCustom.cpp:
2861         (WebCore::V8Clipboard::typesAccessorGetter):
2862         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2863         (WebCore::V8DOMStringMap::namedPropertyQuery):
2864         (WebCore::V8DOMStringMap::namedPropertyEnumerator):
2865         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2866         (WebCore::WindowSetTimeoutImpl):
2867         * bindings/v8/custom/V8DataViewCustom.cpp:
2868         (WebCore::V8DataView::getInt8Callback):
2869         (WebCore::V8DataView::getUint8Callback):
2870         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
2871         (WebCore::V8HTMLInputElement::selectionStartAccessorGetter):
2872         (WebCore::V8HTMLInputElement::selectionEndAccessorGetter):
2873         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2874         (WebCore::V8HTMLOptionsCollection::lengthAccessorGetter):
2875         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2876         (WebCore::V8InjectedScriptHost::functionDetailsCallback):
2877         * bindings/v8/custom/V8MessageEventCustom.cpp:
2878         (WebCore::V8MessageEvent::portsAccessorGetter):
2879         * bindings/v8/custom/V8MutationCallbackCustom.cpp:
2880         (WebCore::V8MutationCallback::handleEvent):
2881         * bindings/v8/custom/V8NodeListCustom.cpp:
2882         (WebCore::V8NodeList::namedPropertyGetter):
2883         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2884         (WebCore::V8SQLTransaction::executeSqlCallback):
2885         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
2886         (WebCore::V8SQLTransactionSync::executeSqlCallback):
2887         * bindings/v8/custom/V8StorageCustom.cpp:
2888         (WebCore::V8Storage::namedPropertyEnumerator):
2889         (WebCore::V8Storage::indexedPropertyGetter):
2890         (WebCore::V8Storage::namedPropertyQuery):
2891         (WebCore::V8Storage::indexedPropertySetter):
2892         (WebCore::V8Storage::indexedPropertyDeleter):
2893         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2894         (WebCore::toV8Object):
2895         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
2896         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
2897         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2898         (WebCore::SetTimeoutOrInterval):
2899
2900 2012-06-29  Kentaro Hara  <haraken@chromium.org>
2901
2902         Unreviewed, rolling out r121520.
2903         http://trac.webkit.org/changeset/121520
2904         https://bugs.webkit.org/show_bug.cgi?id=90246
2905
2906         the performance optimization needs more investigation
2907
2908         * dom/DatasetDOMStringMap.cpp:
2909         (WebCore::convertPropertyNameToAttributeName):
2910         * dom/Element.cpp:
2911         (WebCore::Element::getAttributeNS):
2912         (WebCore::Element::removeAttribute):
2913         (WebCore::Element::removeAttributeNS):
2914         (WebCore::Element::getAttributeNode):
2915         (WebCore::Element::getAttributeNodeNS):
2916         (WebCore::Element::hasAttribute):
2917         (WebCore::Element::hasAttributeNS):
2918         * dom/Element.h:
2919         (Element):
2920         * dom/ElementAttributeData.cpp:
2921         (WebCore::ElementAttributeData::getAttributeNode):
2922         * dom/ElementAttributeData.h:
2923         (ElementAttributeData):
2924
2925 2012-06-29  Kentaro Hara  <haraken@chromium.org>
2926
2927         [V8] Replace v8::Integer::New() with v8Integer() in bindings/v8/*.{h,cpp}
2928         https://bugs.webkit.org/show_bug.cgi?id=90238
2929
2930         Reviewed by Yury Semikhatsky.
2931
2932         v8Integer() is a fast wrapper of v8::Integer::New().
2933         We can replace v8::Integer::New() with v8Integer()
2934         in bindings/v8/*.{h,cpp}. In addition, we pass isolate
2935         to v8Integer() where possible.
2936
2937         No tests. No change in behavior.
2938
2939         * bindings/v8/Dictionary.cpp:
2940         (WebCore::Dictionary::get):
2941         * bindings/v8/NPV8Object.cpp:
2942         (_NPN_Enumerate): Changed v8::None to 0, for consistency with other code.
2943         * bindings/v8/PageScriptDebugServer.cpp:
2944         (WebCore::PageScriptDebugServer::addListener):
2945         * bindings/v8/ScriptDebugServer.cpp:
2946         (WebCore::ScriptDebugServer::setBreakpoint):
2947         (WebCore::ScriptDebugServer::compileScript):
2948         * bindings/v8/SerializedScriptValue.cpp:
2949         * bindings/v8/V8Binding.cpp:
2950         (WebCore::v8Array):
2951         (WebCore::v8ValueToWebCoreDOMStringList):
2952         * bindings/v8/V8Binding.h:
2953         (WebCore::v8Array):
2954         (WebCore::v8NumberArrayToVector):
2955         * bindings/v8/V8Collection.h:
2956         (WebCore::nodeCollectionIndexedPropertyEnumerator):
2957         (WebCore::collectionIndexedPropertyEnumerator):
2958         * bindings/v8/V8LazyEventListener.cpp:
2959         (WebCore::V8LazyEventListener::prepareListenerObject):
2960         * bindings/v8/V8NPObject.cpp:
2961         (WebCore::npObjectQueryProperty):
2962         (WebCore::npObjectPropertyEnumerator):
2963         * bindings/v8/V8NPUtils.cpp:
2964         (WebCore::convertNPVariantToV8Object):
2965         * bindings/v8/V8Proxy.cpp:
2966         (WebCore::batchConfigureConstants):
2967         (WebCore::V8Proxy::compileScript):
2968         * bindings/v8/V8Utilities.cpp:
2969         (WebCore::createHiddenDependency):
2970         (WebCore::removeHiddenDependency):
2971         * bindings/v8/V8WindowErrorHandler.cpp:
2972         (WebCore::V8WindowErrorHandler::callListenerFunction):
2973         * bindings/v8/V8WorkerContextErrorHandler.cpp:
2974         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
2975         * bindings/v8/WorkerScriptDebugServer.cpp:
2976         (WebCore::WorkerScriptDebugServer::addListener):
2977
2978 2012-06-28  Vsevolod Vlasov  <vsevik@chromium.org>
2979
2980         Web Inspector: Resource content is not loaded if Resource.requestContent method is called before network request is finished.
2981         https://bugs.webkit.org/show_bug.cgi?id=90153
2982
2983         Reviewed by Yury Semikhatsky.
2984
2985         Test: http/tests/inspector/resource-tree/resource-request-content-while-loading.html
2986
2987         * inspector/front-end/NetworkRequest.js:
2988         * inspector/front-end/Resource.js:
2989         (WebInspector.Resource):
2990         (WebInspector.Resource.prototype.requestContent):
2991         (WebInspector.Resource.prototype._requestFinished):
2992
2993 2012-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2994
2995         Unreviewed, rolling out r121529.
2996         http://trac.webkit.org/changeset/121529
2997         https://bugs.webkit.org/show_bug.cgi?id=90260
2998
2999         Failed to compile on Chromium WebKitMacBuilder (Requested by
3000         keishi on #webkit).
3001
3002         * platform/LocalizedStrings.cpp:
3003         (WebCore):
3004         * platform/graphics/cg/PathCG.cpp:
3005         (WebCore::Path::platformAddPathForRoundedRect):
3006         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
3007         (WebCore::FontPlatformData::FontPlatformData):
3008         (WebCore::FontPlatformData::setFont):
3009         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
3010         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
3011         * platform/graphics/mac/FontMac.mm:
3012         (WebCore::showGlyphsWithAdvances):
3013         * platform/graphics/mac/SimpleFontDataMac.mm:
3014         (WebCore):
3015         * platform/mac/CursorMac.mm:
3016         (WebCore::Cursor::ensurePlatformCursor):
3017         * platform/mac/MemoryPressureHandlerMac.mm:
3018         (WebCore):
3019         * platform/mac/PlatformEventFactoryMac.mm:
3020         (WebCore::momentumPhaseForEvent):
3021         (WebCore::phaseForEvent):
3022         * platform/mac/WebCoreSystemInterface.h:
3023         * platform/mac/WebCoreSystemInterface.mm:
3024         * platform/network/mac/ResourceHandleMac.mm:
3025         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
3026         * platform/network/mac/ResourceRequestMac.mm:
3027         (WebCore::ResourceRequest::doUpdateResourceRequest):
3028         (WebCore::ResourceRequest::doUpdatePlatformRequest):
3029         * platform/text/cf/HyphenationCF.cpp:
3030         * rendering/RenderThemeMac.mm:
3031         (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
3032
3033 2012-06-28  Vsevolod Vlasov  <vsevik@chromium.org>
3034
3035         Web Inspector: Add toggle breakpoint shortcut.
3036         https://bugs.webkit.org/show_bug.cgi?id=90188
3037
3038         Reviewed by Yury Semikhatsky.
3039
3040         * inspector/front-end/JavaScriptSourceFrame.js:
3041         (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
3042         (WebInspector.JavaScriptSourceFrame.prototype._toggleBreakpoint):
3043         (WebInspector.JavaScriptSourceFrame.prototype.toggleBreakpointOnCurrentLine):
3044         * inspector/front-end/ScriptsPanel.js:
3045         (WebInspector.ScriptsPanel.prototype._toggleBreakpoint):
3046         (WebInspector.ScriptsPanel.prototype._showOutlineDialog):
3047         * inspector/front-end/TextViewer.js:
3048         (WebInspector.TextViewer.prototype.selection):
3049
3050 2012-06-28  Vsevolod Vlasov  <vsevik@chromium.org>
3051
3052         Web Inspector: Cursor should follow execution line when debugging.
3053         https://bugs.webkit.org/show_bug.cgi?id=90184
3054
3055         Reviewed by Yury Semikhatsky.
3056
3057         Added TextViewer.setSelection public method to set cursor selection in the editor.
3058         Added TextRange.createFromLocation method to create TextRanges with the same start and end points.
3059         Drive-by: removed unused _setCaretLocation() method in TextViewer.js
3060
3061         * inspector/front-end/JavaScriptSourceFrame.js:
3062         (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
3063         * inspector/front-end/ScriptsPanel.js:
3064         (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
3065         (WebInspector.ScriptsPanel.prototype._editorSelected):
3066         * inspector/front-end/SourceFrame.js:
3067         (WebInspector.SourceFrame.prototype.setSelection):
3068         (WebInspector.SourceFrame.prototype.setContent):
3069         * inspector/front-end/TextEditorModel.js:
3070         (WebInspector.TextRange.createFromLocation):
3071         * inspector/front-end/TextViewer.js:
3072         (WebInspector.TextViewer.prototype.setSelection):
3073         (WebInspector.TextEditorMainPanel.prototype.highlightLine):
3074
3075 2012-06-27  Vsevolod Vlasov  <vsevik@chromium.org>
3076
3077         Web Inspector: IDBObjectStore.autoIncrement flag not exposed
3078         https://bugs.webkit.org/show_bug.cgi?id=89701
3079
3080         Reviewed by Yury Semikhatsky.
3081
3082         Plumbed objectStore.autoIncrement to inspector front-end and added it to tooltip.
3083
3084         * English.lproj/localizedStrings.js:
3085         * inspector/Inspector.json:
3086         * inspector/InspectorIndexedDBAgent.cpp:
3087         (WebCore):
3088         * inspector/front-end/IndexedDBModel.js:
3089         (WebInspector.IndexedDBModel.prototype._loadDatabase.callback):
3090         (WebInspector.IndexedDBModel.prototype._loadDatabase):
3091         (WebInspector.IndexedDBModel.ObjectStore):
3092         * inspector/front-end/ResourcesPanel.js:
3093         (WebInspector.IDBObjectStoreTreeElement.prototype._updateTooltip):
3094
3095 2012-06-28  Alexander Pavlov  <apavlov@chromium.org>
3096
3097         Use floating keyframe rule list when parsing @-webkit-keyframes and allow abrupt rule termination
3098         https://bugs.webkit.org/show_bug.cgi?id=90073
3099
3100         Reviewed by Antti Koivisto.
3101
3102         - The grammar is changed to allow abruptly terminated stylesheet in the @-webkit-keyframes (use closing_brace, not '}').
3103         - A floating StyleKeyframe vector is introduced to separate the creation and filling of StyleRuleKeyframes, as other rules do.
3104
3105         Test: fast/css/css-keyframe-unexpected-end.html
3106
3107         * css/CSSGrammar.y:
3108         * css/CSSParser.cpp:
3109         (WebCore::CSSParser::createFloatingKeyframeVector):
3110         (WebCore):
3111         (WebCore::CSSParser::sinkFloatingKeyframeVector):
3112         (WebCore::CSSParser::createKeyframesRule):
3113         * css/CSSParser.h:
3114
3115 2012-06-26  Yury Semikhatsky  <yurys@chromium.org>
3116
3117         Web Inspector: add character data to the DOM section of native memory view
3118         https://bugs.webkit.org/show_bug.cgi?id=89968
3119
3120         Reviewed by Vsevolod Vlasov.
3121
3122         Count strings referenced from CharacterData node and its descendants
3123         as part of the DOM tree structures in the native memory view.
3124
3125         * dom/CharacterData.cpp:
3126         (WebCore::CharacterData::reportMemoryUsage):
3127         (WebCore):
3128         * dom/CharacterData.h:
3129         (CharacterData):
3130         * dom/MemoryInstrumentation.h:
3131         (MemoryInstrumentation):
3132         (WebCore::MemoryObjectInfo::reportString):
3133         (MemoryObjectInfo):
3134         * inspector/InspectorMemoryAgent.cpp:
3135         (WebCore):
3136         (WebCore::domTreeInfo):
3137         (WebCore::jsExternalResourcesInfo):
3138         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
3139         * inspector/front-end/NativeMemorySnapshotView.js:
3140         (WebInspector.MemoryBlockViewProperties._initialize):
3141
3142 2012-06-29  Eric Seidel  <eric@webkit.org>
3143
3144         Remove more BUILDING_ON_LEOPARD branches now that no port builds on Leopard
3145         https://bugs.webkit.org/show_bug.cgi?id=90252
3146
3147         Reviewed by Ryosuke Niwa.
3148
3149         * platform/LocalizedStrings.cpp:
3150         (WebCore):
3151         * platform/graphics/cg/PathCG.cpp:
3152         (WebCore::Path::platformAddPathForRoundedRect):
3153         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
3154         (WebCore::FontPlatformData::FontPlatformData):
3155         (WebCore::FontPlatformData::setFont):
3156         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
3157         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
3158         * platform/graphics/mac/FontMac.mm:
3159         (WebCore::showGlyphsWithAdvances):
3160         * platform/graphics/mac/SimpleFontDataMac.mm:
3161         (WebCore):
3162         * platform/mac/CursorMac.mm:
3163         (WebCore::Cursor::ensurePlatformCursor):
3164         * platform/mac/MemoryPressureHandlerMac.mm:
3165         (WebCore):
3166         * platform/mac/PlatformEventFactoryMac.mm:
3167         (WebCore::momentumPhaseForEvent):
3168         (WebCore::phaseForEvent):
3169         * platform/mac/WebCoreSystemInterface.h:
3170         * platform/mac/WebCoreSystemInterface.mm:
3171         * platform/network/mac/ResourceHandleMac.mm:
3172         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
3173         * platform/network/mac/ResourceRequestMac.mm:
3174         (WebCore::ResourceRequest::doUpdateResourceRequest):
3175         (WebCore::ResourceRequest::doUpdatePlatformRequest):
3176         * platform/text/cf/HyphenationCF.cpp:
3177         * rendering/RenderThemeMac.mm:
3178         (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
3179
3180 2012-06-27  Vsevolod Vlasov  <vsevik@chromium.org>
3181
3182         Web Inspector: showConsole() should close previous view in drawer.
3183         https://bugs.webkit.org/show_bug.cgi?id=90070
3184
3185         Reviewed by Yury Semikhatsky.
3186
3187         * inspector/front-end/inspector.js:
3188         (WebInspector.showConsole):
3189         (WebInspector.showPanel):
3190
3191 2012-06-29  Ryosuke Niwa  <rniwa@webkit.org>
3192
3193         Remove a #include erroneously added in r120896.
3194
3195         * editing/VisibleSelection.h:
3196
3197 2012-06-29  Yoshifumi Inoue  <yosin@chromium.org>
3198
3199         [Platform] Implement Date Time format parser
3200         https://bugs.webkit.org/show_bug.cgi?id=89963
3201
3202         Reviewed by Kent Tamura.
3203
3204         This patch introduces Unicode TR35 LDML date time format parser for
3205         input type "time" if ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS) is true.
3206
3207         Test: WebKit/chromium/tests/DateTimeFormatTest.cpp
3208
3209         * CMakeLists.txt: Added DateTimeFormat.cpp
3210         * GNUmakefile.list.am: Added DateTimeFormat.{cpp,h}
3211         * Target.pri: ditto
3212         * WebCore.gypi: ditto
3213         * WebCore.vcproj/WebCore.vcproj: ditto
3214         * WebCore.xcodeproj/product.pbxproj: ditto
3215         * platform/text/DateTimeFormat.cpp: Added.
3216         (WebCore::mapCharacterToFieldTypeInternal):
3217         (WebCore::DateTimeFormat::DateTimeFormat):
3218         (WebCore::DateTimeFormat::mapCharacterToFieldType):
3219         (WebCore::DateTimeFormat::parse):
3220         * platform/text/DateTimeFormat.h: Added.
3221         (DateTimeFormat):
3222         (TokenHandler):
3223         (WebCore::DateTimeFormat::TokenHandler::~TokenHandler):
3224
3225 2012-06-29  Eric Seidel  <eric@webkit.org>
3226
3227         Remove more BUILDING_ON_LEOPARD usage in PLATFORM(MAC) code
3228         https://bugs.webkit.org/show_bug.cgi?id=85846
3229
3230         Reviewed by Adam Barth.
3231
3232         PLATFORM(MAC) has not supported Leopard for several months now.
3233         This change removes about 1/3 of the remaining BUILDING_ON_LEOPARD
3234         uses in the PLATFORM(MAC) codepaths.  PLATFORM(CHROMIUM) still
3235         supports BUILDING_ON_LEOPARD for now.
3236
3237         * WebCore.exp.in:
3238         * dom/Document.cpp:
3239         (WebCore::Document::updateRangesAfterChildrenChanged):
3240         (WebCore::Document::nodeChildrenWillBeRemoved):
3241         (WebCore::Document::nodeWillBeRemoved):
3242         (WebCore::Document::textInserted):
3243         (WebCore::Document::textRemoved):
3244         (WebCore::Document::textNodesMerged):
3245         (WebCore::Document::textNodeSplit):
3246         * editing/Editor.cpp:
3247         (WebCore::Editor::respondToChangedSelection):
3248         * editing/TypingCommand.cpp:
3249         (WebCore::TypingCommand::markMisspellingsAfterTyping):
3250         (WebCore::TypingCommand::typingAddedToOpenCommand):
3251         * editing/mac/EditorMac.mm:
3252         (WebCore::Editor::pasteWithPasteboard):
3253         * loader/EmptyClients.h:
3254         (EmptyEditorClient):
3255         * page/ContextMenuController.cpp:
3256         (WebCore::ContextMenuController::contextMenuItemSelected):
3257         (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu):
3258         (WebCore):
3259         (WebCore::ContextMenuController::populate):
3260         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
3261         * page/EditorClient.h:
3262         (EditorClient):
3263         * platform/LocalizedStrings.cpp:
3264         (WebCore::contextMenuItemTagSearchWeb):
3265         * platform/MemoryPressureHandler.cpp:
3266         (WebCore):
3267         * platform/SuddenTermination.h:
3268         (WebCore):
3269         * platform/graphics/ca/GraphicsLayerCA.cpp:
3270         (WebCore::GraphicsLayerCA::updateContentsImage):
3271         (WebCore::GraphicsLayerCA::constrainedSize):
3272         * platform/graphics/ca/PlatformCALayer.h:
3273         (PlatformCALayer):
3274         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
3275         (fromCAValueFunctionType):
3276         (PlatformCAAnimation::valueFunction):
3277         (PlatformCAAnimation::setValueFunction):
3278         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3279         (toCAFilterType):
3280         (PlatformCALayer::anchorPoint):
3281         (PlatformCALayer::setAnchorPoint):
3282         (PlatformCALayer::contentsTransform):
3283         (PlatformCALayer::setContentsTransform):
3284         (PlatformCALayer::isGeometryFlipped):
3285         (PlatformCALayer::setGeometryFlipped):
3286         (PlatformCALayer::acceleratesDrawing):
3287         (PlatformCALayer::setAcceleratesDrawing):
3288         (PlatformCALayer::setMinificationFilter):
3289         (PlatformCALayer::setMagnificationFilter):
3290         (PlatformCALayer::contentsScale):
3291         (PlatformCALayer::setContentsScale):
3292         * platform/graphics/ca/mac/TileCache.mm:
3293         (WebCore::TileCache::setScale):
3294         (WebCore::TileCache::setAcceleratesDrawing):
3295         (WebCore::TileCache::createTileLayer):
3296
3297 2012-06-29  Kwang Yul Seo  <skyul@company100.net>
3298
3299         Use StringBuilder in SegmentedString::toString()
3300         https://bugs.webkit.org/show_bug.cgi?id=90247
3301
3302         Reviewed by Adam Barth.
3303
3304         Use a StringBuilder instead of String concatenation because StringBuilder is generally faster.
3305         No new tests. Covered by existing tests.
3306
3307         * platform/text/SegmentedString.cpp:
3308         (WebCore::SegmentedString::toString):
3309         * platform/text/SegmentedString.h:
3310         (WebCore::SegmentedSubstring::appendTo):
3311
3312 2012-06-28  Ryosuke Niwa  <rniwa@webkit.org>
3313
3314         Mac build fix after r121518.
3315
3316         * WebCore.exp.in:
3317
3318 2012-06-28  Ryosuke Niwa  <rniwa@webkit.org>
3319
3320         DOMHTMLCollection::item may return a wrong element after namedItem is called
3321         https://bugs.webkit.org/show_bug.cgi?id=90240
3322
3323         Reviewed by Antti Koivisto.
3324
3325         The bug was caused by namedItem updating m_cache.current without updating m_cache.position.
3326         Fixed the bug by updating both. This is similar to the bug I fixed in r121478.
3327
3328         WebKit API Test: WebKit1.HTMLCollectionNamedItemTest
3329
3330         * html/HTMLCollection.cpp:
3331         (WebCore::HTMLCollection::namedItem):
3332
3333 2012-06-28  Kentaro Hara  <haraken@chromium.org>
3334
3335         Change argument types of Element::getAttribute*() from String to AtomicString
3336         https://bugs.webkit.org/show_bug.cgi?id=90246
3337
3338         Reviewed by Ryosuke Niwa.
3339
3340         This is a follow-up patch for r121439. r121439 changed an argument type of
3341         Element::getAttribute() from String to AtomicString, which optimized
3342         performance of Dromaeo/dom-attr.html. This patch changes other argument types
3343         of Element::getAttribute*() from String to AtomicString. See the ChangeLog in
3344         http://trac.webkit.org/changeset/121439 for more details about why this change
3345         optimizes performance.
3346
3347         No tests. No change in behavior.
3348
3349         * dom/DatasetDOMStringMap.cpp:
3350         (WebCore::convertPropertyNameToAttributeName):
3351         * dom/Element.cpp:
3352         (WebCore::Element::getAttributeNS):
3353         (WebCore::Element::removeAttribute):
3354         (WebCore::Element::removeAttributeNS):
3355         (WebCore::Element::getAttributeNode):
3356         (WebCore::Element::getAttributeNodeNS):
3357         (WebCore::Element::hasAttribute):
3358         (WebCore::Element::hasAttributeNS):
3359         * dom/Element.h:
3360         (Element):
3361         * dom/ElementAttributeData.cpp:
3362         (WebCore::ElementAttributeData::getAttributeNode):
3363         * dom/ElementAttributeData.h:
3364         (ElementAttributeData):
3365
3366 2012-06-28  Kent Tamura  <tkent@chromium.org>
3367
3368         REGRESSION(r106388): Form hidden element values being restored
3369         incorrectly for dynamically generated content
3370         https://bugs.webkit.org/show_bug.cgi?id=88685
3371
3372         Reviewed by Hajime Morita.
3373
3374         We should not save value attribute updated during parsing.
3375
3376         Test: fast/forms/state-restore-to-non-edited-controls.html
3377
3378         * html/HTMLInputElement.cpp:
3379         (WebCore::HTMLInputElement::HTMLInputElement):
3380         Initialize m_valueAttributeWasUpdatedAfterParsing.
3381         (WebCore::HTMLInputElement::parseAttribute):
3382         Set true to m_valueAttributeWasUpdatedAfterParsing if value
3383         attribute is updated and it's not in parsing.
3384         * html/HTMLInputElement.h:
3385         (WebCore::HTMLInputElement::valueAttributeWasUpdatedAfterParsing):
3386         Added for HiddenInputType.
3387         * html/HiddenInputType.cpp:
3388         (WebCore::HiddenInputType::saveFormControlState):
3389         Save the value only if valueAttributeWasUpdatedAfterParsing() is true.
3390
3391 2012-06-28  MORITA Hajime  <morrita@google.com>
3392
3393         [Refactoring] NodeRenderingContext ctor could be built on top of the ComposedShadowTreeWalker
3394         https://bugs.webkit.org/show_bug.cgi?id=89732
3395
3396         Reviewed by Dimitri Glazkov.
3397
3398         The constructor of NodeRenderingContext implements almost same
3399         logic as ComposedShadowTreeWalker::parent().  This change
3400         eliminates the duplication by employing ComposedShadowTreeWalker in the constructor.
3401
3402         ComposedShadowTreeWalker has same difference from
3403         NodeRenderingContext though. So this change also extends
3404         ComposedShadowTreeWalker to support these missing pieces, which
3405         are encapsulated in newly introduced ParentTranversalDetails
3406         class where:
3407
3408         - not only the parent, but also the insertion point of the child is returned,
3409         - resetStyleInheritance from the child-parent traversal is computed and
3410         - if the starting point is out of the composition, it returns null as a parent.
3411
3412         This change also inlines some ComposedShadowTreeWalker methods for speed.
3413
3414         No new tests. Covered by existing tests.
3415
3416         * WebCore.exp.in:
3417         * dom/ComposedShadowTreeWalker.cpp:
3418         (WebCore::shadowOfParent):
3419         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::didTraverseInsertionPoint):
3420         (WebCore):
3421         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::didTraverseShadowRoot):
3422         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::didFindNode):
3423         (WebCore::ComposedShadowTreeWalker::findParent):
3424         (WebCore::ComposedShadowTreeWalker::escapeFallbackContentElement):
3425         (WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents):
3426         (WebCore::ComposedShadowTreeWalker::traverseParent):
3427         (WebCore::ComposedShadowTreeWalker::traverseParentInCurrentTree):
3428         (WebCore::ComposedShadowTreeWalker::traverseParentBackToYoungerShadowRootOrHost):
3429         * dom/ComposedShadowTreeWalker.h:
3430         (ParentTranversalDetails):
3431         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::ParentTranversalDetails):
3432         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::node):
3433         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::insertionPoint):
3434         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::resetStyleInheritance):
3435         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::outOfComposition):
3436         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::childWasOutOfComposition):
3437         (ComposedShadowTreeWalker):
3438         (WebCore::ComposedShadowTreeWalker::ComposedShadowTreeWalker):
3439         (WebCore):
3440         * dom/NodeRenderingContext.cpp:
3441         (WebCore::NodeRenderingContext::NodeRenderingContext):
3442         (WebCore::NodeRenderingContext::nextRenderer):
3443         (WebCore::NodeRenderingContext::previousRenderer):
3444         (WebCore::NodeRenderingContext::parentRenderer):
3445         (WebCore::NodeRenderingContext::shouldCreateRenderer):
3446         (WebCore::NodeRenderingContext::isOnEncapsulationBoundary):
3447         * dom/NodeRenderingContext.h:
3448         (NodeRenderingContext):
3449         (WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle):
3450         (WebCore::NodeRenderingContext::resetStyleInheritance):
3451         (WebCore::NodeRenderingContext::insertionPoint):
3452
3453 2012-06-28  Stephen White  <senorblanco@chromium.org>
3454
3455         Implement filter url() function.
3456         https://bugs.webkit.org/show_bug.cgi?id=72443
3457
3458         url() references can be internal, in which case the DOM nodes are
3459         retrieved directly from the current document, or external, in which
3460         case a CachedSVGDocument request is made, and the filter node build is
3461         deferred until the document is loaded.  WebKitSVGDocumentValue
3462         holds the CachedSVGDocument (if any) and the URL as a CSSValue,
3463         and is stored in the CSSValue chain as the argument to the reference
3464         filter.
3465
3466         One notable difference between internal and external references is
3467         that internal references will automatically update on an SVG filter node
3468         attribute change, while external references will not, since they live
3469         in a separate document.  This is consistent with the Mozilla
3470         implementation.  In order to make this work, the RenderLayer is made a
3471         client of the RenderSVGResourceContainer, and calls
3472         filterNeedsRepaint() when the SVG nodes are invalidated.
3473
3474         Some plumbing:  The CSS StyleResolver was refactored to load all
3475         all external resources (images, shaders and (now) SVG filters) in a
3476         single function, loadPendingResources().  The PlatformLayer typedef
3477         was moved out into its own file, in order to break a cyclic
3478         dependency.  SVGFilterBuilder was modified to accept the SourceGraphic
3479         and SourceAlpha FilterEffects in its constructor and factory function,
3480         rather than extracting them from the parent Filter.  (This is necessary
3481         so that the url() filter can correctly hook up its inputs from
3482         previous CSS filters.)
3483
3484         Reviewed by Dean Jackson.
3485
3486         Tests: css3/filters/effect-reference-external.html
3487                css3/filters/effect-reference-hw.html
3488                css3/filters/effect-reference-ordering.html
3489                css3/filters/effect-reference.html
3490
3491         * CMakeLists.txt:
3492         * GNUmakefile.list.am:
3493         * Target.pri:
3494         * WebCore.gypi:
3495         * WebCore.vcproj/WebCore.vcproj:
3496         * WebCore.xcodeproj/project.pbxproj:
3497         Add WebKitCSSSVGDocumentValue to the various build files.
3498         * css/CSSComputedStyleDeclaration.cpp:
3499         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
3500         Use the reference filter's url when getting the computed style for
3501         a reference filter.
3502         * css/CSSParser.cpp:
3503         (WebCore::CSSParser::parseFilter):
3504         Create the referenceFilterValue's argument as a
3505         WebKitCSSSVGDocumentValue instead of a CSS string.
3506         * css/CSSValue.cpp:
3507         (WebCore::CSSValue::cssText):
3508         Add support for WebKitCSSSVGDocumentValue.
3509         (WebCore::CSSValue::destroy):
3510         Add support for WebKitCSSSVGDocumentValue.
3511         * css/CSSValue.h:
3512         (WebCore::CSSValue::isWebKitCSSSVGDocumentValue):
3513         Add support for WebKitCSSSVGDocumentValue.
3514         * css/StyleResolver.cpp:
3515         (WebCore::StyleResolver::collectMatchingRulesForList):
3516         Keep track of pending SVG document references, and load them when
3517         necessary.
3518         * css/StyleResolver.h:
3519         * css/WebKitCSSSVGDocumentValue.cpp: Added.
3520         New CSSValue subclass for holding SVG document references.
3521         (WebCore::WebKitCSSSVGDocumentValue::WebKitCSSSVGDocumentValue):
3522         (WebCore::WebKitCSSSVGDocumentValue::~WebKitCSSSVGDocumentValue):
3523         (WebCore::WebKitCSSSVGDocumentValue::load):
3524         (WebCore::WebKitCSSSVGDocumentValue::customCssText):
3525         * css/WebKitCSSSVGDocumentValue.h: Added.
3526         (WebCore::WebKitCSSSVGDocumentValue::create):
3527         (WebCore::WebKitCSSSVGDocumentValue::cachedSVGDocument):
3528         (WebCore::WebKitCSSSVGDocumentValue::url):
3529         (WebCore::WebKitCSSSVGDocumentValue::loadRequested):
3530         * platform/graphics/GraphicsLayer.h:
3531         Refactor PlatformLayer out into its own file, to avoid circular
3532         includes.
3533         * platform/graphics/ImageBuffer.h:
3534         Include PlatformLayer.h instead of GraphicsLayer.h.
3535         * platform/graphics/PlatformLayer.h: Added.
3536         Refactor PlatformLayer out into its own file, to avoid circular
3537         includes.
3538         * platform/graphics/filters/FilterOperation.h:
3539         (WebCore::ReferenceFilterOperation::create):
3540         (WebCore::ReferenceFilterOperation::clone):
3541         (WebCore::ReferenceFilterOperation::url):
3542         (WebCore::ReferenceFilterOperation::fragment):
3543         (ReferenceFilterOperation):
3544         (WebCore::ReferenceFilterOperation::data):
3545         (WebCore::ReferenceFilterOperation::setData):
3546         (WebCore::ReferenceFilterOperation::operator==):
3547         (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
3548         Augment ReferenceFilterOperation to maintain a data pointer,
3549         in order to preserve context while loading external SVG documents.
3550         Replace "reference" with "url" and "fragment" members, in order to
3551         ease retrieval of the appropriate DOM objects.
3552         * platform/graphics/filters/FilterOperations.cpp:
3553         (WebCore::FilterOperations::hasReferenceFilter):
3554         Convenience function for finding reference filters.
3555         * platform/graphics/filters/FilterOperations.h:
3556         (FilterOperations):
3557         * platform/mac/ScrollbarThemeMac.mm:
3558         Include GraphicsLayer.h explicitly, since ImageBuffer.h no longer
3559         includes it (and only includes PlatformLayer.h).
3560         * rendering/FilterEffectRenderer.cpp:
3561         (WebCore::FilterEffectRenderer::buildReferenceFilter):
3562         Utility function to build a FilterEffect node graph for a
3563         ReferenceFilterOperation.
3564         (WebCore::FilterEffectRenderer::build):
3565         Call the above builder function for ReferenceFilterOperations.
3566         * rendering/FilterEffectRenderer.h:
3567         * rendering/RenderLayer.cpp:
3568         (WebCore::RenderLayer::updateOrRemoveFilterEffect):
3569         If we have reference filters, update them along with other filters.
3570         (WebCore::RenderLayer::filterNeedsRepaint):
3571         * rendering/RenderLayerFilterInfo.cpp:
3572         (WebCore::RenderLayerFilterInfo::~RenderLayerFilterInfo):
3573         (WebCore::RenderLayerFilterInfo::notifyFinished):
3574         Implement callback function when external SVGDocuments are loaded.
3575         (WebCore::RenderLayerFilterInfo::updateReferenceFilterClients):
3576         Add the FilterInfo as a client to be called when SVGDocuments are
3577         loaded.
3578         (WebCore::RenderLayerFilterInfo::removeReferenceFilterClients):
3579         Remove this from the list of notified clients.
3580         * rendering/RenderLayerFilterInfo.h:
3581         Add new member vars for tracking internal and external SVG
3582         references, so we can remove ourselves as a client when done.
3583         * rendering/svg/RenderSVGResourceContainer.cpp:
3584         (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
3585         When marking client DOM nodes for repaint, also mark any RenderLayers
3586         referring to this DOM tree via filters as needing repaint.
3587         (WebCore::RenderSVGResourceContainer::addClientRenderLayer):
3588         (WebCore::RenderSVGResourceContainer::removeClientRenderLayer):
3589         * rendering/svg/RenderSVGResourceContainer.h:
3590         Maintain a list of RenderLayer clients on each SVG resource container,
3591         and turn SVG DOM repaint notifications into filter repaint (CSS)
3592         notifications.
3593         * rendering/svg/RenderSVGResourceFilter.cpp:
3594         (WebCore::RenderSVGResourceFilter::buildPrimitives):
3595         Construct a SourceGraphic and SourceAlpha node explicitly for the
3596         SVG builder case.
3597         * svg/graphics/filters/SVGFilterBuilder.cpp:
3598         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
3599         * svg/graphics/filters/SVGFilterBuilder.h:
3600         (WebCore::SVGFilterBuilder::create):
3601         Add the SourceGraphic and SourceAlpha as parameters to the constructor
3602         and create() methods, so they can be supplied by the caller.
3603
3604 2012-06-28  Kenichi Ishibashi  <bashi@chromium.org>
3605
3606         [Chromium] CTFontCopyTable of MacOSX10.5 SDK doesn't work for layout tables
3607         https://bugs.webkit.org/show_bug.cgi?id=90235
3608
3609         Reviewed by Kent Tamura.
3610
3611         Use CGFontCopyTableForTag instead.
3612
3613         No new tests. css3/font-feature-settings-rendering.html should pass. I'll rebase expectations once bots get the result.
3614
3615         * platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp:
3616         (WebCore::harfbuzzCoreTextGetTable):
3617
3618 2012-06-28  Philip Rogers  <pdr@google.com>
3619
3620         Add preventative assert in SVGTRefElement
3621         https://bugs.webkit.org/show_bug.cgi?id=90203
3622
3623         Reviewed by Abhishek Arya.
3624
3625         SVGTRefElement::detachTarget() adds a pending resource via addPendingResource.
3626         Due to some recent bugs in this area, an assert is being added to prevent
3627         users from calling detachTarget when not in a document. Doing
3628         so would create a bug such as in WK90042.
3629
3630         This assert will not fire currently because detachTarget is only called after
3631         a DOMNodeRemovedFromDocumentEvent event fires, which only comes from
3632         dispatchChildRemovalEvents when the node is in a document.
3633
3634         * svg/SVGTRefElement.cpp:
3635         (WebCore::SVGTRefElement::detachTarget):
3636
3637 2012-06-28  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
3638
3639         [Qt] Remove unnecessary AffineTransform calls
3640         https://bugs.webkit.org/show_bug.cgi?id=90178
3641
3642         Reviewed by Noam Rosenthal.
3643
3644         Qt currently ignores the const AffineTransform& parameter on
3645         Pattern::createPlatformPattern, so removing it from all its Qt calls and
3646         changing the function signature if platform is Qt.
3647
3648         * platform/graphics/Pattern.h:
3649         (Pattern):
3650         * platform/graphics/qt/FontQt.cpp:
3651         (WebCore::fillPenForContext):
3652         (WebCore::strokePenForContext):
3653         * platform/graphics/qt/FontQt4.cpp:
3654         (WebCore::fillPenForContext):
3655         (WebCore::strokePenForContext):
3656         * platform/graphics/qt/GraphicsContextQt.cpp:
3657         (WebCore::GraphicsContext::fillPath):
3658         (WebCore::GraphicsContext::strokePath):
3659         (WebCore::drawRepeatPattern):
3660         * platform/graphics/qt/PatternQt.cpp:
3661         (WebCore::Pattern::createPlatformPattern):
3662
3663 2012-06-28  No'am Rosenthal  <noam.rosenthal@nokia.com>
3664
3665         [Qt] When uploading an opaque image to a texture for TextureMapper, unnecessary alpha operations take place
3666         https://bugs.webkit.org/show_bug.cgi?id=90229
3667
3668         Reviewed by Luiz Agostini.
3669
3670         For opaque web content in WebKit2, we use the RGB32 image format. When we special-case
3671         it in GraphicsContext3DQt, we can avoid any alpha operations and perform a regular copy.
3672
3673         Covered existing API tests, as this code path is always used when rendering.
3674
3675         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3676         (WebCore::GraphicsContext3D::getImageData):
3677
3678 2012-06-28  James Robinson  <jamesr@chromium.org>
3679
3680         [chromium] Compile chromium compositor implementation files into separate .lib
3681         https://bugs.webkit.org/show_bug.cgi?id=90233
3682
3683         Reviewed by Adam Barth.
3684
3685         * WebCore.gyp/WebCore.gyp:
3686
3687 2012-06-28  Erik Arvidsson  <arv@chromium.org>
3688
3689         [V8] NodeList wrappers are not kept alive as needed
3690         https://bugs.webkit.org/show_bug.cgi?id=90194
3691
3692         Reviewed by Ojan Vafai.
3693
3694         We need to add custom reachability code for DynamicNodeLists. If the owner of
3695         a DynamicNodeList is reachable then the DynamicNodeList must also be reachable.
3696
3697         Test: fast/dom/NodeList/nodelist-reachable.html
3698
3699         * bindings/v8/custom/V8NodeListCustom.cpp:
3700         (WebCore::V8NodeList::visitDOMWrapper): AddImplicitReferences from the owner wrapper.
3701         (WebCore):
3702         * dom/NodeList.idl:
3703
3704 2012-06-28  Elliott Sprehn  <esprehn@gmail.com>
3705
3706         frameborder="no" on frameset is ignored if border attribute set
3707         https://bugs.webkit.org/show_bug.cgi?id=17767
3708
3709         Reviewed by Tony Chang.
3710
3711         Fixes <frameset> frameborder and border handling. Previously we'd
3712         override the frameborder=no setting if border was set. We also
3713         treated frameborder="anything" the same as frameborder=0 since we
3714         we just converted it to a number so frameborder=yes was incorrectly
3715         treated the same as frameborder=no.
3716
3717         Tests: fast/frames/frameset-frameborder-boolean-values.html
3718                fast/frames/frameset-frameborder-inheritance.html
3719                fast/frames/frameset-frameborder-overrides-border.html
3720
3721         * html/HTMLFrameSetElement.cpp: Proper parsing of yes,no,1,0 values.
3722         (WebCore::HTMLFrameSetElement::parseAttribute):
3723         * html/HTMLFrameSetElement.h:
3724         (WebCore::HTMLFrameSetElement::border): Border should be 0 if frameborder=no.
3725
3726 2012-06-28  Joshua Bell  <jsbell@chromium.org>
3727
3728         IndexedDB: Implement IDBTransaction internal active flag
3729         https://bugs.webkit.org/show_bug.cgi?id=89379
3730
3731         Reviewed by Tony Chang.
3732
3733         IDB transactions should only be "active" during IDB success/error callbacks;
3734         attempts to make new requests otherwise (e.g. in a setTimeout callback)
3735         should fail even if the transaction has not yet finished. Implement this logic,
3736         and the closely related requirement that transactions are deactivated when
3737         the context they were created in returns to the event loop, and finally that
3738         when so deactivated they should commit rather than abort (as previously
3739         implemented) if no requests have been filed.
3740
3741         Tests: storage/indexeddb/transaction-active-flag.html
3742                storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html
3743                storage/indexeddb/transaction-complete-with-js-recursion.html
3744                storage/indexeddb/transaction-complete-workers.html
3745
3746         * Modules/indexeddb/IDBPendingTransactionMonitor.cpp: Simplify API.
3747         (WebCore::transactions):
3748         (WebCore::IDBPendingTransactionMonitor::addNewTransaction):
3749         (WebCore::IDBPendingTransactionMonitor::deactivateNewTransactions):
3750         * Modules/indexeddb/IDBPendingTransactionMonitor.h:
3751         (WebCore):
3752         (IDBPendingTransactionMonitor):
3753         * Modules/indexeddb/IDBRequest.cpp: Unregisters from transaction when done,
3754         not on destruction. No longer responsible for working with the pending monitor.
3755         (WebCore::IDBRequest::IDBRequest):
3756         (WebCore::IDBRequest::~IDBRequest):
3757         (WebCore::IDBRequest::markEarlyDeath):
3758         (WebCore::IDBRequest::resetReadyState):
3759         (WebCore::IDBRequest::onSuccess):
3760         (WebCore::IDBRequest::dispatchEvent): Set active flag on transaction during callback.
3761         * Modules/indexeddb/IDBTransaction.cpp: Use state enum to better track lifecycle, and
3762         take ownership of relationship with pending monitor.
3763         (WebCore::IDBTransaction::IDBTransaction): Special cases for version change
3764         transactions.
3765         (WebCore::IDBTransaction::~IDBTransaction):
3766         (WebCore::IDBTransaction::error):
3767         (WebCore::IDBTransaction::setError):
3768         (WebCore::IDBTransaction::objectStore):
3769         (WebCore::IDBTransaction::objectStoreCreated):
3770         (WebCore::IDBTransaction::objectStoreDeleted):
3771         (WebCore::IDBTransaction::setActive): Let IDBRequest and IDBPendingTransactionMonitor
3772         toggle the active state. Needs some smarts because (1) state may move to Finishing during
3773         the request's dispatch phase due to an implicit/explicit abort, and (2) a monitor call
3774         will only trigger a commit if the transaction hasn't had any requests filed.
3775         (WebCore):
3776         (WebCore::IDBTransaction::abort):
3777         (WebCore::IDBTransaction::registerRequest):
3778         (WebCore::IDBTransaction::unregisterRequest):
3779         (WebCore::IDBTransaction::onAbort):
3780         (WebCore::IDBTransaction::onComplete):
3781         (WebCore::IDBTransaction::hasPendingActivity):
3782         (WebCore::IDBTransaction::dispatchEvent):
3783         (WebCore::IDBTransaction::canSuspend):
3784         (WebCore::IDBTransaction::enqueueEvent):
3785         * Modules/indexeddb/IDBTransaction.h:
3786         (WebCore::IDBTransaction::isFinished):
3787         (IDBTransaction):
3788         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
3789         (WebCore::IDBTransactionBackendImpl::commit): Allow explicit commit() calls from the front end
3790         if no requests have been filed.
3791         * Modules/indexeddb/IDBTransactionBackendInterface.h:
3792         (IDBTransactionBackendInterface): Expose commit() method.
3793         * bindings/js/JSMainThreadExecState.cpp:
3794         (WebCore::JSMainThreadExecState::didLeaveScriptContext): Change target function name.
3795         * bindings/v8/V8RecursionScope.cpp:
3796         (WebCore::V8RecursionScope::didLeaveScriptContext): Change target function name.
3797
3798 2012-06-28  Philip Rogers  <pdr@google.com>
3799
3800         Prevent crash in animate resource handling
3801         https://bugs.webkit.org/show_bug.cgi?id=90042
3802
3803         Reviewed by Abhishek Arya.
3804
3805         This patch adds a check that we are in a document before registering animation
3806         resources and creating a target element in SVGSMILElement. This prevents a crash where
3807         we would register resources and create the target when we were not in a document
3808         but fail to deregister / reset the target when we were removed from a document.
3809         In failing to reset the target, we can crash when trying to deregister resources that
3810         were not created after being inserted into a document and then removed.
3811
3812         The existence of m_targetResources and registered animation resources is now
3813         tied to being in a document.
3814
3815         Test: svg/custom/animate-reference-crash.html
3816
3817         * svg/animation/SVGSMILElement.cpp:
3818         (WebCore::SVGSMILElement::targetElement):
3819
3820 2012-06-28  Joshua Bell  <jsbell@chromium.org>
3821
3822         IndexedDB: IDBDatabase should have a close pending field.
3823         https://bugs.webkit.org/show_bug.cgi?id=71129
3824
3825         Reviewed by Tony Chang.
3826
3827         Handle the IDB spec case that "versionchange" events should not be fired 
3828         against connections that have the internal "closePending" flag set but 
3829         are not yet closed due to running transactions.
3830
3831         Test: storage/indexeddb/database-closepending-flag.html
3832
3833         * Modules/indexeddb/IDBDatabase.cpp:
3834         (WebCore::IDBDatabase::onVersionChange):
3835
3836 2012-06-28  Adrienne Walker  <enne@google.com>
3837
3838         [chromium] Split WebScrollbar into WebPluginScrollbar and WebScrollbar
3839         https://bugs.webkit.org/show_bug.cgi?id=90117
3840
3841         Reviewed by James Robinson.
3842
3843         Make WebCore also depend on Platform.
3844
3845         * WebCore.gyp/WebCore.gyp:
3846
3847 2012-06-28  Hayato Ito  <hayato@chromium.org>
3848
3849         CompositeShadowTreeWalker should use InsertionPoint::hasDistribution() instead of InsertionPoint::isActive().
3850         https://bugs.webkit.org/show_bug.cgi?id=89177
3851
3852         Reviewed by Dimitri Glazkov.
3853
3854         Prevents ComposedShadowTreeWalker from escaping out of an
3855         insertion point (which has distributed nodes) from a non-used
3856         fallback element in the insertion point.  Such a fallback element
3857         should be treated as in an orphaned subtree.
3858
3859         ComposedShadowTreeParentWalker will be also fixed in a follow-up patch.
3860
3861         Test: fast/dom/shadow/composed-shadow-tree-walker.html
3862
3863         * dom/ComposedShadowTreeWalker.cpp:
3864         (WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents):
3865
3866 2012-06-27  Ryosuke Niwa  <rniwa@webkit.org>
3867
3868         Cleanup HTMLFormCollection
3869         https://bugs.webkit.org/show_bug.cgi?id=90111
3870
3871         Reviewed by Andreas Kling.
3872
3873         Got rid of getNamedItem and renamed getNamedFormItem to firstNamedItem and got rid of duplicateNumber argument since
3874         it's always 0. Also made it a static local function. In addition, removed nextItem() since it's not used anywhere.
3875
3876         WebKit API Test: WebKit1.HTMLFormCollectionNamedItemTest
3877
3878         * html/HTMLFormCollection.cpp:
3879         (WebCore::firstNamedItem):
3880         (WebCore):
3881         (WebCore::HTMLFormCollection::namedItem):
3882         * html/HTMLFormCollection.h:
3883         (HTMLFormCollection):
3884
3885 2012-06-28  Alec Flett  <alecflett@chromium.org>
3886
3887         IndexedDB: Hook up render-side key ASSERTing for get()
3888         https://bugs.webkit.org/show_bug.cgi?id=90001
3889
3890         Reviewed by Tony Chang.
3891
3892         Hook up the new onSuccess and add it to the interface. For now,
3893         simply assert that the right value is set. Add the same assertion
3894         logic in the value-construction logic when the cursor advances.
3895
3896         No new tests, existing tests verify this refactor is correct.
3897
3898         * Modules/indexeddb/IDBCallbacks.h:
3899         (IDBCallbacks):
3900         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3901         (WebCore::IDBObjectStoreBackendImpl::getInternal):
3902         * Modules/indexeddb/IDBRequest.cpp:
3903         (WebCore):
3904         (WebCore::IDBRequest::onSuccess):
3905         * Modules/indexeddb/IDBRequest.h:
3906         * bindings/v8/IDBBindingUtilities.cpp:
3907         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
3908         * inspector/InspectorIndexedDBAgent.cpp:
3909         (WebCore):
3910
3911 2012-06-28  Gregg Tavares  <gman@google.com>
3912
3913         Add support for DEPTH_STENCIL to WEBGL_depth_texture
3914         https://bugs.webkit.org/show_bug.cgi?id=90109
3915
3916         Reviewed by Kenneth Russell.
3917
3918         * html/canvas/WebGLDepthTexture.idl:
3919         * html/canvas/WebGLFramebuffer.cpp:
3920         * html/canvas/WebGLRenderingContext.cpp:
3921         (WebCore):
3922         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
3923
3924 2012-06-28  James Robinson  <jamesr@chromium.org>
3925
3926         [chromium] Move chromium compositor implementation files into separate section in WebCore.gypi
3927         https://bugs.webkit.org/show_bug.cgi?id=90201
3928
3929         Reviewed by Adam Barth.
3930
3931         This moves the chromium compositor implementation files to a separate gyp variable to make future changes
3932         easier. The files still all link into webcore_platform.lib, as before.
3933
3934         * WebCore.gyp/WebCore.gyp:
3935         * WebCore.gypi:
3936
3937 2012-06-28  Christophe Dumez  <christophe.dumez@intel.com>
3938
3939         [EFL] Use Eina_Module API instead of dlopen in PluginPackageEfl
3940         https://bugs.webkit.org/show_bug.cgi?id=89972
3941
3942         Reviewed by Antonio Gomes.
3943
3944         Use convenience helpers in Eina_Module to load plugins instead
3945         of POSIX dlopen().
3946
3947         No new tests, behavior has not changed.
3948
3949         * platform/FileSystem.h:
3950         (WebCore):
3951         * platform/efl/FileSystemEfl.cpp:
3952         (WebCore::unloadModule):
3953         * plugins/efl/PluginPackageEfl.cpp:
3954         (WebCore::PluginPackage::load):
3955
3956 2012-06-28  Jocelyn Turcotte  <turcotte.j@gmail.com>
3957
3958         [Qt] Fix TextureMapper rendering of GraphicsSurface on Mac
3959         https://bugs.webkit.org/show_bug.cgi?id=90154
3960
3961         Reviewed by Noam Rosenthal.
3962
3963         Fix a regression introduced in r120608.
3964         texture2DRect takes texel coordinates, unlike texture2D which needs normalized coordinates.
3965
3966         Pass an additional textureSize uniform and multiply it by the normalized coordinates.
3967
3968         * platform/graphics/texmap/TextureMapperGL.cpp:
3969         (WebCore::TextureMapperGL::drawTextureRectangleARB):
3970         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
3971         (WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram):
3972         (WebCore::TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple):
3973         * platform/graphics/texmap/TextureMapperShaderManager.h:
3974         (WebCore::TextureMapperShaderProgram::textureSizeLocation):
3975         (TextureMapperShaderProgram):
3976
3977 2012-06-28  Simon Fraser  <simon.fraser@apple.com>
3978
3979         Improve compositing logging output
3980         https://bugs.webkit.org/show_bug.cgi?id=90199
3981
3982         Reviewed by Tim Horton (w00t!).
3983
3984         Improve the compositing logging channel output in a few
3985         useful ways:
3986         1. Report memory use, rather than megapixels
3987         2. Show element class names
3988
3989         * platform/graphics/GraphicsLayer.cpp:
3990         (WebCore::GraphicsLayer::backingStoreMemoryEstimate):
3991         * platform/graphics/GraphicsLayer.h:
3992         (GraphicsLayer):
3993         * platform/graphics/ca/GraphicsLayerCA.cpp:
3994         (WebCore::GraphicsLayerCA::backingStoreMemoryEstimate):
3995         * platform/graphics/ca/GraphicsLayerCA.h:
3996         (GraphicsLayerCA):
3997         * rendering/RenderLayerBacking.cpp:
3998         (WebCore::RenderLayerBacking::nameForLayer):
3999         (WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
4000         * rendering/RenderLayerBacking.h:
4001         (RenderLayerBacking):
4002         * rendering/RenderLayerCompositor.cpp:
4003         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
4004         (WebCore::RenderLayerCompositor::updateCompositingLayers):
4005         (WebCore::RenderLayerCompositor::logLayerInfo):
4006         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
4007         * rendering/RenderLayerCompositor.h:
4008         (RenderLayerCompositor):
4009
4010 2012-06-28  James Robinson  <jamesr@chromium.org>
4011
4012         [chromium] Fix up more includes in compositor code
4013         https://bugs.webkit.org/show_bug.cgi?id=90200
4014
4015         Reviewed by Adrienne Walker.
4016
4017         Adds includes we are using and removes ones that we aren't using.
4018
4019         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
4020         * platform/graphics/chromium/ContentLayerChromium.cpp:
4021         * platform/graphics/chromium/ProgramBinding.cpp:
4022         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
4023         * platform/graphics/chromium/cc/CCGraphicsContext.h:
4024         * platform/graphics/chromium/cc/CCRenderSurface.h:
4025         (WebCore):
4026         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
4027
4028 2012-06-28  Andrei Onea  <onea@adobe.com>
4029
4030         [CSSRegions]Rename NamedFlow::contentNodes to NamedFlow::getContent()
4031         https://bugs.webkit.org/show_bug.cgi?id=90163
4032
4033         Reviewed by Andreas Kling.
4034
4035         Latest CSS Regions&n