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