Text Autosizing: Multiply large fonts less, as they are already more legible.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-23  John Mellor  <johnme@chromium.org>
2
3         Text Autosizing: Multiply large fonts less, as they are already more legible.
4         https://bugs.webkit.org/show_bug.cgi?id=94227
5
6         Reviewed by Kenneth Rohde Christiansen.
7
8         Rather than uniformly multiplying font sizes by the multiplier (derived
9         from the width of the block), we should multiply fonts that are already
10         large less, since they are already more legible hence there is less need
11         for them to grow.
12
13         However it is still important to maintain differentiation between text
14         that the author specified to be of different sizes.
15
16         This algorithm multiplies text by the multiplier up until a predefined
17         "pleasant" font size; beyond that the computedSize goes up with
18         specifiedSize but at a gradient of less than 1 in order to gradually
19         fade out the size increase; finally for very large specifiedSizes the
20         computedSize will be the same as the specifiedSize.
21
22         For further details, including a graph, please see the bug report.
23
24         Test: fast/text-autosizing/various-font-sizes.html
25
26         * rendering/TextAutosizer.cpp:
27         (WebCore::TextAutosizer::computeAutosizedFontSize):
28
29             Implements the custom multiplication. See comment for details.
30
31         * rendering/style/RenderStyle.cpp:
32         (WebCore::RenderStyle::lineHeight):
33
34             Use computeAutosizedFontSize instead of directly multiplying.
35
36         (WebCore::RenderStyle::setFontSize):
37
38             Use computeAutosizedFontSize instead of directly multiplying.
39
40 2012-08-23  Emil A Eklund  <eae@chromium.org>
41
42         Remove dependency on RenderStyle from FractionalLayoutBoxExtent and LayoutBox
43         https://bugs.webkit.org/show_bug.cgi?id=94146
44
45         Reviewed by Eric Seidel.
46
47         FractionalLayoutBoxExtent and LayoutBox currently have a dependency on
48         RenderStyle to resolve writing mode and text direction.
49         This is undesirable and breaks encapsulation.
50
51         Change FractionalLayoutBoxExtent and LengthBox to take a writing mode
52         parameter, and text direction as needed, instead of a pointer to a
53         RenderStyle object.
54
55         No new tests, no change in functionality.
56
57         * WebCore.gypi:
58         * WebCore.vcproj/WebCore.vcproj:
59         * WebCore.xcodeproj/project.pbxproj:
60         Add new WritingMode.h file.
61         
62         * css/CSSPrimitiveValueMappings.h:
63         * css/CSSProperty.h:
64         * css/CSSToStyleMap.h:
65         Change includes as needed.
66
67         * platform/LengthBox.h:
68         * platform/LengthBox.cpp:
69         (WebCore::LengthBox::logicalLeft):
70         (WebCore::LengthBox::logicalRight):
71         (WebCore::LengthBox::before):
72         (WebCore::LengthBox::after):
73         Change methods to take a WirtingMode parameter instead of a RenderStyle pointer.
74         
75         (WebCore::LengthBox::start):
76         (WebCore::LengthBox::end):
77         Change methods to take WritingMode and TextDirection parameters instead of a RenderStyle pointer.
78         
79         * platform/graphics/FractionalLayoutBoxExtent.h:
80         * platform/graphics/FractionalLayoutBoxExtent.cpp:
81         (WebCore::FractionalLayoutBoxExtent::logicalTop):
82         (WebCore::FractionalLayoutBoxExtent::logicalBottom):
83         (WebCore::FractionalLayoutBoxExtent::logicalLeft):
84         (WebCore::FractionalLayoutBoxExtent::logicalRight):
85         (WebCore::FractionalLayoutBoxExtent::before):
86         (WebCore::FractionalLayoutBoxExtent::after):
87         (WebCore::FractionalLayoutBoxExtent::setBefore):
88         (WebCore::FractionalLayoutBoxExtent::setAfter):
89         (WebCore::FractionalLayoutBoxExtent::mutableLogicalLeft):
90         (WebCore::FractionalLayoutBoxExtent::mutableLogicalRight):
91         (WebCore::FractionalLayoutBoxExtent::mutableBefore):
92         (WebCore::FractionalLayoutBoxExtent::mutableAfter):
93         Change methods to take a WritingMode parameter instead of a RenderStyle pointer.
94
95         (WebCore::FractionalLayoutBoxExtent::start):
96         (WebCore::FractionalLayoutBoxExtent::end):
97         (WebCore::FractionalLayoutBoxExtent::setStart):
98         (WebCore::FractionalLayoutBoxExtent::setEnd):
99         Change methods to take WritingMode and TextDirection parameters instead of a RenderStyle pointer.
100
101         * platform/text/TextDirection.h:
102         (WebCore::isLeftToRightDirection):
103         Add convenience method.
104         
105         * platform/text/WritingMode.h: Added.
106         Move WritingMode enum from RenderStyleConstants to new file.
107         
108         (WebCore::isHorizontalWritingMode):
109         (WebCore::isFlippedLinesWritingMode):
110         (WebCore::isFlippedBlocksWritingMode):
111         Add convenience methods for working with writing modes.
112         
113         * rendering/InlineFlowBox.cpp:
114         * rendering/RenderBox.cpp:
115         * rendering/RenderBox.h:
116         * rendering/style/RenderStyle.h:
117         Update calls to FractionalLayoutBoxExtent/LengthBox to pass WritingMode/
118         TextDirection as needed.
119
120         * rendering/style/RenderStyleConstants.h:
121         Remove WritingMode enum as it is now in a dedicated file.
122
123 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
124
125         Web Inspector: introduce canFilter on panel (otherwise we check for function existence).
126         https://bugs.webkit.org/show_bug.cgi?id=94820
127
128         Reviewed by Alexander Pavlov.
129
130         Drive-by: fix for network panel sorting null pointer access.
131
132         * inspector/front-end/NetworkPanel.js:
133         (WebInspector.NetworkPanel.prototype.performSearch):
134         (WebInspector.NetworkPanel.prototype.canFilter):
135         * inspector/front-end/Panel.js:
136         (WebInspector.Panel.prototype.replaceAllWith):
137         (WebInspector.Panel.prototype.canFilter):
138         (WebInspector.Panel.prototype.performFilter):
139         * inspector/front-end/SearchController.js:
140         (WebInspector.SearchController.prototype._updateFilterVisibility):
141         (WebInspector.SearchController.prototype._performFilter):
142
143 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
144
145         Web Inspector: introduce TimelineGrid.Calculator interface.
146         https://bugs.webkit.org/show_bug.cgi?id=94819
147
148         Reviewed by Alexander Pavlov.
149
150         This way we can compile TimelineGrid properly.
151
152         * inspector/front-end/MemoryStatistics.js:
153         (WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes):
154         * inspector/front-end/TimelineGrid.js:
155         (WebInspector.TimelineGrid.prototype.updateDividers):
156         (WebInspector.TimelineGrid.Calculator):
157         (WebInspector.TimelineGrid.Calculator.prototype.computePosition):
158         (WebInspector.TimelineGrid.Calculator.prototype.formatTime):
159         (WebInspector.TimelineGrid.Calculator.prototype.minimumBoundary):
160         (WebInspector.TimelineGrid.Calculator.prototype.maximumBoundary):
161         (WebInspector.TimelineGrid.Calculator.prototype.boundarySpan):
162         * inspector/front-end/TimelineOverviewPane.js:
163         (WebInspector.TimelineOverviewCalculator.prototype.computePosition):
164         (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
165         (WebInspector.TimelineOverviewCalculator.prototype.setWindow):
166         (WebInspector.TimelineOverviewCalculator.prototype.formatTime):
167         (WebInspector.TimelineOverviewCalculator.prototype.maximumBoundary):
168         (WebInspector.TimelineOverviewCalculator.prototype.minimumBoundary):
169         (WebInspector.TimelineOverviewCalculator.prototype.boundarySpan):
170         * inspector/front-end/TimelinePanel.js:
171         (WebInspector.TimelinePanel.prototype._shouldShowFrames):
172         (WebInspector.TimelineCalculator.prototype.computePosition):
173         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
174         (WebInspector.TimelineCalculator.prototype.setWindow):
175         (WebInspector.TimelineCalculator.prototype.formatTime):
176         (WebInspector.TimelineCalculator.prototype.maximumBoundary):
177         (WebInspector.TimelineCalculator.prototype.minimumBoundary):
178         (WebInspector.TimelineCalculator.prototype.boundarySpan):
179
180 2012-08-23  David Reveman  <reveman@chromium.org>
181
182         [Chromium] Unnecessary delay when starting to update resources with an inactive vsync timer.
183         https://bugs.webkit.org/show_bug.cgi?id=94719
184
185         Reviewed by James Robinson.
186
187         Replace nextTickTime() with nextTickTimeIfActivated() and return
188         appropriate value when timer is inactive.
189
190         No new tests.
191
192         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
193         (WebCore::CCDelayBasedTimeSource::nextTickTimeIfActivated):
194         (WebCore::CCDelayBasedTimeSource::nextTickTarget):
195         (WebCore):
196         (WebCore::CCDelayBasedTimeSource::postNextTickTask):
197         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
198         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
199         (WebCore::CCFrameRateController::nextTickTimeIfActivated):
200         * platform/graphics/chromium/cc/CCFrameRateController.h:
201         (CCFrameRateController):
202         * platform/graphics/chromium/cc/CCScheduler.cpp:
203         (WebCore::CCScheduler::processScheduledActions):
204         * platform/graphics/chromium/cc/CCTimeSource.h:
205         (CCTimeSource):
206
207 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
208
209         Web Inspector: make treeoutline.js compiler-friendly
210         https://bugs.webkit.org/show_bug.cgi?id=94818
211
212         Reviewed by Alexander Pavlov.
213
214         This change declares base methods on TreeElement so that we did not need to check for their existence.
215
216         * inspector/front-end/AdvancedSearchController.js:
217         (WebInspector.FileBasedSearchResultsPane.prototype._appendShowMoreMatchesElement):
218         (WebInspector.FileBasedSearchResultsPane.prototype._addFileTreeElement):
219         * inspector/front-end/ElementsTreeOutline.js:
220         (WebInspector.ElementsTreeElement.prototype.onselect):
221         * inspector/front-end/SidebarPane.js:
222         (WebInspector.SidebarPane.prototype.expand):
223         (WebInspector.SidebarPane.prototype.onexpand):
224         (WebInspector.SidebarPane.prototype.collapse):
225         * inspector/front-end/treeoutline.js:
226         (TreeOutline.prototype._treeKeyDown):
227         (TreeOutline.prototype._searchInputKeyDown):
228         (TreeElement.prototype._fireDidChange):
229         (TreeElement.prototype._attach):
230         (TreeElement.treeElementDoubleClicked):
231         (TreeElement.prototype.collapse):
232         (TreeElement.prototype.expand):
233         (TreeElement.prototype.reveal):
234         (TreeElement.prototype.select):
235         (TreeElement.prototype.deselect):
236         (TreeElement.prototype.onpopulate):
237         (TreeElement.prototype.onenter):
238         (TreeElement.prototype.ondelete):
239         (TreeElement.prototype.onspace):
240         (TreeElement.prototype.onattach):
241         (TreeElement.prototype.onexpand):
242         (TreeElement.prototype.oncollapse):
243         (TreeElement.prototype.ondblclick):
244         (TreeElement.prototype.onreveal):
245         (TreeElement.prototype.onselect):
246
247 2012-08-23  Yury Semikhatsky  <yurys@chromium.org>
248
249         Web Inspector: use temporary directory for modules generated by compile-front-end.py
250         https://bugs.webkit.org/show_bug.cgi?id=94804
251
252         Reviewed by Pavel Feldman.
253
254         Create temporary directory for generated js modules and remove the directory
255         after the compilation.
256
257         * inspector/compile-front-end.py:
258
259 2012-08-23  Simon Hausmann  <simon.hausmann@nokia.com>
260
261         [Qt] Fix make install on Windows
262         https://bugs.webkit.org/show_bug.cgi?id=94816
263
264         Reviewed by Laszlo Gombos.
265
266         This old left-over rule for Windows to add dlltarget to INSTALLS caused
267         various bugs: WebCore's Makefile had an actual install target that
268         tried to install the WebCore static library and it also screwed up
269         api.pri's install rule by overriding what is usually set up for qt
270         modules, i.e. the install path was missing INSTALL_ROOT. We don't need
271         these rules at all, the default qmake features take care of setting up
272         target install rules accordingly.
273
274         * WebCore.pri:
275
276 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
277
278         Web Inspector: extract ParsedURL into a separate file.
279         https://bugs.webkit.org/show_bug.cgi?id=94817
280
281         Reviewed by Alexander Pavlov.
282
283         * WebCore.gypi:
284         * WebCore.vcproj/WebCore.vcproj:
285         * inspector/compile-front-end.py:
286         * inspector/front-end/AuditRules.js:
287         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
288         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
289         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
290         * inspector/front-end/DefaultTextEditor.js:
291         (WebInspector.TextEditorMainPanel.prototype._rewriteHref):
292         * inspector/front-end/ParsedURL.js: Added.
293         (WebInspector.ParsedURL):
294         (WebInspector.ParsedURL.completeURL):
295         (WebInspector.ParsedURL.prototype.get displayName):
296         (String.prototype.asParsedURL):
297         * inspector/front-end/ResourceUtils.js:
298         (WebInspector.resourceURLForRelatedNode):
299         * inspector/front-end/StylesSidebarPane.js:
300         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
301         * inspector/front-end/WebKit.qrc:
302         * inspector/front-end/inspector.html:
303
304 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
305
306         Web Inspector: register context menu providers for lazily loaded panels.
307         https://bugs.webkit.org/show_bug.cgi?id=94812
308
309         Reviewed by Alexander Pavlov.
310
311         - Panel descriptors now register providers that lazily load panels on demand.
312         - Removed custom profiles context provider infrastructure in favor of generic one.
313
314         * WebCore.gypi:
315         * WebCore.vcproj/WebCore.vcproj:
316         * inspector/compile-front-end.py:
317         * inspector/front-end/NetworkPanel.js:
318         (WebInspector.NetworkPanel):
319         * inspector/front-end/NetworkPanelDescriptor.js: Added.
320         (WebInspector.NetworkPanelDescriptor):
321         (WebInspector.NetworkPanelDescriptor.prototype.appendApplicableItems):
322         * inspector/front-end/ObjectPropertiesSection.js:
323         (WebInspector.ObjectPropertiesSection.prototype._contextMenuEventFired):
324         * inspector/front-end/ProfilesPanel.js:
325         (WebInspector.ProfilesPanel):
326         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
327         (WebInspector.ProfilesPanel.prototype.appendApplicableItems.didReceiveHeapObjectId):
328         (WebInspector.ProfilesPanel.prototype.appendApplicableItems):
329         * inspector/front-end/ScriptsPanel.js:
330         (WebInspector.ScriptsPanel):
331         * inspector/front-end/ScriptsPanelDescriptor.js: Added.
332         (WebInspector.ScriptsPanelDescriptor):
333         (WebInspector.ScriptsPanelDescriptor.prototype.appendApplicableItems):
334         * inspector/front-end/WebKit.qrc:
335         * inspector/front-end/inspector.html:
336         * inspector/front-end/inspector.js:
337         (WebInspector._panelDescriptors):
338
339 2012-08-23  Carlos Garcia Campos  <cgarcia@igalia.com>
340
341         Unreviewed. Fix make distcheck.
342
343         * GNUmakefile.am: Add idl files in Modules/quota to EXTRA_DIST.
344         * GNUmakefile.list.am: Add missing files to compilation.
345
346 2012-08-23  Carlos Garcia Campos  <cgarcia@igalia.com>
347
348         REGRESSION(r126306): it broke the plugin process
349         https://bugs.webkit.org/show_bug.cgi?id=94797
350
351         Reviewed by Xan Lopez.
352
353         * GNUmakefile.am:
354         * GNUmakefile.list.am:
355
356 2012-08-23  Simon Hausmann  <simon.hausmann@nokia.com>
357
358         Unreviewed trivial build fix for Qt/Mac on OS X 10.6: Avoid using an
359         enum value that clashes with an existing class name that's used in the
360         same file.
361
362         * bridge/qt/qt_runtime.cpp:
363         (JSC::Bindings::valueRealType):
364         (JSC::Bindings::convertValueToQVariant):
365
366 2012-08-22  Patrick Gansterer  <paroga@webkit.org>
367
368         Build fix for WinCE after r126359.
369
370         * rendering/RenderThemeWinCE.cpp:
371
372 2012-08-23  Dominic Cooney  <dominicc@chromium.org>
373
374         Unreviewed, rolling out r126391.
375         http://trac.webkit.org/changeset/126391
376         https://bugs.webkit.org/show_bug.cgi?id=94302
377
378         Breaks Chromium browser_tests AccessibilityFooter,
379         AccessibilityListMarkers, AccessibilityUI
380
381         * accessibility/AccessibilityNodeObject.cpp:
382         * accessibility/AccessibilityNodeObject.h:
383         (AccessibilityNodeObject):
384         * accessibility/AccessibilityObject.cpp:
385         * accessibility/AccessibilityObject.h:
386         (AccessibilityObject):
387         * accessibility/AccessibilityRenderObject.cpp:
388         (WebCore::AccessibilityRenderObject::title):
389         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
390         (WebCore::AccessibilityRenderObject::isDescendantOfElementType):
391         * accessibility/AccessibilityRenderObject.h:
392         (AccessibilityRenderObject):
393
394 2012-08-23  Andrey Adaikin  <aandrey@chromium.org>
395
396         Web Inspector: [WebGL] Allow collecting calls for Resource objects affecting their states
397         https://bugs.webkit.org/show_bug.cgi?id=94686
398
399         Reviewed by Pavel Feldman.
400
401         Allow collecting calls for WebGL Resource objects affecting their states.
402         Clone Call's mutable arguments before pushing it to the log.
403
404         * inspector/InjectedScriptWebGLModuleSource.js:
405         (.):
406
407 2012-08-23  Robin Cao  <robin.cao@torchmobile.com.cn>
408
409         [BlackBerry] draw <video> on <canvas> does not work
410         https://bugs.webkit.org/show_bug.cgi?id=94791
411         PR #195866
412
413         Reviewed by George Staikos.
414
415         Re-implement MediaPlayerPrivate::paintCurrentFrameInContext() in the
416         blackberry port. This method is mainly called from <canvas>, and it
417         is supposed to paint video frames using software rendering path.
418
419         On the other hand, MediaPlayerPrivate::paint() will choose accelerated
420         rendering if possible.
421
422         media/video-canvas-alpha.html covers this.
423
424         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
425         (WebCore::MediaPlayerPrivate::paint):
426         (WebCore):
427         (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
428         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
429         (MediaPlayerPrivate):
430
431 2012-08-23  Kentaro Hara  <haraken@chromium.org>
432
433         Unreviewed. Build fix for r126399.
434
435         * bindings/v8/ScriptInstance.cpp:
436
437 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
438
439         Web Inspector: treat 0 cookies as "no cookies" and render it accordingly in the UI
440         https://bugs.webkit.org/show_bug.cgi?id=94732
441
442         Reviewed by Yury Semikhatsky.
443
444         * inspector/front-end/RequestCookiesView.js:
445         (WebInspector.RequestCookiesView.prototype.get _gotCookies):
446
447 2012-08-23  KwangYong Choi  <ky0.choi@samsung.com>
448
449         [EFL] Use vertical slider theme when the slider is vertical
450         https://bugs.webkit.org/show_bug.cgi?id=93838
451
452         Reviewed by Kenneth Rohde Christiansen.
453
454         Applied vertical slider theme to the vertical sliders. The height
455         of the vertical slider is wrong when it's applied horizontal
456         slider theme.
457
458         And do not resize slider when its size is not specified. It's natural
459         to use the default value of renderer.
460
461         No new tests. It's covered by existing range and datalist tests.
462
463         * platform/efl/RenderThemeEfl.cpp:
464         (WebCore::RenderThemeEfl::adjustSliderTrackStyle):
465
466 2012-08-23  Kentaro Hara  <haraken@chromium.org>
467
468         [V8] Remove almost all #include "V8Proxy.h"
469         https://bugs.webkit.org/show_bug.cgi?id=94777
470
471         Reviewed by Adam Barth.
472
473         No tests. No change in behavior.
474
475         * bindings/v8/NPV8Object.cpp:
476         * bindings/v8/PageScriptDebugServer.cpp:
477         * bindings/v8/ScheduledAction.cpp:
478         * bindings/v8/ScriptController.cpp:
479         * bindings/v8/ScriptInstance.cpp:
480         * bindings/v8/ScriptObject.cpp:
481         * bindings/v8/ScriptRunner.cpp:
482         * bindings/v8/SerializedScriptValue.cpp:
483         * bindings/v8/V8AbstractEventListener.cpp:
484         * bindings/v8/V8Binding.h:
485         (WebCore):
486         * bindings/v8/V8BindingMacros.h:
487         (WebCore):
488         * bindings/v8/V8Collection.h:
489         * bindings/v8/V8DOMWindowShell.cpp:
490         * bindings/v8/V8DOMWrapper.cpp:
491         * bindings/v8/V8EventListener.cpp:
492         * bindings/v8/V8GCController.cpp:
493         * bindings/v8/V8LazyEventListener.cpp:
494         * bindings/v8/V8NPObject.cpp:
495         * bindings/v8/V8NPUtils.cpp:
496         * bindings/v8/V8Proxy.h:
497         (WebCore):
498         * bindings/v8/V8Utilities.cpp:
499         * bindings/v8/WorkerContextExecutionProxy.cpp:
500         * bindings/v8/WorkerScriptController.cpp:
501         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
502         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
503         * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
504         * bindings/v8/custom/V8AudioContextCustom.cpp:
505         * bindings/v8/custom/V8BlobCustom.cpp:
506         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
507         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
508         * bindings/v8/custom/V8ClipboardCustom.cpp:
509         * bindings/v8/custom/V8ConsoleCustom.cpp:
510         * bindings/v8/custom/V8CoordinatesCustom.cpp:
511         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
512         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
513         * bindings/v8/custom/V8DataViewCustom.cpp:
514         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
515         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
516         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
517         * bindings/v8/custom/V8DocumentCustom.cpp:
518         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
519         * bindings/v8/custom/V8EntryCustom.cpp:
520         * bindings/v8/custom/V8EntrySyncCustom.cpp:
521         * bindings/v8/custom/V8EventCustom.cpp:
522         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
523         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
524         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
525         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
526         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
527         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
528         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
529         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
530         * bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
531         * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
532         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
533         * bindings/v8/custom/V8HTMLOutputElementCustom.cpp:
534         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
535         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
536         * bindings/v8/custom/V8HistoryCustom.cpp:
537         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
538         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
539         * bindings/v8/custom/V8IntentConstructor.cpp:
540         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
541         * bindings/v8/custom/V8LocationCustom.cpp:
542         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
543         * bindings/v8/custom/V8MessageEventCustom.cpp:
544         * bindings/v8/custom/V8MessagePortCustom.cpp:
545         * bindings/v8/custom/V8MutationCallbackCustom.cpp:
546         * bindings/v8/custom/V8MutationObserverCustom.cpp:
547         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
548         * bindings/v8/custom/V8NodeCustom.cpp:
549         * bindings/v8/custom/V8NodeListCustom.cpp:
550         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
551         * bindings/v8/custom/V8NotificationCustom.cpp:
552         * bindings/v8/custom/V8PopStateEventCustom.cpp:
553         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
554         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
555         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
556         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
557         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
558         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
559         * bindings/v8/custom/V8StorageCustom.cpp:
560         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
561         * bindings/v8/custom/V8TrackEventCustom.cpp:
562         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
563         * bindings/v8/custom/V8WebKitAnimationCustom.cpp:
564         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
565         * bindings/v8/custom/V8WebSocketCustom.cpp:
566         * bindings/v8/custom/V8WorkerContextCustom.cpp:
567         * bindings/v8/custom/V8WorkerCustom.cpp:
568         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
569         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
570         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
571
572 2012-08-22  Kentaro Hara  <haraken@chromium.org>
573
574         Unreviewed, rolling out r126348.
575         http://trac.webkit.org/changeset/126348
576         https://bugs.webkit.org/show_bug.cgi?id=94588
577
578         We should use v8::String::NewSymbol() for symbols. See
579         https://bugs.webkit.org/show_bug.cgi?id=94574#c10 for more
580         details
581
582         * bindings/scripts/CodeGeneratorV8.pm:
583         (GenerateNormalAttrGetter):
584         (GenerateNormalAttrSetter):
585         (GenerateNamedConstructorCallback):
586         (GenerateNonStandardFunction):
587         (GenerateImplementation):
588         * bindings/scripts/test/V8/V8Float64Array.cpp:
589         (WebCore::ConfigureV8Float64ArrayTemplate):
590         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
591         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
592         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
593         (WebCore::ConfigureV8TestEventTargetTemplate):
594         * bindings/scripts/test/V8/V8TestInterface.cpp:
595         (WebCore::ConfigureV8TestInterfaceTemplate):
596         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
597         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
598         * bindings/scripts/test/V8/V8TestObj.cpp:
599         (WebCore::ConfigureV8TestObjTemplate):
600         (WebCore::V8TestObj::installPerContextProperties):
601         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
602         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
603         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetter):
604         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):
605         * bindings/v8/V8Binding.h:
606         (WebCore):
607
608 2012-08-22  Kentaro Hara  <haraken@chromium.org>
609
610         [V8] Remove V8Proxy from CodeGeneratorV8.pm
611         https://bugs.webkit.org/show_bug.cgi?id=94773
612
613         Reviewed by Adam Barth.
614
615         To kill V8Proxy, we can remove V8Proxy uses from CodeGeneratorV8.pm.
616
617         No tests. No change in behavior.
618
619         * bindings/scripts/CodeGeneratorV8.pm:
620         (GenerateToV8Converters):
621         * bindings/scripts/test/V8/V8Float64Array.cpp:
622         (WebCore::V8Float64Array::wrapSlow):
623         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
624         (WebCore::V8TestActiveDOMObject::wrapSlow):
625         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
626         (WebCore::V8TestCustomNamedGetter::wrapSlow):
627         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
628         (WebCore::V8TestEventConstructor::wrapSlow):
629         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
630         (WebCore::V8TestEventTarget::wrapSlow):
631         * bindings/scripts/test/V8/V8TestException.cpp:
632         (WebCore::V8TestException::wrapSlow):
633         * bindings/scripts/test/V8/V8TestInterface.cpp:
634         (WebCore::V8TestInterface::wrapSlow):
635         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
636         (WebCore::V8TestMediaQueryListListener::wrapSlow):
637         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
638         (WebCore::V8TestNamedConstructor::wrapSlow):
639         * bindings/scripts/test/V8/V8TestNode.cpp:
640         (WebCore::V8TestNode::wrapSlow):
641         * bindings/scripts/test/V8/V8TestObj.cpp:
642         (WebCore::V8TestObj::wrapSlow):
643         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
644         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
645
646 2012-08-22  Sukolsak Sakshuwong  <sukolsak@google.com>
647
648         Implement UndoManager's item() method
649         https://bugs.webkit.org/show_bug.cgi?id=94671
650
651         Reviewed by Ryosuke Niwa.
652
653         This patch implements UndoManager's item() method and its V8 custom binding.
654         We need to use custom binding here because we need to return user objects
655         that are stored in a hidden property of DOMTransaction wrappers, not returning
656         the wrappers themselves.
657
658         Test: editing/undomanager/undomanager-item.html
659
660         * bindings/js/JSUndoManagerCustom.cpp:
661         (WebCore::JSUndoManager::item):
662         (WebCore):
663         * bindings/v8/DOMTransaction.cpp:
664         (WebCore::DOMTransaction::data):
665         (WebCore):
666         (WebCore::DOMTransaction::setData):
667         (WebCore::DOMTransaction::getFunction):
668         * bindings/v8/DOMTransaction.h:
669         * bindings/v8/custom/V8UndoManagerCustom.cpp:
670         (WebCore::V8UndoManager::transactCallback):
671         (WebCore::V8UndoManager::itemCallback):
672         (WebCore):
673         * editing/UndoManager.cpp:
674         (WebCore::UndoManager::item):
675         (WebCore):
676         * editing/UndoManager.h:
677         (UndoManager):
678         * editing/UndoManager.idl:
679
680 2012-08-22  Dominic Mazzoni  <dmazzoni@google.com>
681
682         AX: Focusable elements without a role should not be ignored
683         https://bugs.webkit.org/show_bug.cgi?id=94302
684
685         Reviewed by Chris Fleizach.
686
687         Changes the accessibility logic so that a generic element that's focusable is
688         not ignored for accessibility, and returns its inner text as its title. That way
689         if you Tab to the element, a reasonable accessibility notification is generated.
690
691         One exception is the body element, because focusing the body is equivalent to
692         blurring the current focused element and does not result in a "focus" accessibility
693         notification.
694
695         Also fixes logic that determined if an element was contentEditable by making
696         sure it catches the case with no attribute value (e.g. <div contentEditable>),
697         which also implies contentEditable=true according to the spec.
698
699         Test: accessibility/focusable-div.html
700
701         * accessibility/AccessibilityRenderObject.cpp:
702         (WebCore):
703         (WebCore::nodeHasContentEditableAttributeSet):
704         (WebCore::AccessibilityRenderObject::title):
705         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
706
707 2012-08-22  Kentaro Hara  <haraken@chromium.org>
708
709         Unreviewed, rolling out r126383.
710         http://trac.webkit.org/changeset/126383
711         https://bugs.webkit.org/show_bug.cgi?id=82888
712
713         Chromium win build crash
714
715         * bindings/js/JSClipboardCustom.cpp:
716         (WebCore::JSClipboard::types):
717         * bindings/v8/custom/V8ClipboardCustom.cpp:
718         (WebCore::V8Clipboard::typesAccessorGetter):
719         * dom/Clipboard.h:
720         (Clipboard):
721         * platform/blackberry/ClipboardBlackBerry.cpp:
722         (WebCore::ClipboardBlackBerry::types):
723         * platform/blackberry/ClipboardBlackBerry.h:
724         (ClipboardBlackBerry):
725         * platform/chromium/ChromiumDataObject.cpp:
726         (WebCore::ChromiumDataObject::types):
727         * platform/chromium/ChromiumDataObject.h:
728         (ChromiumDataObject):
729         * platform/chromium/ClipboardChromium.cpp:
730         (WebCore::ClipboardChromium::types):
731         * platform/chromium/ClipboardChromium.h:
732         (ClipboardChromium):
733         * platform/efl/ClipboardEfl.cpp:
734         (WebCore::ClipboardEfl::types):
735         * platform/efl/ClipboardEfl.h:
736         (ClipboardEfl):
737         * platform/gtk/ClipboardGtk.cpp:
738         (WebCore::ClipboardGtk::types):
739         * platform/gtk/ClipboardGtk.h:
740         (ClipboardGtk):
741         * platform/mac/ClipboardMac.h:
742         (ClipboardMac):
743         * platform/mac/ClipboardMac.mm:
744         (WebCore::addHTMLClipboardTypesForCocoaType):
745         (WebCore::ClipboardMac::types):
746         * platform/qt/ClipboardQt.cpp:
747         (WebCore::ClipboardQt::types):
748         * platform/qt/ClipboardQt.h:
749         (ClipboardQt):
750         * platform/win/ClipboardWin.cpp:
751         (WebCore::addMimeTypesForFormat):
752         (WebCore::ClipboardWin::types):
753         * platform/win/ClipboardWin.h:
754         (ClipboardWin):
755         * platform/wx/ClipboardWx.cpp:
756         (WebCore::ClipboardWx::types):
757         * platform/wx/ClipboardWx.h:
758         (ClipboardWx):
759
760 2012-08-22  Kentaro Hara  <haraken@chromium.org>
761
762         [V8] Move m_isolatedWorlds and m_isolatedWorldSecurityOrigins from V8Proxy to ScriptController
763         https://bugs.webkit.org/show_bug.cgi?id=94770
764
765         Reviewed by Adam Barth.
766
767         Now m_isolatedWorlds and m_isolatedWorldSecurityOrigins of V8Proxy
768         are used by ScriptController only. We can move them to ScriptController.
769
770         No tests. No change in behavior.
771
772         * bindings/v8/ScriptController.cpp:
773         (WebCore::ScriptController::resetIsolatedWorlds):
774         (WebCore::ScriptController::evaluateInIsolatedWorld):
775         (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
776         (WebCore::ScriptController::collectIsolatedContexts):
777         * bindings/v8/ScriptController.h:
778         (ScriptController):
779         * bindings/v8/V8Proxy.h:
780         (V8Proxy):
781
782 2012-08-22  Kentaro Hara  <haraken@chromium.org>
783
784         [V8] Move evaluate() from V8Proxy to ScriptController
785         https://bugs.webkit.org/show_bug.cgi?id=94768
786
787         Reviewed by Adam Barth.
788
789         To kill V8Proxy, we can move evaluate() from V8Proxy to ScriptController.
790
791         - Renamed evaluate() to compileAndRunScript() to avoid name conflict
792         with existing ScriptController::evaluate().
793
794         - Removed toV8Proxy() from NPV8Object, as it is no longer used.
795
796         No tests. No change in behavior.
797
798         * bindings/v8/NPV8Object.cpp:
799         (_NPN_EvaluateHelper):
800         * bindings/v8/ScheduledAction.cpp:
801         (WebCore::ScheduledAction::execute):
802         * bindings/v8/ScriptController.cpp:
803         (WebCore::ScriptController::compileAndRunScript):
804         (WebCore):
805         (WebCore::ScriptController::evaluate):
806         (WebCore::ScriptController::evaluateInIsolatedWorld):
807         * bindings/v8/ScriptController.h:
808         (ScriptController):
809         * bindings/v8/V8Proxy.cpp:
810         * bindings/v8/V8Proxy.h:
811
812 2012-08-22  Vineet Chaudhary  <rgf748@motorola.com>
813
814         Consider replacing return type of Clipboard::types() from HashSet<String> to Vector<String>.
815         https://bugs.webkit.org/show_bug.cgi?id=82888
816
817         Reviewed by Kentaro Hara.
818
819         As part of removing custom bindings of types Array Clipboard::types() needs to return
820         Vector<String> than HashSet<String>
821
822         No new tests. Exixting test should pass with this change as no behavoural changes.
823
824         * bindings/js/JSClipboardCustom.cpp: Replace data type from HashSet<> to Vector<>.
825         (WebCore::JSClipboard::types):
826         * bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.
827         (WebCore::V8Clipboard::typesAccessorGetter):
828         * dom/Clipboard.h: Ditto.
829         (Clipboard):
830         * platform/blackberry/ClipboardBlackBerry.cpp: Ditto.
831         (WebCore::ClipboardBlackBerry::types):
832         * platform/blackberry/ClipboardBlackBerry.h: Ditto.
833         (ClipboardBlackBerry):
834         * platform/chromium/ChromiumDataObject.cpp: Ditto.
835         (WebCore::ChromiumDataObject::types):
836         * platform/chromium/ChromiumDataObject.h: Ditto.
837         (ChromiumDataObject):
838         * platform/chromium/ClipboardChromium.cpp: Ditto.
839         (WebCore::ClipboardChromium::types):
840         * platform/chromium/ClipboardChromium.h: Ditto.
841         (ClipboardChromium):
842         * platform/efl/ClipboardEfl.cpp: Ditto.
843         (WebCore::ClipboardEfl::types):
844         * platform/efl/ClipboardEfl.h: Ditto.
845         (ClipboardEfl):
846         * platform/gtk/ClipboardGtk.cpp: Ditto.
847         (WebCore::ClipboardGtk::types):
848         * platform/gtk/ClipboardGtk.h: Ditto.
849         (ClipboardGtk):
850         * platform/mac/ClipboardMac.h: Ditto.
851         (ClipboardMac):
852         * platform/mac/ClipboardMac.mm: Ditto.
853         (WebCore::addHTMLClipboardTypesForCocoaType):
854         (WebCore::ClipboardMac::types):
855         * platform/qt/ClipboardQt.cpp: Ditto.
856         (WebCore::ClipboardQt::types):
857         * platform/qt/ClipboardQt.h: Ditto.
858         (ClipboardQt):
859         * platform/win/ClipboardWin.cpp: Ditto.
860         (WebCore::addMimeTypesForFormat):
861         (WebCore::ClipboardWin::types):
862         * platform/win/ClipboardWin.h: Ditto.
863         (ClipboardWin):
864         * platform/wx/ClipboardWx.cpp: Ditto.
865         (WebCore::ClipboardWx::types):
866         * platform/wx/ClipboardWx.h: Ditto.
867         (ClipboardWx):
868
869 2012-08-22  James Robinson  <jamesr@chromium.org>
870
871         [chromium] Change WebLayer from a concrete type to a pure virtual interface
872         https://bugs.webkit.org/show_bug.cgi?id=94174
873
874         Reviewed by Adrienne Walker.
875
876         This updates WebCore code for the WebLayer interface changes. Classes that have ownership of specific layer
877         types (such as DrawingBufferChromium, Canvas2DLayerBridge and ScrollingCoordinatorChromium) hold ownership
878         of a specific type and a pointer to the WebLayer to GraphicsLayerChromium to be included in the final layer
879         tree. GraphicsLayerChromium holds a WebContentLayer and (optionally) a WebImageLayer and WebLayer (for
880         m_transformLayer) and assembles the final layer tree.
881
882         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
883         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
884         (ScrollingCoordinatorPrivate):
885         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
886         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
887         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
888         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
889         (WebCore::scrollableLayerForGraphicsLayer):
890         (WebCore):
891         (WebCore::createScrollbarLayer):
892         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
893         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
894         (WebCore::ScrollingCoordinator::setScrollLayer):
895         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
896         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
897         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
898         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
899         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
900         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
901         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
902         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
903         (WebCore::Canvas2DLayerBridge::prepareForDraw):
904         (WebCore::Canvas2DLayerBridge::layer):
905         (WebCore::Canvas2DLayerBridge::contextAcquired):
906         * platform/graphics/chromium/Canvas2DLayerBridge.h:
907         (Canvas2DLayerBridge):
908         * platform/graphics/chromium/DrawingBufferChromium.cpp:
909         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
910         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
911         (WebCore::DrawingBufferPrivate::layer):
912         (DrawingBufferPrivate):
913         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
914         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
915         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
916         (WebCore::GraphicsLayerChromium::willBeDestroyed):
917         (WebCore::GraphicsLayerChromium::updateNames):
918         (WebCore::GraphicsLayerChromium::removeFromParent):
919         (WebCore::GraphicsLayerChromium::setSize):
920         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
921         (WebCore::GraphicsLayerChromium::setContentsOpaque):
922         (WebCore::GraphicsLayerChromium::setFilters):
923         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
924         (WebCore::GraphicsLayerChromium::setMaskLayer):
925         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
926         (WebCore::GraphicsLayerChromium::setOpacity):
927         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
928         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
929         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
930         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
931         (WebCore::GraphicsLayerChromium::setContentsToImage):
932         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
933         (WebCore):
934         (WebCore::GraphicsLayerChromium::setContentsToMedia):
935         (WebCore::GraphicsLayerChromium::setContentsTo):
936         (WebCore::GraphicsLayerChromium::addAnimation):
937         (WebCore::GraphicsLayerChromium::pauseAnimation):
938         (WebCore::GraphicsLayerChromium::removeAnimation):
939         (WebCore::GraphicsLayerChromium::suspendAnimations):
940         (WebCore::GraphicsLayerChromium::resumeAnimations):
941         (WebCore::GraphicsLayerChromium::platformLayer):
942         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
943         (WebCore::GraphicsLayerChromium::setDebugBorder):
944         (WebCore::GraphicsLayerChromium::updateChildList):
945         (WebCore::GraphicsLayerChromium::updateLayerPosition):
946         (WebCore::GraphicsLayerChromium::updateLayerSize):
947         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
948         (WebCore::GraphicsLayerChromium::updateTransform):
949         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
950         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
951         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
952         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
953         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
954         (WebCore::GraphicsLayerChromium::updateContentsRect):
955         (WebCore::GraphicsLayerChromium::updateContentsScale):
956         (WebCore::GraphicsLayerChromium::setupContentsLayer):
957         * platform/graphics/chromium/GraphicsLayerChromium.h:
958         (GraphicsLayerChromium):
959         (WebCore::GraphicsLayerChromium::hasContentsLayer):
960         (WebCore::GraphicsLayerChromium::contentLayer):
961         (WebCore::GraphicsLayerChromium::contentsLayer):
962         * platform/graphics/chromium/LayerChromium.cpp:
963         (WebCore::LayerChromium::rootLayer):
964         * platform/graphics/chromium/LayerChromium.h:
965
966 2012-08-22  Kentaro Hara  <haraken@chromium.org>
967
968         [V8] Move runScript() from V8Proxy to ScriptRunner
969         https://bugs.webkit.org/show_bug.cgi?id=94706
970
971         Reviewed by Adam Barth.
972
973         To kill V8Proxy, we can move runScript() from V8Proxy to ScriptRunner.
974
975         - ScriptRunner::runScript() should be a static method.
976         It should receive ScriptExecutionContext on which the script is evaluated.
977
978         - After this patch is landed, I'll remove WorkerContextExecutionContext::runScript()
979         and ScriptDebugServer::runScript().
980
981         No tests. No change in behavior.
982
983         * UseV8.cmake:
984         * WebCore.gypi:
985         * bindings/v8/ScriptController.cpp:
986         * bindings/v8/ScriptRunner.cpp: Added.
987         (WebCore):
988         (WebCore::ScriptRunner::runScript):
989         * bindings/v8/ScriptRunner.h: Added.
990         (WebCore):
991         (ScriptRunner):
992         * bindings/v8/V8Binding.cpp:
993         (WebCore::handleMaxRecursionDepthExceeded):
994         (WebCore):
995         * bindings/v8/V8Binding.h:
996         (WebCore):
997         * bindings/v8/V8Proxy.cpp:
998         (WebCore::V8Proxy::evaluate):
999         * bindings/v8/V8Proxy.h:
1000         (V8Proxy):
1001
1002 2012-08-22  Adam Barth  <abarth@webkit.org>
1003
1004         [V8] OwnHandle doesn't need to support weak handles
1005         https://bugs.webkit.org/show_bug.cgi?id=94760
1006
1007         Reviewed by Kentaro Hara.
1008
1009         No code uses makeWeak(). We can drop support for it and simplify this
1010         class.
1011
1012         * bindings/v8/OwnHandle.h:
1013         (WebCore):
1014         (OwnHandle):
1015         (WebCore::OwnHandle::OwnHandle):
1016         (WebCore::OwnHandle::~OwnHandle):
1017         (WebCore::OwnHandle::get):
1018         (WebCore::OwnHandle::set):
1019         (WebCore::OwnHandle::clear):
1020
1021 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1022
1023         [V8] Remove V8Proxy from getXPathNSResolver()
1024         https://bugs.webkit.org/show_bug.cgi?id=94715
1025
1026         Reviewed by Adam Barth.
1027
1028         - The V8Proxy* argument of getXPathNSResolver(..., V8Proxy* = 0) is not used.
1029           We can remove it.
1030
1031         - We can rename getXPathNSResolver() to toXPathNSResolver().
1032
1033         - We can move toXPathNSResolver() from V8DOMWrapper to V8Binding,
1034           since other toXXX() methods are written in V8Binding.
1035
1036         - Change the return value of toXPathNSResolver() from RefPtr to PassRefPtr.
1037
1038         No tests. No change in behavior.
1039
1040         * bindings/scripts/CodeGeneratorV8.pm:
1041         (JSValueToNative):
1042         * bindings/v8/V8Binding.cpp:
1043         (WebCore::toXPathNSResolver):
1044         (WebCore):
1045         * bindings/v8/V8Binding.h:
1046         (WebCore):
1047         * bindings/v8/V8DOMWrapper.cpp:
1048         * bindings/v8/V8DOMWrapper.h:
1049         (V8DOMWrapper):
1050         * bindings/v8/custom/V8DocumentCustom.cpp:
1051         (WebCore::V8Document::evaluateCallback):
1052
1053 2012-08-22  Kenneth Russell  <kbr@google.com>
1054
1055         Unreviewed, rolling out r126325.
1056         http://trac.webkit.org/changeset/126325
1057         https://bugs.webkit.org/show_bug.cgi?id=94644
1058
1059         Caused subtle but reproducible failure to call onload handler
1060         properly in an SVG layout test in Chromium Mac Debug builds,
1061         indicating potentially larger problem
1062
1063         * css/CSSFontSelector.cpp:
1064         (WebCore::CSSFontSelector::beginLoadTimerFired):
1065         * loader/cache/CachedResourceLoader.cpp:
1066         (WebCore::CachedResourceLoader::decrementRequestCount):
1067
1068 2012-08-22  Victor Carbune  <victor@rosedu.org>
1069
1070         Display a TextTrackCue when snap-to-lines flag is set
1071         https://bugs.webkit.org/show_bug.cgi?id=79751
1072
1073         Reviewed by Tony Chang.
1074
1075         This patch implements rendering functionality for a given text track,
1076         following closer the exact WebVTT specification. There are two new classes
1077         which have been added in order to succesfully cover rendering when of a text
1078         track cue.
1079
1080         RenderTextTrackCue handles the specific rendering algorithm required,
1081         by checking for overlaps with other boxes that are in the same
1082         container (these can be any other boxes, not necessarily other cues,
1083         the video controls, for example).
1084
1085         TextTrackCueBox extends HTMLDivElement and is an intermediate layer
1086         between the renderer class and the actual cue object. Its purpose is
1087         to instantiate the particular renderer and cover all the default CSS
1088         styling that needs to be applied to the cue.
1089
1090         The layout is done in two steps:
1091           - Step 1: Layout the TextTrackCue with default CSS properties set (this is
1092         the TextTrackCueBox decorated with the respective CSS elements)
1093           - Step 2: RenderTextTrackCue adjusts the box position depending on the
1094         parameters of the TextTrackCue object and the overlaps that may occur with
1095         previously positioned cues.
1096
1097         Tests: media/track/track-cue-rendering-horizontal.html
1098                media/track/track-cue-rendering-vertical.html
1099
1100         * CMakeLists.txt: Updated to include RenderTextTrackCue.
1101         * GNUmakefile.list.am: Updated to include RenderTextTrackCue.
1102         * Target.pri: Updated to include RenderTextTrackCue.
1103         * WebCore.gypi: Updated to include RenderTextTrackCue.
1104         * WebCore.vcproj/WebCore.vcproj: Updated to include RenderTextTrackCue.
1105         * WebCore.xcodeproj/project.pbxproj: Updated to include RenderTextTrackCue.
1106         * css/mediaControls.css: Removed unreliable CSS.
1107         (video::-webkit-media-text-track-display): Removed properties.
1108         * html/shadow/MediaControlElements.cpp: Updated to not use the new class.
1109         (RenderTextTrackContainerElement):
1110         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Simplified
1111         the function by moving the check if track is rendered in TextTrack and used
1112         the TextTrackCueBox for cues.
1113         * html/track/TextTrack.cpp: Added a new method.
1114         (WebCore::TextTrack::isRendered): Method that returns whether the track should
1115         be rendered or not.
1116         (WebCore):
1117         * html/track/TextTrack.h: Added the isRendered method.
1118         (TextTrack):
1119         * html/track/TextTrackCue.cpp: Added several helper methods and
1120         the TextTrackCueBox.
1121         (WebCore):
1122         (WebCore::TextTrackCueBox::TextTrackCueBox): The TextTrackCueBox extends
1123         the HTMLDivElement and represents a bridge class between RenderTextTrackCue
1124         and TextTrackCue. This is required as the layout is done in two steps, as
1125         explained on top of the ChangeLog entry.
1126         (WebCore::TextTrackCueBox::getCue): Returns the associated TextTrackCue object.
1127         (WebCore::TextTrackCueBox::applyCSSProperties): Applies a part of the default CSS
1128         properties, as defined by section 3.5.1 of the WebVTT specification.
1129         (WebCore::TextTrackCueBox::shadowPseudoId): Moved the shadow pseudo id.
1130         (WebCore::TextTrackCueBox::createRenderer): Creates the particular renderer.
1131         (WebCore::TextTrackCue::TextTrackCue): Corrected the internal writing mode map.
1132         (WebCore::TextTrackCue::calculateComputedLinePosition): Updated the compute line
1133         position algorithm. This requires, however, a method to consider only rendered
1134         tracks (and therefore will be addressed completely in subsequent changeset).
1135         (WebCore::TextTrackCue::calculateDisplayParameters): Updated and corrected the
1136         computed display parameters to match the current specification.
1137         (WebCore::TextTrackCue::getDisplayTree): Update to use the TextTrackCueBox class
1138         and moved CSS application to the respective class.
1139         (WebCore::TextTrackCue::getPositionCoordinates): Added comment to specify in which
1140         situation this method is used and change visibility to private.
1141         (WebCore::TextTrackCue::getCSSWritingMode): Returns the CSS writing mode corresponding
1142         to the cue writing mode.
1143         (WebCore::TextTrackCue::getCSSSize): Returns the cue width / height (depending on the
1144         writing direction.
1145         (WebCore::TextTrackCue::getCSSPosition): Returns the default display position, that is
1146         used in the first layout step.
1147         * html/track/TextTrackCue.h:
1148         (WebCore):
1149         (TextTrackCueBox):
1150         (WebCore::TextTrackCueBox::create): Initialization method.
1151         (TextTrackCue):
1152         (WebCore::TextTrackCue::getWritingDirection): Helper method to return the internal
1153         values used to represent the writing direction.
1154         * rendering/RenderTextTrackCue.cpp: Added.
1155         (WebCore):
1156         (WebCore::RenderTextTrackCue::RenderTextTrackCue):
1157         (WebCore::RenderTextTrackCue::layout): The rendering steps, as mentioned in
1158         the WebVTT rendering rules. Currently, this treats only the snap-to-lines set
1159         case. It is implemented following closely the spec, and might be subject to
1160         change as discussions on various bugs evolve.
1161         (WebCore::RenderTextTrackCue::initializeLayoutParameters): Steps 1 - 7.
1162         (WebCore::RenderTextTrackCue::placeBoxInDefaultPosition): Steps 8 - 10.
1163         (WebCore::RenderTextTrackCue::isOutside): Inline method to check if the cue is outside.
1164         (WebCore::RenderTextTrackCue::isOverlapping): Inline method to check if the cue overlaps other boxes.
1165         (WebCore::RenderTextTrackCue::shouldSwitchDirection): Step 12.
1166         (WebCore::RenderTextTrackCue::moveBoxesByStep): Step 13.
1167         (WebCore::RenderTextTrackCue::switchDirection): Steps 15 - 18.
1168         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Cue repositioning
1169         for text track cue when the snap to lines flag is set.
1170         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesNotSet): Cue repositioning
1171         for text track cue when the snap to lines flag is not set. Not implemented yet.
1172         * rendering/RenderTextTrackCue.h: Added.
1173         (WebCore):
1174         (RenderTextTrackCue): Rendering class, handling the display of cues.
1175
1176 2012-08-21  Kentaro Hara  <haraken@chromium.org>
1177
1178         [V8] Move matchesCurrentContext() from V8Proxy to ScriptController
1179         https://bugs.webkit.org/show_bug.cgi?id=94596
1180
1181         Reviewed by Adam Barth.
1182
1183         To kill V8Proxy:
1184
1185         - We can move matchesCurrentContext() from V8Proxy to ScriptController.
1186         - We can remove V8Proxy::isolatedWorldContext() since it is not used by anybody.
1187         - We can remove V8Proxy::finishedWithEvent() since it is empty.
1188
1189         No tests. No change in behavior.
1190
1191         * bindings/scripts/CodeGeneratorV8.pm:
1192         (GenerateToV8Converters):
1193         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1194         (WebCore::V8TestActiveDOMObject::wrapSlow):
1195         * bindings/scripts/test/V8/V8TestNode.cpp:
1196         (WebCore::V8TestNode::wrapSlow):
1197         * bindings/v8/ScriptController.cpp:
1198         (WebCore::ScriptController::finishedWithEvent):
1199         (WebCore::ScriptController::matchesCurrentContext):
1200         (WebCore):
1201         * bindings/v8/ScriptController.h:
1202         (ScriptController):
1203         * bindings/v8/V8Proxy.cpp:
1204         * bindings/v8/V8Proxy.h:
1205         (V8Proxy):
1206
1207 2012-08-22  Alejandro PiƱeiro  <apinheiro@igalia.com>
1208
1209         [Gtk] Dojo toggle buttons should expose ROLE_TOGGLE_BUTTON not ROLE_PUSH_BUTTON
1210         https://bugs.webkit.org/show_bug.cgi?id=73819
1211
1212         Reviewed by Chris Fleizach.
1213
1214         Added a new role, Toggle Button, based on whether aria-pressed is present.
1215         http://www.w3.org/TR/wai-aria/states_and_properties#aria-pressed
1216
1217         Test: platform/gtk/accessibility/aria-toggle-button-role.html
1218
1219         * accessibility/AccessibilityNodeObject.cpp:
1220         (WebCore::AccessibilityNodeObject::determineAccessibilityRole): using buttonRoleType
1221         to classify a button-related role.
1222         (WebCore::AccessibilityNodeObject::determineAriaRoleAttribute): using buttonRoleType
1223         to classify a button-related role.
1224         * accessibility/AccessibilityObject.cpp:
1225         (WebCore::AccessibilityObject::ariaPressedIsPresent): checks if aria-pressed
1226         attribute is present.
1227         (WebCore::AccessibilityObject::buttonRoleType): returns a specific button-related
1228         role if the object is a button-related role.
1229         * accessibility/AccessibilityObject.h:
1230         (AccessibilityObject): added new role ToggleButtonRole.
1231         * accessibility/AccessibilityRenderObject.cpp:
1232         (WebCore::AccessibilityRenderObject::determineAccessibilityRole): using buttonRoleType
1233         to classify a button-related role.
1234         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
1235         (atkRole): added a mapping between ToggleButtonRole and
1236         ATK_ROLE_TOGGLE_BUTTON.
1237         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1238         (createAccessibilityRoleMap): added a mapping between
1239         ToggleButtonRole and NSAccessibilityButtonRole
1240
1241 2012-08-22  David Grogan  <dgrogan@chromium.org>
1242
1243         IndexedDB: revert int version when version change transaction aborts
1244         https://bugs.webkit.org/show_bug.cgi?id=94662
1245
1246         Reviewed by Tony Chang.
1247
1248         Test: storage/indexeddb/intversion-revert-on-abort.html
1249
1250         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1251         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
1252         (WebCore::IDBDatabaseBackendImpl::resetIntVersion):
1253         One-liner modeled after resetVersion.
1254
1255         (WebCore):
1256         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1257         (IDBDatabaseBackendImpl):
1258
1259 2012-08-17  Jeffrey Pfau  <jpfau@apple.com>
1260
1261         Allow blocking of Web SQL databases in third-party web workers
1262         https://bugs.webkit.org/show_bug.cgi?id=94170
1263
1264         Reviewed by Adam Barth.
1265
1266         Web workers did not previously know anything about the document that
1267         spawned them. This is undefined for shared workers, but for dedicated
1268         workers, we now pipe the information through.
1269
1270         Tests: http/tests/security/cross-origin-worker-websql-allowed.html
1271                http/tests/security/cross-origin-worker-websql.html
1272
1273         * Modules/webdatabase/WorkerContextWebDatabase.cpp: Pass information about the top origin to canAccessDatabase
1274         (WebCore::WorkerContextWebDatabase::openDatabase):
1275         (WebCore::WorkerContextWebDatabase::openDatabaseSync):
1276         * WebCore.exp.in: Make SecurityOrigin::isolatedCopy const
1277         * page/SecurityOrigin.cpp:
1278         (WebCore::SecurityOrigin::isolatedCopy):
1279         (WebCore::SecurityOrigin::canAccessStorage):
1280         * page/SecurityOrigin.h:
1281         * workers/DedicatedWorkerContext.cpp: Pass topOrigin
1282         (WebCore::DedicatedWorkerContext::create):
1283         (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
1284         * workers/DedicatedWorkerContext.h:
1285         (DedicatedWorkerContext):
1286         * workers/DedicatedWorkerThread.cpp: Pass topOrigin
1287         (WebCore::DedicatedWorkerThread::create):
1288         (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
1289         (WebCore::DedicatedWorkerThread::createWorkerContext):
1290         * workers/DedicatedWorkerThread.h:
1291         (DedicatedWorkerThread):
1292         * workers/SharedWorkerContext.cpp: Pass topOrigin
1293         (WebCore::SharedWorkerContext::SharedWorkerContext):
1294         * workers/SharedWorkerThread.cpp:
1295         (WebCore::SharedWorkerThread::SharedWorkerThread):
1296         (WebCore::SharedWorkerThread::createWorkerContext):
1297         * workers/SharedWorkerThread.h:
1298         (SharedWorkerThread): Pass topOrigin
1299         * workers/WorkerContext.cpp:
1300         (WebCore::WorkerContext::WorkerContext):
1301         * workers/WorkerContext.h:
1302         (WebCore::WorkerContext::topOrigin):
1303         (WorkerContext):
1304         * workers/WorkerMessagingProxy.cpp: Pass topOrigin
1305         (WebCore::WorkerMessagingProxy::startWorkerContext):
1306         * workers/WorkerThread.cpp:
1307         (WebCore::WorkerThreadStartupData::create):
1308         (WorkerThreadStartupData):
1309         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
1310         (WebCore::WorkerThread::WorkerThread):
1311         (WebCore::WorkerThread::workerThread):
1312         * workers/WorkerThread.h:
1313         (WorkerThread):
1314
1315 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1316
1317         [V8] Move context() from V8Proxy to ScriptController
1318         https://bugs.webkit.org/show_bug.cgi?id=94593
1319
1320         Reviewed by Adam Barth.
1321
1322         - This patch removes V8Proxy::context(Frame*).
1323         - This patch moves V8Proxy::context() to ScriptController::context().
1324         - This patch renames ScriptController::context() to ScriptController::currentWorldContext(),
1325         for naming consistency with ScriptController::maintWorldContext().
1326
1327         No tests. No change in behavior.
1328
1329         * bindings/scripts/CodeGeneratorV8.pm:
1330         (GenerateToV8Converters):
1331         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1332         (WebCore::V8TestActiveDOMObject::wrapSlow):
1333         * bindings/scripts/test/V8/V8TestNode.cpp:
1334         (WebCore::V8TestNode::wrapSlow):
1335         * bindings/v8/ScriptController.cpp:
1336         (WebCore::ScriptController::context):
1337         (WebCore):
1338         * bindings/v8/ScriptController.h:
1339         (ScriptController):
1340         * bindings/v8/V8DOMWrapper.cpp:
1341         (WebCore::V8DOMWrapper::setNamedHiddenWindowReference):
1342         * bindings/v8/V8Proxy.cpp:
1343         * bindings/v8/V8Proxy.h:
1344         (V8Proxy):
1345         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1346         (WebCore::WindowSetTimeoutImpl):
1347         (WebCore::V8DOMWindow::eventAccessorGetter):
1348         (WebCore::V8DOMWindow::eventAccessorSetter):
1349         (WebCore::DialogHandler::dialogCreated):
1350         (WebCore::toV8):
1351         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1352         (WebCore::V8HTMLDocument::openCallback):
1353
1354 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1355
1356         [V8] Remove V8Proxy from V8DOMWrapper::instantiateV8Object()
1357         https://bugs.webkit.org/show_bug.cgi?id=94713
1358
1359         Reviewed by Adam Barth.
1360
1361         To kill V8Proxy, V8DOMWrapper::instantiateV8Object() should receive Frame*
1362         instead of V8Proxy*.
1363
1364         No tests. No change in behavior.
1365
1366         * bindings/scripts/CodeGeneratorV8.pm:
1367         (GenerateToV8Converters):
1368         * bindings/scripts/test/V8/V8Float64Array.cpp:
1369         (WebCore::V8Float64Array::wrapSlow):
1370         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1371         (WebCore::V8TestActiveDOMObject::wrapSlow):
1372         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1373         (WebCore::V8TestCustomNamedGetter::wrapSlow):
1374         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1375         (WebCore::V8TestEventConstructor::wrapSlow):
1376         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1377         (WebCore::V8TestEventTarget::wrapSlow):
1378         * bindings/scripts/test/V8/V8TestException.cpp:
1379         (WebCore::V8TestException::wrapSlow):
1380         * bindings/scripts/test/V8/V8TestInterface.cpp:
1381         (WebCore::V8TestInterface::wrapSlow):
1382         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1383         (WebCore::V8TestMediaQueryListListener::wrapSlow):
1384         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1385         (WebCore::V8TestNamedConstructor::wrapSlow):
1386         * bindings/scripts/test/V8/V8TestNode.cpp:
1387         (WebCore::V8TestNode::wrapSlow):
1388         * bindings/scripts/test/V8/V8TestObj.cpp:
1389         (WebCore::V8TestObj::wrapSlow):
1390         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1391         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
1392         * bindings/v8/V8DOMWrapper.cpp:
1393         (WebCore):
1394         (WebCore::V8DOMWrapper::instantiateV8Object):
1395         * bindings/v8/V8DOMWrapper.h:
1396         (V8DOMWrapper):
1397
1398 2012-08-22  Joshua Bell  <jsbell@chromium.org>
1399
1400         IndexedDB: IDBRequest can be destructed during abort
1401         https://bugs.webkit.org/show_bug.cgi?id=94618
1402
1403         Reviewed by Tony Chang.
1404
1405         If there are no script references, an IDBRequest could be kept alive
1406         only by enqueued events. On document destruction, the parent transaction
1407         is aborted, which aborts the request. During the abort, the enqueued events
1408         are deleted, releasing the last reference to the IDBRequest which then
1409         destructs in mid-method call and an "unfinished" state, hitting an assert.
1410
1411         This patch keeps the IDBRequest alive through the completion of the abort()
1412         method, which will enqueue another event. In the document destruction case,
1413         this will end up with the IDBRequest having stop() called on it which will
1414         send the IDBRequest into EarlyDeath state, satisfying the destructor assert.
1415
1416         Addresses existing layout tests that behave flakily in Chromium port.
1417
1418         * Modules/indexeddb/IDBRequest.cpp:
1419         (WebCore::IDBRequest::abort):
1420
1421 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1422
1423         [V8] Move precompileScript() from V8Proxy to ScriptSourceCode
1424         https://bugs.webkit.org/show_bug.cgi?id=94701
1425
1426         Reviewed by Adam Barth.
1427
1428         To kill V8Proxy, we can move precompileScript() from V8Proxy
1429         to ScriptSourceCode.
1430
1431         No tests. No change in behavior.
1432
1433         * bindings/v8/ScriptSourceCode.cpp:
1434         (WebCore::ScriptSourceCode::precompileScript):
1435         (WebCore):
1436         * bindings/v8/ScriptSourceCode.h:
1437         (ScriptSourceCode):
1438         * bindings/v8/V8Proxy.cpp:
1439         (WebCore::V8Proxy::evaluate):
1440         * bindings/v8/V8Proxy.h:
1441         (V8Proxy):
1442
1443 2012-08-22  Nikhil Bhargava  <nbhargava@google.com>
1444
1445         Reduce Font.h includes across project -- improves RenderObject.h compile time
1446         https://bugs.webkit.org/show_bug.cgi?id=93629
1447
1448         Reviewed by Eric Seidel.
1449
1450         RenderStyle.h no longer depends on Font.h. The files that transitively
1451         need to be updated with proper includes are fixed.
1452
1453         No new tests. Functionality should remain the same.
1454
1455         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
1456         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1457         * bindings/objc/DOM.mm:
1458         * css/CSSComputedStyleDeclaration.cpp:
1459         * css/CSSPrimitiveValue.cpp:
1460         * css/StyleResolver.h:
1461         * dom/CharacterData.cpp:
1462         * dom/ElementRareData.h:
1463         * dom/NodeRenderingContext.cpp:
1464         * dom/Text.cpp:
1465         * editing/TextIterator.cpp:
1466         * editing/mac/EditorMac.mm:
1467         * html/HTMLTitleElement.cpp:
1468         * html/shadow/TextControlInnerElements.cpp:
1469         * inspector/InspectorOverlay.cpp:
1470         * page/ContextMenuController.cpp:
1471         * page/PrintContext.cpp:
1472         * platform/efl/RenderThemeEfl.cpp:
1473         * platform/graphics/FontMetrics.h:
1474         * platform/gtk/RenderThemeGtk.cpp:
1475         * platform/gtk/RenderThemeGtk2.cpp:
1476         * platform/mac/HTMLConverter.mm:
1477         * rendering/EllipsisBox.cpp:
1478         * rendering/FlowThreadController.cpp:
1479         * rendering/InlineBox.cpp:
1480         * rendering/InlineFlowBox.cpp:
1481         * rendering/InlineFlowBox.h:
1482         (WebCore):
1483         * rendering/RenderButton.cpp:
1484         * rendering/RenderCombineText.cpp:
1485         * rendering/RenderCombineText.h:
1486         * rendering/RenderDeprecatedFlexibleBox.cpp:
1487         * rendering/RenderEmbeddedObject.h:
1488         (WebCore):
1489         * rendering/RenderFileUploadControl.cpp:
1490         * rendering/RenderFullScreen.h:
1491         * rendering/RenderImage.cpp:
1492         * rendering/RenderInline.cpp:
1493         * rendering/RenderListItem.cpp:
1494         * rendering/RenderListMarker.cpp:
1495         * rendering/RenderMultiColumnBlock.cpp:
1496         * rendering/RenderRegion.h:
1497         * rendering/RenderRuby.cpp:
1498         * rendering/RenderRubyRun.cpp:
1499         * rendering/RenderScrollbar.cpp:
1500         * rendering/RenderTable.cpp:
1501         * rendering/RenderTableCell.cpp:
1502         * rendering/RenderTableRow.cpp:
1503         * rendering/RenderTableSection.cpp:
1504         * rendering/RenderTextControl.cpp:
1505         * rendering/RenderTextControlMultiLine.cpp:
1506         * rendering/RenderThemeChromiumSkia.cpp:
1507         * rendering/RenderView.cpp:
1508         * rendering/TextAutosizer.cpp:
1509         * rendering/mathml/RenderMathMLBlock.h:
1510         * rendering/style/KeyframeList.h:
1511         * rendering/style/RenderStyle.cpp:
1512         * rendering/style/RenderStyle.h:
1513         (WebCore):
1514         * rendering/style/StyleInheritedData.cpp:
1515         * rendering/svg/RenderSVGBlock.cpp:
1516         * rendering/svg/RenderSVGInlineText.h:
1517         * svg/SVGLengthContext.cpp:
1518         * svg/SVGTRefElement.cpp:
1519
1520 2012-08-22  Alex Christensen  <alex.christensen@flexsim.com>
1521         win64 compile error fix for BinaryPropertyList.cpp
1522         https://bugs.webkit.org/show_bug.cgi?id=94122
1523
1524         Reviewed by Eric Seidel.
1525
1526         Fixed compile errors for MSVC x64 without changing performance
1527
1528         * platform/cf/BinaryPropertyList.cpp:
1529         (WebCore::BinaryPropertyListSerializer::appendStringObject):
1530
1531 2012-08-22  Kwang Yul Seo  <skyul@company100.net>
1532
1533         HTMLTreeBuilder::furthestBlockForFormattingElement should belong to HTMLElementStack
1534         https://bugs.webkit.org/show_bug.cgi?id=93857
1535
1536         Reviewed by Eric Seidel.
1537
1538         HTMLTreeBuilder::furthestBlockForFormattingElement should belong to
1539         HTMLElementStack because it traverses the element stack and finds the
1540         furthest block for the given formatting element.
1541
1542         Currently, it belongs to HTMLTreeBuilder just because
1543         isSpecialNode(const HTMLStackItem*) function used by
1544         furthestBlockForFormattingElement is internal to HTMLTreeBuilder.
1545
1546         Moved isSpecialNode to HTMLStackItem and changed
1547         furthestBlockForFormattingElement to be a method of HTMLElementStack.
1548
1549         No behavior change. Just a refactoring.
1550
1551         * html/parser/HTMLElementStack.cpp:
1552         (WebCore):
1553         (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
1554         (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
1555         (WebCore::HTMLElementStack::furthestBlockForFormattingElement):
1556         * html/parser/HTMLElementStack.h:
1557         (HTMLElementStack):
1558         * html/parser/HTMLStackItem.h:
1559         (WebCore::HTMLStackItem::isInHTMLNamespace):
1560         (HTMLStackItem):
1561         (WebCore::HTMLStackItem::isNumberedHeaderElement):
1562         (WebCore::HTMLStackItem::isTableBodyContextElement):
1563         (WebCore::HTMLStackItem::isSpecialNode):
1564         * html/parser/HTMLTreeBuilder.cpp:
1565         (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
1566         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
1567         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1568         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
1569         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1570         (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent):
1571         (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
1572         * html/parser/HTMLTreeBuilder.h:
1573
1574 2012-08-22  Alexandre Elias  <aelias@google.com>
1575
1576         [chromium] Add software bitmap resources to CCResourceProvider
1577         https://bugs.webkit.org/show_bug.cgi?id=93677
1578
1579         Reviewed by Adrienne Walker.
1580
1581         Second commit after revert.
1582
1583         This adds the ability to CCResourceProvider to use software bitmaps.
1584         They are allocated as plain-old-memory, and exposed as Skia objects.
1585
1586         We want the ResourceProvider to be able to handle different resource
1587         types at the same time.  In practice, a default resource type is
1588         desired for most uses within a single compositor instance, which is
1589         specified by the default resource type.  Default resource types are
1590         expected to be mostly 1-to-1 with CCRenderer types.
1591
1592         New tests added by parametrizing existing CCResourceProvider tests.
1593
1594         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
1595         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
1596         * platform/graphics/chromium/LayerRendererChromium.cpp:
1597         (WebCore::applyFilters):
1598         (WebCore::LayerRendererChromium::drawRenderPassQuad):
1599         (WebCore::LayerRendererChromium::drawTileQuad):
1600         (WebCore::LayerRendererChromium::drawYUVVideoQuad):
1601         (WebCore::LayerRendererChromium::drawTextureQuad):
1602         (WebCore::LayerRendererChromium::getFramebufferTexture):
1603         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
1604         * platform/graphics/chromium/LayerRendererChromium.h:
1605         (DrawingFrame):
1606         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
1607         (WebCore::CCResourceProvider::createResource):
1608         (WebCore):
1609         (WebCore::CCResourceProvider::createGLTexture):
1610         (WebCore::CCResourceProvider::createBitmap):
1611         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
1612         (WebCore::CCResourceProvider::deleteResource):
1613         (WebCore::CCResourceProvider::upload):
1614         (WebCore::CCResourceProvider::flush):
1615         (WebCore::CCResourceProvider::shallowFlushIfSupported):
1616         (WebCore::CCResourceProvider::lockForRead):
1617         (WebCore::CCResourceProvider::unlockForRead):
1618         (WebCore::CCResourceProvider::lockForWrite):
1619         (WebCore::CCResourceProvider::unlockForWrite):
1620         (WebCore::CCResourceProvider::ScopedReadLockGL::ScopedReadLockGL):
1621         (WebCore::CCResourceProvider::ScopedReadLockGL::~ScopedReadLockGL):
1622         (WebCore::CCResourceProvider::ScopedWriteLockGL::ScopedWriteLockGL):
1623         (WebCore::CCResourceProvider::ScopedWriteLockGL::~ScopedWriteLockGL):
1624         (WebCore::CCResourceProvider::populateSkBitmapWithResource):
1625         (WebCore::CCResourceProvider::ScopedReadLockSoftware::ScopedReadLockSoftware):
1626         (WebCore::CCResourceProvider::ScopedReadLockSoftware::~ScopedReadLockSoftware):
1627         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::ScopedWriteLockSoftware):
1628         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::~ScopedWriteLockSoftware):
1629         (WebCore::CCResourceProvider::CCResourceProvider):
1630         * platform/graphics/chromium/cc/CCResourceProvider.h:
1631         (WebCore):
1632         (WebCore::CCResourceProvider::setCreationPolicy):
1633         (WebCore::CCResourceProvider::creationPolicy):
1634         (CCResourceProvider):
1635         (ScopedReadLockGL):
1636         (WebCore::CCResourceProvider::ScopedReadLockGL::textureId):
1637         (ScopedWriteLockGL):
1638         (WebCore::CCResourceProvider::ScopedWriteLockGL::textureId):
1639         (ScopedReadLockSoftware):
1640         (WebCore::CCResourceProvider::ScopedReadLockSoftware::skBitmap):
1641         (ScopedWriteLockSoftware):
1642         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::skCanvas):
1643         (Resource):
1644
1645 2012-08-22  Anna Cavender  <annacc@chromium.org>
1646
1647         Update the TextTrackCue Constructor
1648         https://bugs.webkit.org/show_bug.cgi?id=88583
1649
1650         Reviewed by Eric Carlson.
1651
1652         The TextTrackCue constructor has been changed to:
1653         [Constructor(double startTime, double endTime, DOMString text)]
1654         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue
1655
1656         No new tests.  Update to media/track/track-add-remove-cue.html
1657
1658         * html/track/TextTrackCue.cpp:
1659         (WebCore::TextTrackCue::TextTrackCue):
1660         * html/track/TextTrackCue.h:
1661         (WebCore::TextTrackCue::create):
1662         (TextTrackCue):
1663         * html/track/TextTrackCue.idl:
1664         * html/track/WebVTTParser.cpp:
1665         (WebCore::WebVTTParser::createNewCue):
1666
1667 2012-08-22  Erik Arvidsson  <arv@chromium.org>
1668
1669         Changing class attribute is not reflected in the classList property
1670         https://bugs.webkit.org/show_bug.cgi?id=93665
1671
1672         Reviewed by Ojan Vafai.
1673
1674         Before this change classAttributeChanged was only called for StyledElement. With this refactoring
1675         it gets called for all Elements when the class attribute changes.
1676
1677         Test: fast/dom/Element/class-list-update.html
1678
1679         * css/StyleResolver.cpp:
1680         (WebCore::StyleResolver::collectMatchingRules): To match the old behavior we only include StyledElements.
1681         * dom/ClassNodeList.cpp:
1682         (WebCore::ClassNodeList::nodeMatches): Ditto.
1683         * dom/Element.cpp:
1684         (WebCore::Element::attributeChanged): Moved the call to parseAttribute here, from StyledElement::attributeChanged.
1685         (WebCore::Element::parseAttribute): Moved from StyledElement.
1686         (WebCore):
1687         (WebCore::Element::classAttributeChanged): Ditto.
1688         * dom/Element.h:
1689         (Element):
1690         (WebCore::Element::classNames): Ditto.
1691         (WebCore):
1692         * dom/StyledElement.cpp:
1693         (WebCore::StyledElement::attributeChanged): Let Element::attributeChanged call parseAttribtue instead.
1694         (WebCore::StyledElement::parseAttribute): Move the class attribute handling to Element::parseAttribute.
1695         * dom/StyledElement.h:
1696         (StyledElement):
1697
1698 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1699
1700         [V8] Replace v8::String::NewSymbol() in CodeGeneratorV8.pm with v8String()
1701         https://bugs.webkit.org/show_bug.cgi?id=94588
1702
1703         Reviewed by Eric Seidel.
1704
1705         v8String() is faster than String::NewSymbol().
1706         This patch implements v8String(char*, Isolate*) and
1707         replaces String::NewSymbol(char*) in CodeGeneratorV8.pm
1708         with v8String(char*, Isolate*).
1709
1710         Performance result:
1711
1712         // 272 nano sec
1713         static v8::Handle<v8::Value> attr3AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
1714         {
1715             v8::Handle<v8::Value> v1 = v8String(String("foo"));
1716             v8::Handle<v8::Value> v2 = v8String(String("bar"));
1717             if (!v1.IsEmpty() && !v2.IsEmpty())
1718                 return v8Undefined();
1719             return v8::Null(); // Never reach.
1720         }
1721
1722         // 377 nano sec
1723         static v8::Handle<v8::Value> attr4AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
1724         {
1725             v8::Handle<v8::Value> v1 = v8::String::NewSymbol("foo");
1726             v8::Handle<v8::Value> v2 = v8::String::NewSymbol("bar");
1727             if (!v1.IsEmpty() && !v2.IsEmpty())
1728                 return v8Undefined();
1729             return v8::Null(); // Never reach.
1730         }
1731
1732         No tests. No change in behavior.
1733
1734         * bindings/scripts/CodeGeneratorV8.pm:
1735         (GenerateNormalAttrGetter):
1736         (GenerateNormalAttrSetter):
1737         (GenerateNamedConstructorCallback):
1738         (GenerateNonStandardFunction):
1739         (GenerateImplementation):
1740         * bindings/scripts/test/V8/V8Float64Array.cpp:
1741         (WebCore::ConfigureV8Float64ArrayTemplate):
1742         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1743         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1744         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1745         (WebCore::ConfigureV8TestEventTargetTemplate):
1746         * bindings/scripts/test/V8/V8TestInterface.cpp:
1747         (WebCore::ConfigureV8TestInterfaceTemplate):
1748         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1749         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
1750         * bindings/scripts/test/V8/V8TestObj.cpp:
1751         (WebCore::ConfigureV8TestObjTemplate):
1752         (WebCore::V8TestObj::installPerContextProperties):
1753         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1754         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
1755         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetter):
1756         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):
1757         * bindings/v8/V8Binding.h:
1758         (WebCore):
1759         (WebCore::v8String):
1760         * html/HTMLDivElement.idl:
1761
1762 2012-08-22  Pratik Solanki  <psolanki@apple.com>
1763
1764         Setting WebKitEnableHTTPPipelining doesn't work if default is true
1765         https://bugs.webkit.org/show_bug.cgi?id=94537
1766
1767         Reviewed by David Kilzer.
1768
1769         * platform/network/cf/ResourceRequestCFNet.cpp:
1770         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Read in the HTTP pipelining pref and
1771         allow it to override the default pipelining behavior if it was actually set.
1772
1773 2012-08-22  W. James MacLean  <wjmaclean@chromium.org>
1774
1775         [chromium] Add touch link highlight animation layers.
1776         https://bugs.webkit.org/show_bug.cgi?id=84487
1777
1778         Reviewed by James Robinson.
1779
1780         Adds support for creating composited touch link highlights in renderer thread. Clipping not yet
1781         implemented for non-composited frames/overflow divs, but scrolling and layout changes are supported.
1782         Transform support currently limited to translation.
1783
1784         Unit tests for LinkHighlight revised.
1785
1786         Tests: platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html
1787                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html
1788                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html
1789                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html
1790                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html
1791                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-clipped.html
1792                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html
1793                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html
1794                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html
1795                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html
1796                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html
1797                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
1798                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html
1799                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scroll-clip.html
1800                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html
1801                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html
1802                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html
1803                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html
1804                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html
1805                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html
1806                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-clipped.html
1807                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html
1808                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html
1809                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-clipped.html
1810                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html
1811                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html
1812                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html
1813                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html
1814                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html
1815                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html
1816                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html
1817                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html
1818                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html
1819                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html
1820                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html
1821                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html
1822                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-rotated.html
1823                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledX.html
1824                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledY.html
1825                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html
1826                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html
1827
1828         * WebCore.gypi:
1829         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1830         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1831         (WebCore::GraphicsLayerChromium::willBeDestroyed): Adds notification to LinkHighlight when layer goes away.
1832         (WebCore::GraphicsLayerChromium::updateNames): Now sets debug name for LinkHighlight layer.
1833         (WebCore::GraphicsLayerChromium::setSize): Invalidates LinkHighlight if present.
1834         (WebCore::GraphicsLayerChromium::setNeedsDisplay): Invalidates LinkHighlight if present.
1835         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): Invalidates LinkHighlight if present.
1836         (WebCore::GraphicsLayerChromium::setLinkHighlight): Registers LinkHighlightClient* with GraphicsLayerChromium.
1837         (WebCore::GraphicsLayerChromium::updateChildList): Now adds LinkHighlight WebLayer if highlight active.
1838         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable): Invalidates LinkHighlight if present.
1839         * platform/graphics/chromium/GraphicsLayerChromium.h:
1840         (WebCore):
1841         (LinkHighlightClient): Abstract interface seen by GraphicsLayerChromium.
1842         (WebCore::LinkHighlightClient::~LinkHighlightClient):
1843         (GraphicsLayerChromium):
1844         (WebCore::GraphicsLayerChromium::linkHighlight):
1845         * platform/graphics/chromium/LinkHighlight.cpp: Removed.
1846
1847 2012-08-22  Beth Dakin  <bdakin@apple.com>
1848
1849         https://bugs.webkit.org/show_bug.cgi?id=94401
1850         Add support for making a web site become paginated using overflow: 
1851         paged-x | paged-y
1852         -and corresponding-
1853         <rdar://problem/11831783> 
1854
1855         Reviewed by Dave Hyatt.
1856
1857         This patch adds two new possible values for overflow-y. They are -
1858         webkit-paged-x and -webkit-paged-y. When you set these as overflow-y 
1859         values on the html or body element, they make the RenderView 
1860         paginated, much like the API on Page.
1861
1862         -webkit-paged-x and -webkit-paged-y are only valid values for 
1863         overflow-y, NOT overflow-x. overflow-x defaults to a value of auto 
1864         (for now) unless it has been set to something else.
1865         * css/CSSParser.cpp:
1866         (WebCore::isValidKeywordPropertyAndValue):
1867         (WebCore::CSSParser::parseValue):
1868
1869         Two new CSS value keywords.
1870         * css/CSSValueKeywords.in:
1871
1872         EOverflow has two new values for pagination. 
1873         * rendering/style/RenderStyleConstants.h:
1874         * css/CSSPrimitiveValueMappings.h:
1875         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1876         (WebCore::CSSPrimitiveValue::operator EOverflow):
1877
1878         A bunch of existing code from StyleResolver::styleForDocument() is 
1879         moved into a helper function so that it can be called from two 
1880         places. 
1881         * css/StyleResolver.cpp:
1882         (WebCore::StyleResolver::collectMatchingRulesForList):
1883
1884         Even though this pagination is very similar to Page::pagination(), it 
1885         is different in one critical way. Page::pagination() will apply to 
1886         all FrameViews, even those in the page cache. For this reason, 
1887         FrameView needs to keep its own Pagination value that just applies to 
1888         this FrameView.
1889         * page/FrameView.cpp:
1890         * page/FrameView.h:
1891         (WebCore):
1892         (FrameView):
1893
1894         Map RenderStyle values to a Pagination::Mode.
1895         (WebCore::paginationModeForRenderStyle):
1896         (WebCore):
1897
1898         Account for paged-x and paged-y here.
1899         (WebCore::FrameView::applyOverflowToViewport):
1900
1901         As is explained in the header, FrameView::pagination() will return 
1902         m_pagination if it has been set. Otherwise, it will return 
1903         Page::pagination() since currently there are no callers that need to 
1904         distinguish between the two.
1905         (WebCore::FrameView::pagination):
1906         (WebCore::FrameView::setPagination):
1907
1908         Generally this means that everywhere in WebCore should ask FrameView 
1909         for the pagination(), not Page. These call sites all look to 
1910         FrameView now.
1911         (WebCore::FrameView::paintContents):
1912         * rendering/RenderView.cpp:
1913         (WebCore::RenderView::requiresColumns):
1914         (WebCore::RenderView::calcColumnWidth):
1915         (WebCore::RenderView::paginationUnit):
1916         (WebCore::RenderView::viewLogicalHeight):
1917
1918         Since we need to define Pagination in Page.h AND FrameView.h, it is 
1919         now in its own header, Pagination.h. And therefore it is no longer 
1920         WebCore::Page::Pagination, but rather it is just WebCore::Pagination.
1921         * page/Page.h:
1922         (Page):
1923         * rendering/Pagination.h: Added.
1924         (WebCore):
1925         (WebCore::Pagination::Pagination):
1926         (Pagination):
1927         (WebCore::Pagination::operator==):
1928         (WebCore::Pagination::operator!=):
1929         * WebCore.exp.in:
1930         * WebCore.xcodeproj/project.pbxproj:
1931         * GNUmakefile.list.am:
1932         * Target.pri:
1933         * WebCore.exp.in:
1934         * WebCore.gypi:
1935
1936         Certain ColumnInfo values are set based on the RenderStyle. So if 
1937         those RenderStyle values change, the ColumnInfo needs to be updated.
1938         * rendering/RenderBlock.cpp:
1939         (WebCore::RenderBlock::updateColumnInfoFromStyle):
1940         (WebCore):
1941         * rendering/RenderBlock.h:
1942         (RenderBlock):
1943
1944         Factor in paged-x and paged-y when determining if a RenderBlock 
1945         requires columns.
1946         (WebCore::RenderBlock::requiresColumns):
1947
1948         RenderStyle::specifiesColumns() is an odd and probably broken 
1949         function. At the very least, it should be re-named, if not removed 
1950         entirely. It does not accurately assess if columns have been 
1951         specified. I had to add this code here because specifiesColumns() 
1952         returns false for paged-x and true for paged-y. We were hitting a 
1953         number of crashes with paged-y because of this, so I chose for the 
1954         time being to limit this check to non-root layers.
1955         * rendering/RenderLayer.cpp:
1956         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1957
1958         It's just Pagination now, not Page::Pagination.
1959         * testing/InternalSettings.cpp:
1960         (WebCore::InternalSettings::reset):
1961         (WebCore::InternalSettings::setPagination):
1962
1963 2012-08-22  Dean Jackson  <dino@apple.com>
1964
1965         [WebGL] Mac/ATI/AMD systems need to translate built-in GLSL functions
1966         https://bugs.webkit.org/show_bug.cgi?id=94030
1967
1968         Reviewed by Tim Horton.
1969
1970         ATI/AMD GPUs on Apple platforms do not give correct values for some of
1971         the built-in GLSL functions. Add a compile flag that is passed to ANGLE
1972         so that, with this configuration, it will rewrite the shader to emulate
1973         the function in code.
1974
1975         This is exposing some design weaknesses in the way we call ANGLE. We'll
1976         soon need to add more compiler flags; Future bugs will likely clean
1977         this code up. But this approach is satisfactory for the moment.
1978
1979         This change is tested by the Khronos WebGL conformance test suite, in particular:
1980         conformance/glsl/functions/glsl-function-distance.html
1981         conformance/glsl/functions/glsl-function-dot.html
1982         conformance/glsl/functions/glsl-function-length.html
1983
1984         * platform/graphics/ANGLEWebKitBridge.cpp:
1985         (WebCore::ANGLEWebKitBridge::validateShaderSource): Test for ATI cards
1986         on the Mac platform, and pass in an extra flag to the translation step.
1987         * platform/graphics/ANGLEWebKitBridge.h:
1988         (ANGLEWebKitBridge): Add a new parameter to getTranslatedShaderSourceANGLE
1989         that accepts some extra options to pass to ANGLE.
1990         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1991         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Pass
1992         the extra options into ANGLE's compile function.
1993
1994 2012-08-22  Tommy Widenflycht  <tommyw@google.com>
1995
1996         [chromium] MediaStream API: Add MockWebRTCPeerConnectionHandler
1997         https://bugs.webkit.org/show_bug.cgi?id=93091
1998
1999         Reviewed by Adam Barth.
2000
2001         Fixing a FIXME that the patch obsoletes.
2002
2003         Covered by existing tests.
2004
2005         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
2006         (WebCore::RTCPeerConnectionHandlerChromium::initialize):
2007
2008 2012-08-22  Eric Penner  <epenner@google.com>
2009
2010         [chromium] Simplify updateContentRect, removing rect parameter, refactor unit tests.
2011         https://bugs.webkit.org/show_bug.cgi?id=94165
2012
2013         Reviewed by Adrienne Walker.
2014
2015         Remove visible rect parameter from TiledLayerChromium functions. Passing a
2016         rect that is not the visible rect wouldn't make sense, and soon we might
2017         need further visibility information.
2018
2019         In refactoring the unit tests, I removed texture manager from all tests
2020         and put it in the test class. I also made some utility functions to 
2021         simulate the commit flow and remove tons of boilerplate code. I refactored
2022         about half the unit tests to use the utility functions.
2023
2024         Refactored tests.
2025
2026         * platform/graphics/chromium/ContentLayerChromium.cpp:
2027         (WebCore::ContentLayerChromium::update):
2028         (WebCore::ContentLayerChromium::needMoreUpdates):
2029         * platform/graphics/chromium/ImageLayerChromium.cpp:
2030         (WebCore::ImageLayerChromium::update):
2031         * platform/graphics/chromium/TiledLayerChromium.cpp:
2032         (WebCore):
2033         (WebCore::TiledLayerChromium::setTexturePriorities):
2034         (WebCore::TiledLayerChromium::resetUpdateState):
2035         (WebCore::TiledLayerChromium::update):
2036         (WebCore::TiledLayerChromium::needsIdlePaint):
2037         (WebCore::TiledLayerChromium::idlePaintRect):
2038         * platform/graphics/chromium/TiledLayerChromium.h:
2039         (TiledLayerChromium):
2040
2041 2012-08-22  Otto Derek Cheung  <otcheung@rim.com>
2042
2043         [BlackBerry] Add a check to filter out cookies that tries to set the 
2044         domain to a top level domain
2045         https://bugs.webkit.org/show_bug.cgi?id=94722
2046
2047         Reviewed by Rob Buis.
2048
2049         Adding conditions to check whether a cookie domain is a top level domain.
2050         If it is, throw it out when parsing.
2051
2052         Manual Testing by trying to insert a cookie with an invalid domain
2053         using web-inspector. (ex: when on news.yahoo.com.hk, try to document.
2054         cookie="test1=seeifthiscookieexist; domain=.com.hk")
2055
2056         PR121622
2057
2058         * platform/blackberry/CookieParser.cpp:
2059         WebCore::CookieParser::parseOneCookie):
2060
2061 2012-08-22  Rob Buis  <rwlbuis@webkit.org>
2062
2063         Remove RenderBlock::paintEllipsisBoxes
2064         https://bugs.webkit.org/show_bug.cgi?id=94709
2065
2066         Reviewed by Eric Seidel.
2067
2068         Remove unused method.
2069
2070         No change in functionality, no new tests.
2071
2072         * rendering/RenderBlock.cpp:
2073         (WebCore::RenderBlock::paintFloats):
2074         * rendering/RenderBlock.h:
2075         (RenderBlock):
2076
2077 2012-08-22  Tommy Widenflycht  <tommyw@google.com>
2078
2079         MediaStream API: Introduce RTCSessionDescription
2080         https://bugs.webkit.org/show_bug.cgi?id=93119
2081
2082         Reviewed by Adam Barth.
2083
2084         This patch introduces RTCSessionDescription together with its
2085         corresponding WebCore/platform representation.
2086
2087         Test: fast/mediastream/RTCSessionDescription.html
2088
2089         * CMakeLists.txt:
2090         * GNUmakefile.list.am:
2091         * Modules/mediastream/DOMWindowMediaStream.idl:
2092         * Modules/mediastream/RTCSessionDescription.cpp: Added.
2093         (WebCore):
2094         (WebCore::RTCSessionDescription::create):
2095         (WebCore::RTCSessionDescription::RTCSessionDescription):
2096         (WebCore::RTCSessionDescription::~RTCSessionDescription):
2097         (WebCore::RTCSessionDescription::type):
2098         (WebCore::RTCSessionDescription::setType):
2099         (WebCore::RTCSessionDescription::sdp):
2100         (WebCore::RTCSessionDescription::setSdp):
2101         (WebCore::RTCSessionDescription::descriptor):
2102         * Modules/mediastream/RTCSessionDescription.h: Added.
2103         (WebCore):
2104         (RTCSessionDescription):
2105         * Modules/mediastream/RTCSessionDescription.idl: Added.
2106         * WebCore.gypi:
2107         * platform/mediastream/RTCSessionDescriptionDescriptor.cpp: Added.
2108         (WebCore):
2109         (WebCore::RTCSessionDescriptionDescriptor::create):
2110         (WebCore::RTCSessionDescriptionDescriptor::RTCSessionDescriptionDescriptor):
2111         (WebCore::RTCSessionDescriptionDescriptor::~RTCSessionDescriptionDescriptor):
2112         * platform/mediastream/RTCSessionDescriptionDescriptor.h: Added.
2113         (WebCore):
2114         (RTCSessionDescriptionDescriptor):
2115         (WebCore::RTCSessionDescriptionDescriptor::type):
2116         (WebCore::RTCSessionDescriptionDescriptor::setType):
2117         (WebCore::RTCSessionDescriptionDescriptor::sdp):
2118         (WebCore::RTCSessionDescriptionDescriptor::setSdp):
2119
2120 2012-08-22  Victor Carbune  <victor@rosedu.org>
2121
2122         DOM manipulation crashes the browser
2123
2124         Creating a DOM track element by script and changing the mode crashes
2125         results in a browser crash.
2126         https://bugs.webkit.org/show_bug.cgi?id=94628
2127
2128         Reviewed by Eric Carlson.
2129
2130         Simple fix that creates the text track cue list in case of mode change.
2131
2132         Test: media/track/track-element-dom-change-crash.html
2133
2134         * html/HTMLMediaElement.cpp:
2135         (WebCore::HTMLMediaElement::textTrackModeChanged):
2136
2137 2012-08-22  Ryosuke Niwa  <rniwa@webkit.org>
2138
2139         Microdata build fix.
2140
2141         * html/HTMLPropertiesCollection.h:
2142         (WebCore::HTMLPropertiesCollection::updatePropertyCache):
2143
2144 2012-08-22  Tommy Widenflycht  <tommyw@google.com>
2145
2146         MediaStream API: Introduce RTCIceCandidate
2147         https://bugs.webkit.org/show_bug.cgi?id=93117
2148
2149         Reviewed by Adam Barth.
2150
2151         This patch introduces RTCIceCandidate together with its corresponding
2152         WebCore/platform representation.
2153
2154         Test: fast/mediastream/RTCIceCandidate.html
2155
2156         * CMakeLists.txt:
2157         * GNUmakefile.list.am:
2158         * Modules/mediastream/DOMWindowMediaStream.idl:
2159         * Modules/mediastream/RTCIceCandidate.cpp: Added.
2160         (WebCore):
2161         (WebCore::RTCIceCandidate::create):
2162         (WebCore::RTCIceCandidate::RTCIceCandidate):
2163         (WebCore::RTCIceCandidate::~RTCIceCandidate):
2164         (WebCore::RTCIceCandidate::candidate):
2165         (WebCore::RTCIceCandidate::sdpMid):
2166         (WebCore::RTCIceCandidate::sdpMLineIndex):
2167         (WebCore::RTCIceCandidate::descriptor):
2168         * Modules/mediastream/RTCIceCandidate.h: Added.
2169         (WebCore):
2170         (RTCIceCandidate):
2171         * Modules/mediastream/RTCIceCandidate.idl: Added.
2172         * WebCore.gypi:
2173         * platform/mediastream/RTCIceCandidateDescriptor.cpp: Added.
2174         (WebCore):
2175         (WebCore::RTCIceCandidateDescriptor::create):
2176         (WebCore::RTCIceCandidateDescriptor::RTCIceCandidateDescriptor):
2177         (WebCore::RTCIceCandidateDescriptor::~RTCIceCandidateDescriptor):
2178         * platform/mediastream/RTCIceCandidateDescriptor.h: Added.
2179         (WebCore):
2180         (RTCIceCandidateDescriptor):
2181         (WebCore::RTCIceCandidateDescriptor::candidate):
2182         (WebCore::RTCIceCandidateDescriptor::sdpMid):
2183         (WebCore::RTCIceCandidateDescriptor::sdpMLineIndex):
2184
2185 2012-08-22  Mark Rowe  <mrowe@apple.com>
2186
2187         <http://webkit.org/b/94679> WebCore scrolling thread leaks objects due to them being autoreleased without any autorelease pool in place
2188
2189         Reviewed by Dan Bernstein.
2190
2191         * page/scrolling/mac/ScrollingThreadMac.mm:
2192         (WebCore::ScrollingThread::threadRunLoopSourceCallback): Ensure that an autorelease pool is in place when
2193         dispatching functions on the scrolling thread.
2194
2195 2012-08-22  Pratik Solanki  <psolanki@apple.com>
2196
2197         Failure to dispatch delegate callbacks if resource load fails synchronously
2198         https://bugs.webkit.org/show_bug.cgi?id=94644
2199
2200         Reviewed by Antti Koivisto.
2201
2202         Resource loads can be triggered by layout after document load is
2203         complete but before we have dispatched didFinishLoadForFrame callback.
2204         In such cases, if the load fails synchronously due to the client
2205         returning 0 from willSendRequest callback, we would fail to call
2206         didFinishLoading. this was fixed for Font resources in r122446 for bug
2207         91018. This fixes it in the general case by having CachedResourceLoader
2208         call FrameLoader::checkLoadComplete() when it is done loading all
2209         resources.
2210
2211         * css/CSSFontSelector.cpp:
2212         (WebCore::CSSFontSelector::beginLoadTimerFired):
2213         * loader/cache/CachedResourceLoader.cpp:
2214         (WebCore::CachedResourceLoader::decrementRequestCount):
2215
2216 2012-08-22  Kenneth Russell  <kbr@google.com>
2217
2218         Unreviewed, rolling out r126319.
2219         http://trac.webkit.org/changeset/126319
2220         https://bugs.webkit.org/show_bug.cgi?id=84487
2221
2222         Broke Chromium Mac build
2223
2224         * WebCore.gypi:
2225         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2226         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2227         (WebCore::GraphicsLayerChromium::willBeDestroyed):
2228         (WebCore::GraphicsLayerChromium::updateNames):
2229         (WebCore::GraphicsLayerChromium::setSize):
2230         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
2231         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
2232         (WebCore::GraphicsLayerChromium::addLinkHighlight):
2233         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
2234         (WebCore):
2235         (WebCore::GraphicsLayerChromium::updateChildList):
2236         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
2237         * platform/graphics/chromium/GraphicsLayerChromium.h:
2238         (WebCore):
2239         (GraphicsLayerChromium):
2240         * platform/graphics/chromium/LinkHighlight.cpp: Added.
2241         (WebCore):
2242         (WebCore::LinkHighlight::create):
2243         (WebCore::LinkHighlight::LinkHighlight):
2244         (WebCore::LinkHighlight::~LinkHighlight):
2245         (WebCore::LinkHighlight::contentLayer):
2246         (WebCore::LinkHighlight::paintContents):
2247         (WebCore::LinkHighlight::notifyAnimationStarted):
2248         (WebCore::LinkHighlight::notifyAnimationFinished):
2249         * platform/graphics/chromium/LinkHighlight.h: Renamed from Source/WebKit/chromium/src/LinkHighlight.h.
2250         (WebCore):
2251         (LinkHighlight):
2252
2253 2012-08-22  Alexei Svitkine  <asvitkine@chromium.org>
2254
2255         Respect system setting for rubber-banding in ScrollAnimatorMac.
2256         https://bugs.webkit.org/show_bug.cgi?id=94356
2257
2258         Reviewed by James Robinson.
2259
2260         Respects user defaults setting of NSScrollViewRubberbanding,
2261         which controls rubber-banding in other Mac OS X applications.
2262
2263         If NSScrollViewRubberbanding is not set, defaults to enabling
2264         rubber banding. Otherwise, rubber banding is disabled if the
2265         value is 0 and enabled otherwise.
2266
2267         No new tests since the behavior depends on system settings.
2268
2269         * platform/mac/ScrollAnimatorMac.mm:
2270         (WebCore):
2271         (WebCore::rubberBandingEnabledForSystem):
2272         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2273
2274 2012-08-22  James Robinson  <jamesr@chromium.org>
2275
2276         [chromium/mac] Remove unnecessary checks for OS version <= 10.5. We don't support those
2277         https://bugs.webkit.org/show_bug.cgi?id=94658
2278
2279         Reviewed by Tony Chang.
2280
2281         The chromium mac port hasn't supported Leopard for a while now, so remove chromium-specific code that checks
2282         for OS X version <= Leopard.
2283
2284         * platform/graphics/chromium/CrossProcessFontLoading.mm:
2285         (WebCore::FontPlatformData::loadFont):
2286         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2287         (WebCore::canSetCascadeListForCustomFont):
2288
2289 2012-08-22  W. James MacLean  <wjmaclean@chromium.org>
2290
2291         [chromium] Add touch link highlight animation layers.
2292         https://bugs.webkit.org/show_bug.cgi?id=84487
2293
2294         Reviewed by James Robinson.
2295
2296         Adds support for creating composited touch link highlights in renderer thread. Clipping not yet
2297         implemented for non-composited frames/overflow divs, but scrolling and layout changes are supported.
2298         Transform support currently limited to translation.
2299
2300         Unit tests for LinkHighlight revised.
2301
2302         Tests: platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html
2303                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html
2304                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html
2305                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html
2306                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html
2307                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-clipped.html
2308                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html
2309                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html
2310                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html
2311                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html
2312                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html
2313                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
2314                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html
2315                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scroll-clip.html
2316                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html
2317                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html
2318                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html
2319                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html
2320                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html
2321                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html
2322                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-clipped.html
2323                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html
2324                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html
2325                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-clipped.html
2326                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html
2327                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html
2328                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html
2329                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html
2330                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html
2331                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html
2332                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html
2333                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html
2334                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html
2335                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html
2336                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html
2337                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html
2338                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-rotated.html
2339                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledX.html
2340                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledY.html
2341                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html
2342                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html
2343
2344         * WebCore.gypi:
2345         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2346         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2347         (WebCore::GraphicsLayerChromium::willBeDestroyed): Adds notification to LinkHighlight when layer goes away.
2348         (WebCore::GraphicsLayerChromium::updateNames): Now sets debug name for LinkHighlight layer.
2349         (WebCore::GraphicsLayerChromium::setSize): Invalidates LinkHighlight if present.
2350         (WebCore::GraphicsLayerChromium::setNeedsDisplay): Invalidates LinkHighlight if present.
2351         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): Invalidates LinkHighlight if present.
2352         (WebCore::GraphicsLayerChromium::setLinkHighlight): Registers LinkHighlightClient* with GraphicsLayerChromium.
2353         (WebCore::GraphicsLayerChromium::updateChildList): Now adds LinkHighlight WebLayer if highlight active.
2354         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable): Invalidates LinkHighlight if present.
2355         * platform/graphics/chromium/GraphicsLayerChromium.h:
2356         (WebCore):
2357         (LinkHighlightClient): Abstract interface seen by GraphicsLayerChromium.
2358         (WebCore::LinkHighlightClient::~LinkHighlightClient):
2359         (GraphicsLayerChromium):
2360         (WebCore::GraphicsLayerChromium::linkHighlight):
2361         * platform/graphics/chromium/LinkHighlight.cpp: Removed.
2362
2363 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
2364
2365         Unreviewed build fix. Missing PANGO_CFLAGS.
2366
2367         * GNUmakefile.am:
2368
2369 2012-08-22  Pavel Feldman  <pfeldman@chromium.org>
2370
2371         Web Inspector: make "sdk" component compile independently from the rest of the front-end.
2372         https://bugs.webkit.org/show_bug.cgi?id=94705
2373
2374         Reviewed by Vsevolod Vlasov.
2375
2376         This change refactors the way we compile. Running "compile-front-end.py sdk" will compile sdk only.
2377         It also introduces DOMStorageModel and DatabaseModel that are used to split model / UI layers.
2378
2379         * WebCore.gypi:
2380         * WebCore.vcproj/WebCore.vcproj:
2381         * inspector/InjectedScriptExterns.js:
2382         (InjectedScriptHost.prototype.evaluate):
2383         * inspector/Inspector.json:
2384         * inspector/compile-front-end.py:
2385         (dump_module):
2386         * inspector/front-end/CompilerScriptMapping.js:
2387         * inspector/front-end/ConsoleModel.js:
2388         (WebInspector.ConsoleMessage):
2389         (WebInspector.ConsoleMessage.prototype.clone):
2390         (WebInspector.ConsoleMessage.prototype.location):
2391         * inspector/front-end/DOMAgent.js:
2392         * inspector/front-end/DOMStorage.js:
2393         (WebInspector.DOMStorageModel):
2394         (WebInspector.DOMStorageModel.prototype._addDOMStorage):
2395         (WebInspector.DOMStorageModel.prototype._domStorageUpdated):
2396         (WebInspector.DOMStorageModel.prototype.storageForId):
2397         (WebInspector.DOMStorageModel.prototype.storages):
2398         (WebInspector.DOMStorageDispatcher):
2399         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
2400         (WebInspector.DOMStorageDispatcher.prototype.domStorageUpdated):
2401         * inspector/front-end/Database.js:
2402         (WebInspector.Database):
2403         (WebInspector.Database.prototype.executeSql):
2404         (WebInspector.DatabaseModel):
2405         (WebInspector.DatabaseModel.prototype.databases):
2406         (WebInspector.DatabaseModel.prototype.databaseForId):
2407         (WebInspector.DatabaseModel.prototype._addDatabase):
2408         (WebInspector.DatabaseModel.prototype._sqlTransactionSucceeded):
2409         (WebInspector.DatabaseModel.prototype._sqlTransactionFailed):
2410         (WebInspector.DatabaseDispatcher):
2411         (WebInspector.DatabaseDispatcher.prototype.addDatabase):
2412         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
2413         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
2414         * inspector/front-end/DebuggerModel.js:
2415         * inspector/front-end/FileUtils.js:
2416         (WebInspector.OutputStreamDelegate.prototype.onTransferStarted):
2417         (WebInspector.OutputStreamDelegate.prototype.onChunkTransferred):
2418         (WebInspector.OutputStreamDelegate.prototype.onTransferFinished):
2419         (WebInspector.OutputStreamDelegate.prototype.onError):
2420         (WebInspector.OutputStream):
2421         (WebInspector.OutputStream.prototype.startTransfer):
2422         (WebInspector.OutputStream.prototype.transferChunk):
2423         (WebInspector.OutputStream.prototype.finishTransfer):
2424         (WebInspector.OutputStream.prototype.dispose):
2425         * inspector/front-end/HandlerRegistry.js:
2426         * inspector/front-end/HeapSnapshotView.js:
2427         * inspector/front-end/InspectorFrontendHostStub.js:
2428         * inspector/front-end/PresentationConsoleMessageHelper.js:
2429         (WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource):
2430         * inspector/front-end/ResourcesPanel.js:
2431         (WebInspector.ResourcesPanel):
2432         (WebInspector.ResourcesPanel.prototype._reset):
2433         (WebInspector.ResourcesPanel.prototype._databaseAdded):
2434         (WebInspector.ResourcesPanel.prototype._addDatabase):
2435         (WebInspector.ResourcesPanel.prototype._domStorageAdded):
2436         (WebInspector.ResourcesPanel.prototype._addDOMStorage):
2437         (WebInspector.ResourcesPanel.prototype._showDatabase.get if):
2438         (WebInspector.ResourcesPanel.prototype._showDatabase.else.get if):
2439         (WebInspector.ResourcesPanel.prototype._showDatabase):
2440         (WebInspector.ResourcesPanel.prototype._showDOMStorage.get if):
2441         (WebInspector.ResourcesPanel.prototype._showDOMStorage):
2442         (WebInspector.ResourcesPanel.prototype._updateDatabaseTables.get if):
2443         (WebInspector.ResourcesPanel.prototype._updateDatabaseTables.tableNamesCallback):
2444         (WebInspector.DatabaseTreeElement.prototype.onselect):
2445         (WebInspector.DatabaseTableTreeElement.prototype.onselect):
2446         (WebInspector.DOMStorageTreeElement.prototype.onselect):
2447         * inspector/front-end/ScriptsPanel.js:
2448         (WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
2449         * inspector/front-end/SearchController.js:
2450         (WebInspector.SearchController.prototype.disableSearchUntilExplicitAction):
2451         * inspector/front-end/Settings.js:
2452         * inspector/front-end/Spectrum.js:
2453         * inspector/front-end/TextEditorModel.js:
2454         * inspector/front-end/UIString.js: Added.
2455         (WebInspector.UIString):
2456         * inspector/front-end/UIUtils.js:
2457         * inspector/front-end/WebKit.qrc:
2458         * inspector/front-end/externs.js:
2459         (InspectorFrontendHostAPI.prototype.platform):
2460         (InspectorFrontendHostAPI.prototype.port):
2461         (InspectorFrontendHostAPI.prototype.bringToFront):
2462         (InspectorFrontendHostAPI.prototype.closeWindow):
2463         (InspectorFrontendHostAPI.prototype.requestAttachWindow):
2464         (InspectorFrontendHostAPI.prototype.requestDetachWindow):
2465         (InspectorFrontendHostAPI.prototype.requestSetDockSide):
2466         (InspectorFrontendHostAPI.prototype.setAttachedWindowHeight):
2467         (InspectorFrontendHostAPI.prototype.moveWindowBy):
2468         (InspectorFrontendHostAPI.prototype.setInjectedScriptForOrigin):
2469         (InspectorFrontendHostAPI.prototype.loaded):
2470         (InspectorFrontendHostAPI.prototype.localizedStringsURL):
2471         (InspectorFrontendHostAPI.prototype.hiddenPanels):
2472         (InspectorFrontendHostAPI.prototype.inspectedURLChanged):
2473         (InspectorFrontendHostAPI.prototype.documentCopy):
2474         (InspectorFrontendHostAPI.prototype.copyText):
2475         (InspectorFrontendHostAPI.prototype.openInNewTab):
2476         (InspectorFrontendHostAPI.prototype.canSave):
2477         (InspectorFrontendHostAPI.prototype.save):
2478         (InspectorFrontendHostAPI.prototype.canAppend):
2479         (InspectorFrontendHostAPI.prototype.append):
2480         (InspectorFrontendHostAPI.prototype.sendMessageToBackend):
2481         (InspectorFrontendHostAPI.prototype.recordActionTaken):
2482         (InspectorFrontendHostAPI.prototype.recordPanelShown):
2483         (InspectorFrontendHostAPI.prototype.recordSettingChanged):
2484         (InspectorFrontendHostAPI.prototype.loadResourceSynchronously):
2485         (InspectorFrontendHostAPI.prototype.setZoomFactor):
2486         (InspectorFrontendHostAPI.prototype.canInspectWorkers):
2487         (SourceMapV3):
2488         (SourceMapV3.Section):
2489         (SourceMapV3.Offset):
2490         * inspector/front-end/inspector.html:
2491         * inspector/front-end/inspector.js:
2492         (WebInspector.inspect):
2493
2494 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
2495
2496         Unreviewed build fix. libWebCore needs include paths
2497         for some bits of WebCoreGtk.
2498
2499         * GNUmakefile.am:
2500
2501 2012-08-22  Koji Ishii  <kojiishi@gmail.com>
2502
2503         FontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBoundsForGlyph are not implemented on Chromium Windows
2504         https://bugs.webkit.org/show_bug.cgi?id=83512
2505
2506         Reviewed by Tony Chang.
2507
2508         Chromium Windows does not implement following 3 functions that are required for bug 51450.
2509         1. FontMetrics.unitsPerEm() always returns the default value (gDefaultUnitsPerEm = 1000).
2510         2. FontPlatformData.orientation() always returns Horizontal.
2511         3. SimpleFontData::platformBoundsForGlyph() always returns FloatRect().
2512         Tony suggested in bug 51450 review to split code that is not behind
2513         #if ENABLE(OPENTYPE_VERTICAL) to a separate patch.
2514
2515         Test: Following 3 existing but skipped tests are now enabled and pass.
2516               fast/text/emphasis-overlap.html
2517               fast/text/emphasis-avoid-ruby.html
2518               fast/repaint/text-emphasis-v.html
2519
2520         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2521         (WebCore::FontCache::createFontPlatformData): Add orientation.
2522         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2523         (WebCore::FontPlatformData::FontPlatformData): Add orientation.
2524         (WebCore::FontPlatformData::operator=): Add orientation.
2525         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
2526         (FontPlatformData):
2527         (WebCore::FontPlatformData::orientation): Add orientation.
2528         (WebCore::FontPlatformData::setOrientation): Add orientation.
2529         (WebCore::FontPlatformData::operator==): Add orientation.
2530         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2531         (WebCore::SimpleFontData::platformInit): Set FontMetrics.unitsPerEm.
2532         (WebCore::SimpleFontData::createScaledFontData): Add orientation.
2533         (WebCore::SimpleFontData::platformBoundsForGlyph): Implemented.
2534         * platform/graphics/skia/FontCustomPlatformData.cpp:
2535         (WebCore::FontCustomPlatformData::fontPlatformData): Add orientation.
2536
2537 2012-08-22  Robert Hogan  <robert@webkit.org>
2538
2539         REGRESSION(r125578): fast/regex/unicodeCaseInsensitive.html crash on Linux Debug Chromium
2540         https://bugs.webkit.org/show_bug.cgi?id=94010
2541
2542         Reviewed by Tony Chang.
2543
2544         r125578 inspected the raw text run for word-end but the index it used to do so was for a normalized
2545         version of the run that could be longer than the raw text run. So to allow proper detection of word-end
2546         in complex text (i) do not normalize tabs to plain white-space and (ii) go back to using the normalized version
2547         of the run for detecting word-end. There is a risk that some fonts may create glyphs for the '\t' character 
2548         but this does not turn up in any of our regression tests and the more common risk appears to be the new-line.
2549
2550         Test: fast/regex/unicodeCaseInsensitive.html
2551
2552         * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
2553         (WebCore::normalizeSpacesAndMirrorChars):
2554
2555 2012-08-22  Andrey Adaikin  <aandrey@chromium.org>
2556
2557         Web Inspector: [WebGL] Support the communication protocol from the injected script
2558         https://bugs.webkit.org/show_bug.cgi?id=94689
2559
2560         Reviewed by Pavel Feldman.
2561
2562         Support the WebGL communication protocol from the injected script module.
2563
2564         * inspector/InjectedScriptWebGLModuleSource.js:
2565         (.):
2566
2567 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
2568
2569         [GTK] Split WebCore/platform into a separate library
2570         https://bugs.webkit.org/show_bug.cgi?id=94435
2571
2572         Reviewed by Martin Robinson.
2573
2574         More people have been reporting problems when linking WebCore because
2575         the command line limit is being exceeded. Splitting WebCore a bit more
2576         is in order.
2577
2578         * GNUmakefile.am: add new libWebCorePlatform convenience library.
2579         * GNUmakefile.list.am: move list of platform/* files to its own variable.
2580
2581 2012-08-22  Raphael Kubo da Costa  <rakuco@webkit.org>
2582
2583         [EFL] Build failures with harfbuzz outside standard locations
2584         https://bugs.webkit.org/show_bug.cgi?id=93030
2585
2586         Reviewed by Rob Buis.
2587
2588         Add ${HARFBUZZ_INCLUDE_DIRS} to the list of included paths: so far
2589         it was being implicitly pulled from evas's pkg-config file, and
2590         used to work when WebKit-EFL's dependencies were built with
2591         jhbuild -- in this case, harfbuzz is built before evas, which is
2592         then built with harfbuzz support and adds the required paths to
2593         its .pc file.
2594
2595         We need to include things directly to account for the case of
2596         people not using jhbuild and thus not necessarily having harfbuzz
2597         as an evas dependency.
2598
2599         * PlatformEfl.cmake:
2600
2601 2012-08-22  Raul Hudea  <rhudea@adobe.com>
2602
2603         Crash in WebCore::RenderBlock::removeChild
2604         https://bugs.webkit.org/show_bug.cgi?id=93879
2605
2606         Reviewed by Abhishek Arya.
2607
2608         By adding the lifetime state to the RenderNamedFlowThread (r122556), it become possible for the a RenderRegion object to delete its sibling,
2609         the RenderNamedFlowThread. This is unexpected in the rendering world and cause problems in RenderBlock::removeChild where we retain previous
2610         and next sibling pointers.
2611         So, all the RenderNamedFlowThread are created under a RenderFlowThreadContainer object insted of the RenderView. The new object is created only
2612         when the first named flow is created.
2613
2614         Test: fast/regions/remove-flow-thread-crash.html
2615
2616         * CMakeLists.txt:
2617         * GNUmakefile.list.am:
2618         * Target.pri:
2619         * WebCore.gypi:
2620         * WebCore.vcproj/WebCore.vcproj:
2621         * WebCore.xcodeproj/project.pbxproj:
2622         * rendering/FlowThreadController.cpp:
2623         (WebCore::FlowThreadController::FlowThreadController): Added initialization for the new RenderFlowThreadContainer member
2624         (WebCore::FlowThreadController::ensureRenderFlowThreadWithName): Added the creation of the RenderFlowThreadContainer object and use it as a parent for all RenderNamedFlowThreads
2625         (WebCore::FlowThreadController::styleDidChange): Inform all the RenderNamedFlowThreads that the style changed in regions (initially this code was in RenderView, but now all RenderNamedFlowThreads are children of RenderFlowThreadContainer)
2626         (WebCore):
2627         * rendering/FlowThreadController.h:
2628         (WebCore):
2629         (FlowThreadController):
2630         * rendering/RenderFlowThreadContainer.cpp: Added.
2631         (WebCore):
2632         (WebCore::RenderFlowThreadContainer::RenderFlowThreadContainer):
2633         (WebCore::RenderFlowThreadContainer::layout):
2634         * rendering/RenderFlowThreadContainer.h: Added.
2635         * rendering/RenderObject.cpp:
2636         (WebCore::RenderObject::markContainingBlocksForLayout): Skip to RenderView if the current object is an RenderFlowThreadContainer.
2637         * rendering/RenderObject.h:
2638         (WebCore::RenderObject::isRenderFlowThreadContainer):
2639         * rendering/RenderView.cpp:
2640         (WebCore::RenderView::styleDidChange): Moved the code associated to RenderNamedFlowThreads to FlowThreadController:styleDidChange and call it instead.
2641
2642 2012-08-22  Rob Buis  <rbuis@rim.com>
2643
2644         [BlackBerry] Add RSS content handling support
2645         https://bugs.webkit.org/show_bug.cgi?id=93496
2646
2647         Reviewed by Yong Li.
2648
2649         Cleanup some more.
2650
2651         * platform/network/blackberry/rss/RSSFilterStream.cpp:
2652         (WebCore):
2653         (WebCore::createParser):
2654         (WebCore::defaultEncodingForLanguage):
2655         (WebCore::isTranscodingNeeded):
2656
2657 2012-08-21  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2658
2659         Remove unused TextDrawingMode flags from GraphicsContext
2660         https://bugs.webkit.org/show_bug.cgi?id=21898
2661
2662         Reviewed by Benjamin Poulain.
2663
2664         Remove TextModeClip and TextModeInvisible. These are not used by any port, and
2665         according to https://bugs.webkit.org/show_bug.cgi?id=42110#c2 these were added
2666         just to map CG existing flags, but are not used.
2667
2668         * platform/graphics/GraphicsContext.h:
2669         * platform/graphics/cg/GraphicsContextCG.cpp:
2670         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
2671         * platform/graphics/openvg/PainterOpenVG.cpp:
2672         (WebCore::PainterOpenVG::drawText):
2673         * platform/graphics/skia/PlatformContextSkia.cpp:
2674         (WebCore::PlatformContextSkia::setTextDrawingMode):
2675
2676 2012-08-22  Sheriff Bot  <webkit.review.bot@gmail.com>
2677
2678         Unreviewed, rolling out r126287.
2679         http://trac.webkit.org/changeset/126287
2680         https://bugs.webkit.org/show_bug.cgi?id=94708
2681
2682         It made WK1 layout testing 3.7x slower (>1hours) (Requested by
2683         ossy on #webkit).
2684
2685         * bridge/qt/qt_instance.cpp:
2686         (JSC::Bindings::unusedWeakObjectMapCallback):
2687         (Bindings):
2688         (JSC::Bindings::WeakMapImpl::WeakMapImpl):
2689         (JSC::Bindings::WeakMapImpl::~WeakMapImpl):
2690         (JSC::Bindings::WeakMap::~WeakMap):
2691         (JSC::Bindings::WeakMap::set):
2692         (JSC::Bindings::WeakMap::get):
2693         (JSC::Bindings::WeakMap::remove):
2694         * bridge/qt/qt_instance.h:
2695         (QtInstance):
2696         * bridge/qt/qt_runtime.cpp:
2697         (JSC::Bindings::prototypeForSignalsAndSlots):
2698         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
2699         (JSC::Bindings::QtRuntimeMethod::call):
2700         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
2701         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
2702         * bridge/qt/qt_runtime.h:
2703         (QtRuntimeMethod):
2704
2705 2012-08-22  Pavel Feldman  <pfeldman@chromium.org>
2706
2707         Not reviewed: follow up to r126297, fixing WebCore.gypi.
2708
2709         * WebCore.gypi:
2710
2711 2012-08-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2712
2713         [GTK] Preferred languages and spellchecker APIs are not consistent in WebKit2
2714         https://bugs.webkit.org/show_bug.cgi?id=94683
2715
2716         Reviewed by Alejandro G. Castro.
2717
2718         Use a Vector<String> instead of a comma-separated string to
2719         get/set languages.
2720
2721         * platform/text/gtk/TextCheckerEnchant.cpp:
2722         (TextCheckerEnchant::updateSpellCheckingLanguages):
2723         (TextCheckerEnchant::getSpellCheckingLanguages):
2724         * platform/text/gtk/TextCheckerEnchant.h:
2725         (TextCheckerEnchant):
2726
2727 2012-08-22  Pavel Feldman  <pfeldman@chromium.org>
2728
2729         Web Inspector: move NavigatorView and NavigatorOverlayController to ScriptsPanel module
2730         https://bugs.webkit.org/show_bug.cgi?id=94693
2731
2732         Reviewed by Vsevolod Vlasov.
2733
2734         Loading them via importScript now.
2735
2736         * inspector/compile-front-end.py:
2737         * inspector/front-end/ScriptsPanel.js:
2738         * inspector/front-end/inspector.html:
2739
2740 2012-08-22  KwangYong Choi  <ky0.choi@samsung.com>
2741
2742         [EFL] Support slider tick mark snapping
2743         https://bugs.webkit.org/show_bug.cgi?id=94560
2744
2745         Reviewed by Kenneth Rohde Christiansen.
2746
2747         Increased the threshold for the EFL port. The value is snapped
2748         when it clicked near tick mark.
2749
2750         No new tests. Covered by fast/forms/datalist/range-snap-to-datalist.html.
2751
2752         * platform/efl/RenderThemeEfl.cpp:
2753         (WebCore):
2754         (WebCore::RenderThemeEfl::sliderTickSnappingThreshold):
2755         * platform/efl/RenderThemeEfl.h:
2756         (RenderThemeEfl):
2757
2758 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2759
2760         [Qt] Optionally support smooth-scrolling on all platforms
2761         https://bugs.webkit.org/show_bug.cgi?id=74926
2762
2763         Reviewed by Simon Hausmann.
2764
2765         Make GestureAnimations depend on the GESTURE_ANIMATION feature flag,
2766         since GestureAnimations are unused on some platforms.
2767
2768         * Target.pri:
2769         * platform/ScrollAnimatorNone.cpp:
2770         (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
2771         (WebCore::ScrollAnimatorNone::cancelAnimations):
2772         (WebCore::ScrollAnimatorNone::animationTimerFired):
2773         * platform/ScrollAnimatorNone.h:
2774         (ScrollAnimatorNone):
2775
2776 2012-08-22  Simon Hausmann  <simon.hausmann@nokia.com>
2777
2778         [Qt] Port convertQVariantToValue to use the JSC C API
2779         https://bugs.webkit.org/show_bug.cgi?id=93889
2780
2781         Reviewed by Kenneth Rohde Christiansen.
2782
2783         Based on patch by Noam Rosenthal.
2784
2785         This patch is another step towards reducing the use of internal JSC API
2786         in the Qt bridge. Most of the conversion from QVariant to JS values is
2787         straight-forward. The biggest behavioural change is that QVariant lists
2788         are converted on-the-spot instead of lazily. Bug #94691 tracks fixing
2789         that.
2790
2791         * bridge/qt/qt_instance.cpp:
2792         (Bindings):
2793         (JSC::Bindings::QtField::valueFromInstance):
2794         * bridge/qt/qt_runtime.cpp:
2795         (JSC::Bindings::convertQVariantToValue):
2796         (JSC::Bindings::QtRuntimeMethod::call):
2797         (JSC::Bindings::QtConnectionObject::execute):
2798         (JSC::Bindings::::valueAt):
2799         * bridge/qt/qt_runtime.h:
2800         (Bindings):
2801
2802 2012-08-22  Simon Hausmann  <simon.hausmann@nokia.com>
2803
2804         [Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
2805         https://bugs.webkit.org/show_bug.cgi?id=93897
2806
2807         Reviewed by Kenneth Rohde Christiansen.
2808
2809         Before r125428 run-time methods (wrapped signals, slots or invokable
2810         functions) were subclasses of JSInternalFunction and therefore real
2811         function objects in the JavaScript sense. r125428 changed them to be
2812         just callable objects, but they did not have Function.prototype as
2813         prototype anymore for example nor was their name correct (resulting in
2814         a layout test failure).
2815
2816         This patch changes run-time methods back to being real function objects
2817         that have a correct name and have Function.prototype in their prototype
2818         change
2819
2820         The objects returned by JSObjectMakeFunctionWithCallbackInjected are
2821         light-weight internal function objects that do not support
2822         JSObject{Set/Get}Private. Therefore we inject our own prototype right
2823         before the Function.prototype prototype, which uses private data to
2824         store a pointer to our C++ QtRuntimeMethod object.  This complicates
2825         the retrieval of the pointer to that instance slightly, which is why
2826         this patch introduces the toRuntimeMethod convenience function that
2827         looks up our prototype first and does a check for type-safety.
2828
2829         At the same time the patch removes the length properties from the
2830         run-time method itself as well as connect/disconnect.  The length
2831         property on a function signifies the number of arguments, but in all
2832         three cases that number is actually variable, because of overloading.
2833         That is why we choose not to expose it in the first place.
2834
2835         In QtInstance we cache the JS wrapper objects for QtRuntimeMethod in a
2836         JSWeakObjectMap. JSWeakObjectMap requires the stored objects to be
2837         either the result of JSObjectMake or the global object of a context ref
2838         (AFAICS), which is ensured using an ASSERT. Objects created via
2839         JSObjectMakeFunctionWithCalllback do not fall into the required
2840         category, cause a failing assertion and can therefore not be stored in
2841         the weak object map.
2842
2843         Consequently this patch removes the use of JSWeakObjectMap again and
2844         goes back to the old way of using the internal Weak<> API, for the time
2845         being. In a future patch the storage will be simplified to not require
2846         the use of a weak object map cache for the run-time methods anymore.
2847
2848         * bridge/qt/qt_instance.cpp: Remove unused WeakMap code.
2849         * bridge/qt/qt_instance.h: Remove method cache.
2850         (QtInstance):
2851         * bridge/qt/qt_runtime.cpp:
2852         (JSC::Bindings::prototypeForSignalsAndSlots):
2853         (JSC::Bindings::QtRuntimeMethod::call):
2854         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
2855         (JSC::Bindings::QtRuntimeMethod::toRuntimeMethod):
2856         (Bindings):
2857         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
2858         * bridge/qt/qt_runtime.h:
2859         (QtRuntimeMethod): Remove unused member variables.
2860
2861 2012-08-22  Christophe Dumez  <christophe.dumez@intel.com>
2862
2863         window.postMessage() / MessagePort.postMessage() throw wrong exception for invalid ports argument
2864         https://bugs.webkit.org/show_bug.cgi?id=94581
2865
2866         Reviewed by Kentaro Hara.
2867
2868         Update JSC and V8 implementations of window.postMessage() and
2869         MessagePort.postMessage() in order to throw an
2870         INVALID_STATE_ERR instead of a DATA_CLONE_ERR when values
2871         in the "ports" argument are invalid. Additionally, we now
2872         check for duplicate ports and throw an exception for this
2873         case as well.
2874
2875         This change was made to comply with the latest HTML5
2876         specification at:
2877         http://www.w3.org/TR/html5/comms.html
2878
2879         No new tests, already tested by:
2880         fast/events/constructors/message-event-constructor.html
2881         fast/events/message-port-clone.html
2882         fast/events/message-port-multi.html
2883         fast/workers/worker-context-multi-port.html
2884         fast/workers/worker-multi-port.html
2885
2886         * bindings/js/JSMessagePortCustom.cpp:
2887         (WebCore::fillMessagePortArray):
2888         * bindings/v8/V8Utilities.cpp:
2889         (WebCore::extractTransferables):
2890         * dom/MessagePort.cpp:
2891         (WebCore::MessagePort::postMessage):
2892
2893 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2894
2895         [TouchAdjustment] Adjust to word or selection
2896         https://bugs.webkit.org/show_bug.cgi?id=94449
2897
2898         Reviewed by Antonio Gomes.
2899
2900         Makes each separate word a separate subtarget when context menu triggers
2901         selections, and only the selected part of a partial selected node a 
2902         target when selections are not overridden.
2903
2904         Fix of reverted commit r126026, fix misplaced ASSERT.
2905
2906         Test: touchadjustment/context-menu-text-subtargets.html
2907
2908         * page/TouchAdjustment.cpp:
2909         (TouchAdjustment):
2910         (WebCore::TouchAdjustment::providesContextMenuItems):
2911         (WebCore::TouchAdjustment::appendQuadsToSubtargetList):
2912         (WebCore::TouchAdjustment::appendBasicSubtargetsForNode):
2913         (WebCore::TouchAdjustment::appendContextSubtargetsForNode):
2914         (WebCore::TouchAdjustment::compileSubtargetList):
2915         (WebCore::findBestClickableCandidate):
2916         (WebCore::findBestContextMenuCandidate):
2917
2918 2012-08-22  Andrey Adaikin  <aandrey@chromium.org>
2919
2920         Web Inspector: [WebGL] Generic framework draft for tracking WebGL resources
2921         https://bugs.webkit.org/show_bug.cgi?id=90597
2922
2923         Reviewed by Pavel Feldman.
2924
2925         Wrap WebGL rendering context methods and collect a trace log if we are in capturing mode.
2926         Stubbed code for collecting calls contributing to a WebGL resource state so that we could replay them later.
2927
2928         Typical scenario:
2929         - we wrap a GL context with InjectedScript.wrapWebGLContext() and return a proxy to the inspected page
2930         - the proxy saves all calls necessary to do a replay later - only those that modify a resource's state
2931         - when we turn on capturing mode (InjectedScript.captureFrame), we save all WebGL calls to a trace log
2932
2933         * inspector/InjectedScriptSource.js:
2934         (.):
2935         * inspector/InjectedScriptWebGLModuleSource.js:
2936         (.):
2937
2938 2012-08-22  Andrey Adaikin  <aandrey@chromium.org>
2939
2940         Web Inspector: [WebGL] Add minimum transport protocol from backend to frontend
2941         https://bugs.webkit.org/show_bug.cgi?id=88973
2942
2943         Reviewed by Pavel Feldman.
2944
2945         Added the following protocol methods to communicate with the WebGL injected
2946         module: captureFrame, getTraceLog, dropTraceLog, replayTraceLog.
2947
2948         * inspector/CodeGeneratorInspector.py:
2949         * inspector/InjectedScriptWebGLModule.cpp:
2950         (WebCore::InjectedScriptWebGLModule::captureFrame):
2951         (WebCore):
2952         (WebCore::InjectedScriptWebGLModule::dropTraceLog):
2953         (WebCore::InjectedScriptWebGLModule::getTraceLog):
2954         (WebCore::InjectedScriptWebGLModule::replayTraceLog):
2955         * inspector/InjectedScriptWebGLModule.h:
2956         (InjectedScriptWebGLModule):
2957         * inspector/Inspector.json:
2958         * inspector/InspectorController.cpp:
2959         (WebCore::InspectorController::InspectorController):
2960         * inspector/InspectorWebGLAgent.cpp:
2961         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
2962         (WebCore::InspectorWebGLAgent::dropTraceLog):
2963         (WebCore):
2964         (WebCore::InspectorWebGLAgent::captureFrame):
2965         (WebCore::InspectorWebGLAgent::getTraceLog):
2966         (WebCore::InspectorWebGLAgent::replayTraceLog):
2967         * inspector/InspectorWebGLAgent.h:
2968         (WebCore):
2969         (WebCore::InspectorWebGLAgent::create):
2970         (InspectorWebGLAgent):
2971
2972 2012-08-22  Hans Wennborg  <hans@chromium.org>
2973
2974         Remove unused field DeleteEntryRequest::m_type
2975         https://bugs.webkit.org/show_bug.cgi?id=94680
2976
2977         Unreviewed build fix.
2978
2979         Remove this unused field. Clang warns about it and it breaks the
2980         Chromium build.
2981
2982         No change in functionality, no new tests.
2983
2984         * inspector/InspectorFileSystemAgent.cpp:
2985         (WebCore):
2986
2987 2012-08-21  Andrey Kosyakov  <caseq@chromium.org>
2988
2989         Web Inspector: console.time() should use performance.now()
2990         https://bugs.webkit.org/show_bug.cgi?id=94263
2991
2992         Reviewed by Pavel Feldman.
2993
2994         - use monotonicallyIncreasingTime() instead of currentTime() for measuring time intervals
2995             with console.time()/console.timeEnd()
2996         - adjust precision to 3 digits after decimal point (i.e. microseconds) when formatting intervals;
2997
2998         * inspector/InspectorConsoleAgent.cpp:
2999         (WebCore::InspectorConsoleAgent::stopTiming):
3000
3001 2012-08-22  Takashi Sakamoto  <tasak@google.com>
3002
3003         Dynamically styling ShadowDom content on a node distributed to another shadow insertion point fails.
3004         https://bugs.webkit.org/show_bug.cgi?id=92899
3005
3006         Reviewed by Hajime Morita.
3007
3008         Since childNeedsStyleRecalc is not cleared when parent nodes are
3009         attached, setNeedsStyleRecalc flag is not reached Document. So,
3010         document() doesn't run re-layout.
3011
3012         Test: fast/dom/shadow/shadowdom-dynamic-styling.html
3013
3014         * dom/ContainerNode.h:
3015         (ContainerNode):
3016         (WebCore::ContainerNode::detachAsNode):
3017         Removed detachAsNode, because the below change made the method
3018         not-used.
3019         * dom/Element.cpp:
3020         (WebCore::Element::detach):
3021         Modify to invoke ContainerNode::detach when any shadow subtree is
3022         attached. ContainerNode::detach takes care of childNeedsStyleRecalc
3023         flag.
3024         * dom/ElementShadow.cpp:
3025         (WebCore::ElementShadow::invalidateDistribution):
3026         Use SetAttached for lazyAttach instead of DoNotSetAttached, because
3027         it is reuired to invoke ContainerNode::detach. If not, attached() is
3028         false and reattach() invokes only attach(). This causes to leave
3029         shadow host's childNeedsStyleRecalc flag true after
3030         Element::recalcStyle.
3031
3032 2012-08-22  Taiju Tsuiki  <tzik@chromium.org>
3033
3034         Web Inspector: Add deleteEntry command and deletionCompleted event to FileSystemAgent
3035         https://bugs.webkit.org/show_bug.cgi?id=91831
3036
3037         Reviewed by Vsevolod Vlasov.
3038
3039         InspectorAgent-side implementation of deleteEntry command.
3040
3041         Test will be added after JS-side implementation landed.
3042
3043         * inspector/Inspector.json:
3044         * inspector/InspectorFileSystemAgent.cpp:
3045         (WebCore):
3046         (WebCore::InspectorFileSystemAgent::requestFileSystemRoot):
3047         (WebCore::InspectorFileSystemAgent::requestDirectoryContent):
3048         (WebCore::InspectorFileSystemAgent::requestMetadata):
3049         (WebCore::InspectorFileSystemAgent::requestFileContent):
3050         (WebCore::InspectorFileSystemAgent::deleteEntry):
3051         (WebCore::InspectorFileSystemAgent::assertFrontend):
3052         * inspector/InspectorFileSystemAgent.h:
3053         (InspectorFileSystemAgent):
3054         * inspector/front-end/FileSystemModel.js:
3055         (WebInspector.FileSystemDispatcher.prototype.fileContentReceived):
3056         (WebInspector.FileSystemDispatcher.prototype.deletionCompleted):
3057
3058 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
3059
3060         Web Inspector: TabbedPane: measure tab widths in batches.
3061         https://bugs.webkit.org/show_bug.cgi?id=94484
3062
3063         Reviewed by Vsevolod Vlasov.
3064
3065         - Introduces global batch update schema
3066         - Migrates Toolbar and TabbedPane to the new schema
3067
3068         * inspector/front-end/ScriptsPanel.js:
3069         (WebInspector.ScriptsPanel):
3070         * inspector/front-end/TabbedPane.js:
3071         (WebInspector.TabbedPane.prototype.appendTab):
3072         (WebInspector.TabbedPane.prototype._updateTabElements):
3073         (WebInspector.TabbedPane.prototype._innerUpdateTabElements):
3074         (WebInspector.TabbedPane.prototype._updateWidths):
3075         (WebInspector.TabbedPane.prototype._measureWidths):
3076         (WebInspector.TabbedPaneTab):
3077         (WebInspector.TabbedPaneTab.prototype.width):
3078         (WebInspector.TabbedPaneTab.prototype.setWidth):
3079         * inspector/front-end/Toolbar.js:
3080         (WebInspector.Toolbar):
3081         (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
3082         (WebInspector.Toolbar.prototype._innerUpdateDropdownButtonAndHideDropdown):
3083         * inspector/front-end/UIUtils.js:
3084         (WebInspector.startBatchUpdate):
3085         (WebInspector.invokeOnceAfterBatchUpdate.get if):
3086         (WebInspector.invokeOnceAfterBatchUpdate):
3087         * inspector/front-end/inspector.js:
3088         * inspector/front-end/utilities.js:
3089
3090 2012-08-21  Kentaro Hara  <haraken@chromium.org>
3091
3092         [V8] Move String related code in V8Binding to a separate file
3093         https://bugs.webkit.org/show_bug.cgi?id=94571
3094
3095         Reviewed by Adam Barth.
3096
3097         This patch moves V8Parameter, V8ParameterBase and String related code
3098         in V8Binding to a separate file.
3099
3100         No tests. No change in behavior.
3101
3102         * UseV8.cmake:
3103         * WebCore.gypi:
3104         * bindings/v8/V8Binding.cpp:
3105         * bindings/v8/V8Binding.h:
3106         * bindings/v8/V8StringResource.cpp: Added.
3107         * bindings/v8/V8StringResource.h: Added.
3108         (WebCore):
3109
3110 2012-08-21  Sukolsak Sakshuwong  <sukolsak@google.com>
3111
3112         Implement UndoManager's automatic DOM transactions
3113         https://bugs.webkit.org/show_bug.cgi?id=91812
3114
3115         Reviewed by Ryosuke Niwa.
3116
3117         This patch implements automatic DOM transactions in UndoManager
3118         by recording changes in tree structure, attributes, and character data
3119         of nodes under undo scope host.
3120
3121         Tests: editing/undomanager/automatic-transaction-attribute.html
3122                editing/undomanager/automatic-transaction-data.html
3123                editing/undomanager/automatic-transaction-node.html
3124
3125         * CMakeLists.txt:
3126         * GNUmakefile.list.am:
3127         * WebCore.gypi:
3128         * WebCore.vcproj/WebCore.vcproj:
3129         * WebCore.xcodeproj/project.pbxproj:
3130         * bindings/js/DOMTransaction.h:
3131         (WebCore::DOMTransaction::addTransactionStep):
3132         (DOMTransaction):
3133         * bindings/v8/DOMTransaction.cpp:
3134         (DOMTransactionScope):
3135         (WebCore::DOMTransactionScope::DOMTransactionScope):
3136         (WebCore::DOMTransactionScope::~DOMTransactionScope):
3137         (WebCore):
3138         (WebCore::DOMTransaction::apply):
3139         (WebCore::DOMTransaction::unapply):
3140         (WebCore::DOMTransaction::reapply):
3141         * bindings/v8/DOMTransaction.h:
3142         (WebCore::DOMTransaction::addTransactionStep):
3143         (DOMTransaction):
3144         * css/PropertySetCSSStyleDeclaration.cpp:
3145         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
3146         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
3147         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
3148         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
3149         * dom/CharacterData.cpp:
3150         (WebCore::CharacterData::setDataAndUpdate):
3151         * dom/ContainerNode.cpp:
3152         (WebCore::willRemoveChild):
3153         (WebCore::willRemoveChildren):
3154         (WebCore::updateTreeAfterInsertion):
3155         * dom/Element.cpp:
3156         (WebCore::Element::willModifyAttribute):
3157         * editing/DOMTransactionStep.cpp: Added.
3158         (WebCore):
3159         (WebCore::NodeInsertingDOMTransactionStep::NodeInsertingDOMTransactionStep):
3160         (WebCore::NodeInsertingDOMTransactionStep::create):
3161         (WebCore::NodeInsertingDOMTransactionStep::unapply):
3162         (WebCore::NodeInsertingDOMTransactionStep::reapply):
3163         (WebCore::NodeRemovingDOMTransactionStep::NodeRemovingDOMTransactionStep):
3164         (WebCore::NodeRemovingDOMTransactionStep::create):
3165         (WebCore::NodeRemovingDOMTransactionStep::unapply):
3166         (WebCore::NodeRemovingDOMTransactionStep::reapply):
3167         (WebCore::DataReplacingDOMTransactionStep::DataReplacingDOMTransactionStep):
3168         (WebCore::DataReplacingDOMTransactionStep::create):
3169         (WebCore::DataReplacingDOMTransactionStep::unapply):
3170         (WebCore::DataReplacingDOMTransactionStep::reapply):
3171         (WebCore::AttrChangingDOMTransactionStep::AttrChangingDOMTransactionStep):
3172         (WebCore::AttrChangingDOMTransactionStep::create):
3173         (WebCore::AttrChangingDOMTransactionStep::unapply):
3174         (WebCore::AttrChangingDOMTransactionStep::reapply):
3175         * editing/DOMTransactionStep.h: Added.
3176         (WebCore):
3177         (DOMTransactionStep):
3178         (WebCore::DOMTransactionStep::~DOMTransactionStep):
3179         (NodeInsertingDOMTransactionStep):
3180         (NodeRemovingDOMTransactionStep):
3181         (DataReplacingDOMTransactionStep):
3182         (AttrChangingDOMTransactionStep):
3183         * editing/UndoManager.cpp:
3184         (WebCore):
3185         (WebCore::UndoManager::isRecordingAutomaticTransaction):
3186         (WebCore::UndoManager::addTransactionStep):
3187         * editing/UndoManager.h:
3188         (WebCore):
3189         (WebCore::UndoManager::setRecordingDOMTransaction):
3190         (UndoManager):
3191
3192 2012-08-21  Shezan Baig  <sbaig1@bloomberg.net>
3193
3194         Fix cross-direction stretch for replaced elements in row flexbox
3195         https://bugs.webkit.org/show_bug.cgi?id=94237
3196
3197         Reviewed by Ojan Vafai.
3198
3199         When stretching, don't take into account the instrinsic size of child
3200         replaced elements. Only the fixed size, min size, and max size of the
3201         child should be taken into account. The logic that computed this was
3202         moved from RenderBox::computeLogicalHeight to a new helper method
3203         called logicalHeightConstrainedByMinMax.  This helper method is now
3204         used from RenderFlexibleBox::applyStretchAlignmentToChild, instead of
3205         using RenderBox::computeLogicalHeight.
3206
3207         A similar change will need to be made for column-flowing flexboxes.
3208         This will be addressed in https://webkit.org/b/94604.
3209
3210         No new tests.  The existing css3/flexbox/flexitem.html test was
3211         extended to cover this case.
3212
3213         * rendering/RenderBox.cpp:
3214         (WebCore::RenderBox::logicalHeightConstrainedByMinMax): New helper
3215         method that is used by RenderBox::computeLogicalHeight and also by
3216         RenderFlexibleBox::applyStretchAlignmentToChild.
3217         (WebCore):
3218         (WebCore::RenderBox::computeLogicalHeight): Updated to use the new
3219         logicalHeightConstrainedByMinMax helper method.
3220         * rendering/RenderBox.h:
3221         (RenderBox):
3222         * rendering/RenderFlexibleBox.cpp:
3223         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Use
3224         logicalHeightConstrainedByMinMax instead of computeLogicalHeight.
3225
3226 2012-08-21  Hayato Ito  <hayato@chromium.org>
3227
3228         Make an event object clonable to support an event propagation across seamless iframes.
3229         https://bugs.webkit.org/show_bug.cgi?id=93678
3230
3231         Reviewed by Dimitri Glazkov.
3232
3233         We should clone an event object when a event propagates across
3234         seamless iframes.  Currently Event and MouseEvent are
3235         supported. Support for other kinds of events will be addressed
3236         later.
3237
3238         This is one of the pre-requirements to support an event
3239         propagation across seamless iframes.
3240
3241         No new tests, no behavior change.
3242
3243         * dom/Event.cpp:
3244         (WebCore::Event::cloneFor):
3245         (WebCore):
3246         * dom/Event.h:
3247         (WebCore):
3248         (Event):
3249         * dom/MouseEvent.cpp:
3250         (WebCore::adjustedClinetX):
3251         (WebCore):
3252         (WebCore::adjustedClinetY):
3253         (WebCore::MouseEvent::cloneFor):
3254         * dom/MouseEvent.h:
3255         (MouseEvent):
3256
3257 2012-08-21  Joshua Bell  <jsbell@chromium.org>
3258
3259         IndexedDB: IDBRequest can be GCd during event dispatch
3260         https://bugs.webkit.org/show_bug.cgi?id=94235
3261
3262         Reviewed by Ojan Vafai.
3263
3264         Avoid a "race" where GC may attempt to reclaim IDB objects that are marked
3265         "done" prior to the completion of the event dispatch. The script runtime
3266         may decide to do a GC pass before calling the event handler, releasing the
3267         object and turning the dispatch into a no-op.
3268
3269         This is a partial reversion (with renames, etc) of r123275, r124842,
3270         and r121492. Added a new test, although it does not exercise the "race"
3271         condition directly.
3272
3273         Test: storage/indexeddb/pending-activity.html
3274               storage/indexeddb/pending-activity-workers.html
3275
3276         * Modules/indexeddb/IDBCursor.cpp:
3277         (WebCore::IDBCursor::close): Let the IDBRequest know it this cursor won't
3278         make it fire again.
3279         * Modules/indexeddb/IDBRequest.cpp:
3280         (WebCore::IDBRequest::IDBRequest): Reintroduce "am I done?" flag.
3281         (WebCore::IDBRequest::finishCursor): Cursors may fire events at the same
3282         IDBRequest repeatedly, so we need to know when they're are really done.
3283         (WebCore):
3284         (WebCore::IDBRequest::hasPendingActivity): Test the flag.
3285         (WebCore::IDBRequest::dispatchEvent): Set the flag.
3286         * Modules/indexeddb/IDBRequest.h:
3287         (IDBRequest):
3288         * Modules/indexeddb/IDBTransaction.cpp:
3289         (WebCore::IDBTransaction::IDBTransaction): Reintroduce "am I done?" flag.
3290         (WebCore::IDBTransaction::hasPendingActivity): Test the flag.
3291         (WebCore::IDBTransaction::dispatchEvent): Set the flag.
3292         * Modules/indexeddb/IDBTransaction.h:
3293
3294 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
3295
3296         Web Inspector: [regression] Settings panel fails to open.
3297         https://bugs.webkit.org/show_bug.cgi?id=94647
3298
3299         Unreviewed: one line JS front-end fix.
3300
3301         * inspector/front-end/ScriptsSearchScope.js:
3302         * inspector/front-end/Settings.js:
3303
3304 2012-08-21  Julien Chaffraix  <jchaffraix@webkit.org>
3305
3306         Crash in RenderTableSection::setCellLogicalWidths
3307         https://bugs.webkit.org/show_bug.cgi?id=94291
3308
3309         Reviewed by Abhishek Arya.
3310
3311         This issue was that splitAnonymousBoxesAroundChild would move a table section
3312         into a newly created table *without* marking it as needing cell recalc. The table
3313         would thus never build its structure to match its sections. The fix is to hop on
3314         the new willBeRemovedFromTree signal so that the section invalidates itself properly.
3315
3316         Test: fast/table/crash-split-table-section-no-cell-recalc.html
3317
3318         * rendering/RenderTableSection.cpp:
3319         (WebCore::RenderTableSection::willBeRemovedFromTree):
3320         * rendering/RenderTableSection.h:
3321         Replaced willBeDestroyed by willBeRemovedFromTree in RenderTableSection. This ensures that it is called
3322         when moving sections in the tree to mark them as needing cell recalc.
3323
3324 2012-08-21  Yoshifumi Inoue  <yosin@chromium.org>
3325
3326         [Forms] multiple fields time input UI should not have two focus ring.
3327         https://bugs.webkit.org/show_bug.cgi?id=94579
3328
3329         Reviewed by Hajime Morita.
3330
3331         This patch adds CSS selectors to override focus style for multiple
3332         fields time input UI.
3333
3334         No new tests. fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html
3335         is updated for including focus state appearance.
3336
3337         * css/html.css:
3338         (input::-webkit-datetime-edit-ampm-field:focus): Override default focus appearance.
3339         (input::-webkit-datetime-edit-hour-field:focus): ditto
3340         (input::-webkit-datetime-edit-millisecond-field:focus): ditto
3341         (input::-webkit-datetime-edit-minute-field:focus): ditto
3342         (input::-webkit-datetime-edit-second-field:focus): ditto
3343
3344 2012-08-21  Adam Barth  <abarth@webkit.org>
3345
3346         V8 shouldn't have its own way of printing cross-origin error messages
3347         https://bugs.webkit.org/show_bug.cgi?id=94641
3348
3349         Reviewed by Eric Seidel.
3350
3351         V8 used to re-implement (poorly) the code for printing out an error
3352         message when a same-origin check failed. This patch deletes that code
3353         in favor of just calling the WebCore version of the code. There more to
3354         clean up here, but I had to stop before spidering over the whole
3355         codebase.
3356
3357         * bindings/generic/BindingSecurity.cpp:
3358         (WebCore::canAccessDocument):
3359         * bindings/js/BindingState.cpp:
3360         * bindings/js/BindingState.h:
3361         * bindings/v8/BindingState.cpp:
3362         (WebCore::printErrorMessageForFrame):
3363         * bindings/v8/BindingState.h:
3364         (WebCore):
3365         * bindings/v8/V8DOMWindowShell.cpp:
3366         (WebCore::reportUnsafeJavaScriptAccess):
3367         * bindings/v8/V8Proxy.cpp:
3368         * bindings/v8/V8Proxy.h:
3369         (V8Proxy):
3370
3371 2012-08-21  Shinya Kawanaka  <shinyak@chromium.org>
3372
3373         A shadow element in ShadowDOM of a button element does not work.
3374         https://bugs.webkit.org/show_bug.cgi?id=91486
3375
3376         Reviewed by Dimitri Glazkov.
3377
3378         Since a button element is extended from an HTMLFormControlElement, it creates a UserAgentShadowDOM
3379         just before adding an AuthorShadowDOM. However, actually a button element does not need any UserAgentShadowDOM.
3380         So we have to prevent it from creating UserAgentShadowDOM.
3381
3382         Test: fast/dom/shadow/shadowdom-for-button.html
3383
3384         * html/HTMLButtonElement.cpp:
3385         (WebCore::HTMLButtonElement::willAddAuthorShadowRoot):
3386         (WebCore):
3387         * html/HTMLButtonElement.h:
3388
3389 2012-08-21  Sukolsak Sakshuwong  <sukolsak@google.com>
3390
3391         Remove UndoManager's undoscope content attribute
3392         https://bugs.webkit.org/show_bug.cgi?id=94637
3393
3394         Reviewed by Ryosuke Niwa.
3395
3396         No new tests. Covered by existing tests.
3397
3398         * bindings/v8/DOMTransaction.cpp:
3399         (WebCore::DOMTransaction::callFunction):
3400         * dom/Document.cpp:
3401         (WebCore::Document::undoManager):
3402         * dom/Element.cpp:
3403         (WebCore::Element::~Element):
3404         (WebCore):
3405         * dom/Element.h:
3406         (Element):
3407         * dom/Element.idl:
3408         * dom/ElementRareData.h:
3409         (ElementRareData):
3410         * editing/UndoManager.cpp:
3411         (WebCore::UndoManager::create):
3412         (WebCore::UndoManager::UndoManager):
3413         (WebCore::UndoManager::disconnect):
3414         (WebCore::UndoManager::transact):
3415         (WebCore::UndoManager::undo):
3416         (WebCore::UndoManager::redo):
3417         (WebCore::UndoManager::clearUndo):
3418         (WebCore::UndoManager::clearRedo):
3419         (WebCore):
3420         * editing/UndoManager.h:
3421         (WebCore):
3422         (UndoManager):
3423         (WebCore::UndoManager::document):
3424         (WebCore::UndoManager::ownerNode):
3425         * html/HTMLAttributeNames.in:
3426         * html/HTMLElement.cpp:
3427         (WebCore::HTMLElement::parseAttribute):
3428         (WebCore::HTMLElement::setContentEditable):
3429
3430 2012-08-21  Joanmarie Diggs  <jdiggs@igalia.com>
3431
3432         [Gtk] No accessible caret-moved events found in certain content
3433         https://bugs.webkit.org/show_bug.cgi?id=72811