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