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