2d71d309805990c2df232501b5f22eccd120d6f3
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-08  Glenn Hartmann  <hartmanng@chromium.org>
2
3        Adding a hook to collect data for a Google UMA histogram to track when
4        m_needsCompositedScrolling is turned on and off.
5        https://bugs.webkit.org/show_bug.cgi?id=111725
6
7        Reviewed by Julien Chaffraix.
8
9        We want to keep track of this information to quantify the effects of a
10        few patches that will cause us to opt in to composited scrolling.
11        Specifically, we want to measure the effects of
12        https://bugs.webkit.org/show_bug.cgi?id=109302,
13        https://bugs.webkit.org/show_bug.cgi?id=109966,
14        https://bugs.webkit.org/show_bug.cgi?id=109591, and
15        https://bugs.webkit.org/show_bug.cgi?id=107618.
16
17        We do this by measuring a per-layer boolean value, and comparing the
18        ratio between number of layers opted in and number of layers that remain
19        uncomposited. We hope the relative number of layers opting in will
20        increase after the relevant patches land and are enabled.
21
22        Unfortunately implementing extra statistics is impractical at the
23        moment since most of the actionable relevant data is expensive to
24        compute. For example, it would be useful to know if the layers that opt
25        out do so because of invisible or non-overlapping layers that cause a
26        potential stacking container's children to be discontiguous, because we
27        would potentially be able to mitigate the problem. However, this would
28        add considerable overhead to perform overlap testing just to gather
29        data.
30
31        No new tests (no change in behaviour).
32
33        * rendering/RenderLayer.cpp:
34        (WebCore::RenderLayer::updateNeedsCompositedScrolling):
35
36 2013-03-08  Alberto Garcia  <agarcia@igalia.com>
37
38         [BlackBerry] GraphicsContext: rename addRoundedRectClip to clipRoundedRect
39         https://bugs.webkit.org/show_bug.cgi?id=111852
40
41         Reviewed by Rob Buis.
42
43         This changed in r139353.
44
45         * platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
46         (WebCore::GraphicsContext::clipRoundedRect):
47
48 2013-03-08  Alberto Garcia  <agarcia@igalia.com>
49
50         [BlackBerry] Add BlendMode parameter to GraphicsContext::setPlatformCompositeOperation
51         https://bugs.webkit.org/show_bug.cgi?id=111840
52
53         Reviewed by Rob Buis.
54
55         This parameter was added in r137011.
56
57         * platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
58         (WebCore::GraphicsContext::setPlatformCompositeOperation):
59
60 2013-03-08  Alberto Garcia  <agarcia@igalia.com>
61
62         [BlackBerry] Remove unused GraphicsContext::addInnerRoundedRectClip()
63         https://bugs.webkit.org/show_bug.cgi?id=111838
64
65         Reviewed by Rob Buis.
66
67         This was removed in r139138.
68
69         * platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
70
71 2013-03-08  Alberto Garcia  <agarcia@igalia.com>
72
73         [BlackBerry] GraphicsContext: add fillRule parameter to clip() and canvasClip()
74         https://bugs.webkit.org/show_bug.cgi?id=111836
75
76         Reviewed by Rob Buis.
77
78         This parameter was added in r139967.
79
80         * platform/graphics/blackberry/PathBlackBerry.cpp:
81         (WebCore):
82         (WebCore::GraphicsContext::clip):
83         (WebCore::GraphicsContext::canvasClip):
84
85 2013-03-08  Vsevolod Vlasov  <vsevik@chromium.org>
86
87         Web Inspector: Get rid of file system ids and use file pathes as uri for file based uiSourceCodes.
88         https://bugs.webkit.org/show_bug.cgi?id=111753
89
90         Reviewed by Pavel Feldman.
91
92         * inspector/front-end/FileSystemMapping.js:
93         (WebInspector.FileSystemMappingImpl):
94         (WebInspector.FileSystemMappingImpl.prototype._loadFromSettings.get this):
95         (WebInspector.FileSystemMappingImpl.prototype._loadFromSettings):
96         (WebInspector.FileSystemMappingImpl.prototype._saveToSettings):
97         (WebInspector.FileSystemMappingImpl.prototype.set addFileSystemMapping):
98         (WebInspector.FileSystemMappingImpl.prototype.removeFileSystemMapping):
99         (WebInspector.FileSystemMappingImpl.prototype.fileSystemPaths):
100         (WebInspector.FileSystemMappingImpl.prototype.fileSystemPathForPrefix):
101         * inspector/front-end/FileSystemProjectDelegate.js:
102         (WebInspector.FileSystemProjectDelegate.projectId):
103         (WebInspector.FileSystemProjectDelegate.prototype.id):
104         (WebInspector.FileSystemProjectDelegate.prototype.fileSystemPath):
105         (WebInspector.FileSystemWorkspaceProvider):
106         (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemAdded):
107         (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemRemoved):
108         (WebInspector.FileSystemWorkspaceProvider.prototype.fileSystemPath):
109         * inspector/front-end/IsolatedFileSystemManager.js:
110         (WebInspector.IsolatedFileSystemManager.prototype._innerAddFileSystem):
111         (WebInspector.IsolatedFileSystemManager.prototype._fileSystemRemoved):
112         * inspector/front-end/Workspace.js:
113         (WebInspector.Workspace.prototype.uiSourceCodeForURL):
114
115 2013-03-08  Vsevolod Vlasov  <vsevik@chromium.org>
116
117         Web Inspector: Polish TabbedEditorContaner and ScriptsNavigator behavior.
118         https://bugs.webkit.org/show_bug.cgi?id=111732
119
120         Reviewed by Pavel Feldman.
121
122         Resources matching inspectedPageURL are always expanded in NavigatorView now.
123         Snippets tab in scripts navigator is not automatically opened anymore.
124         Cleared saved TabbedEditorContainer history because it might have been corrupted due to errors in earlier versions.
125         Snippets are not revealed in TabbedEditorContainer anymore unless they were actually selected by user or there is no other tabs opened.
126
127         * inspector/front-end/NavigatorView.js:
128         (WebInspector.NavigatorView):
129         (WebInspector.NavigatorView.prototype.addUISourceCode):
130         (WebInspector.NavigatorView.prototype._inspectedURLChanged):
131         (WebInspector.NavigatorView.prototype.revealUISourceCode):
132         (WebInspector.NavigatorView.prototype.removeUISourceCode):
133         (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
134         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.uiSourceCode):
135         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.reveal):
136         * inspector/front-end/ScriptsNavigator.js:
137         (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
138         * inspector/front-end/ScriptsPanel.js:
139         (WebInspector.ScriptsPanel.prototype._showFile):
140         * inspector/front-end/Settings.js:
141         (WebInspector.VersionController.prototype._updateVersionFrom1To2):
142         * inspector/front-end/TabbedEditorContainer.js:
143         (WebInspector.TabbedEditorContainer.prototype.addUISourceCode.tabId.this._tabIds.get this):
144         (WebInspector.TabbedEditorContainer.prototype.addUISourceCode):
145         (WebInspector.TabbedEditorContainer.History.prototype._rebuildItemIndex):
146
147 2013-03-08  Vsevolod Vlasov  <vsevik@chromium.org>
148
149         Web Inspector: Add shortcut for running a snippet.
150         https://bugs.webkit.org/show_bug.cgi?id=111680
151
152         Reviewed by Pavel Feldman.
153
154         Added Ctrl/Cmd+Enter as a shortcut for running a snippet.
155
156         * inspector/front-end/SnippetJavaScriptSourceFrame.js:
157         (WebInspector.SnippetJavaScriptSourceFrame):
158         (WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):
159         (WebInspector.SnippetJavaScriptSourceFrame.prototype._runSnippet):
160         (WebInspector.SnippetJavaScriptSourceFrame.prototype._onKeyDown):
161
162 2013-03-08  Philip Rogers  <pdr@google.com>
163
164         Prevent infinite loop in SVG use cycle detection
165         https://bugs.webkit.org/show_bug.cgi?id=111822
166
167         Reviewed by Stephen Chenney.
168
169         SVG use cycle detection depended on idForStyleResolution() which differs from
170         getIdAttribute() in quirks mode. During use tree cycle detection, this difference
171         resulted in an infinite loop because idForStyleResolution() used lower-cased id
172         attributes. This patch removes an existing fixme for this and switches to using
173         getIdAttribute().
174
175         Test: svg/custom/use-cycle-detection.html
176
177         * svg/SVGUseElement.cpp:
178         (WebCore::SVGUseElement::hasCycleUseReferencing):
179
180 2013-03-08  Yuki Sekiguchi  <yuki.sekiguchi@access-company.com>
181
182         When we set word-wrap: break-word and xml:space="preserve" to svg text element, the text is collapsed.
183         https://bugs.webkit.org/show_bug.cgi?id=111675
184
185         Reviewed by Stephen Chenney.
186
187         RenderSVGText define its size when it laid out its first line at SVGRootInlineBox::computePerCharacterLayoutInformation().
188
189         In the following spec, SVG don't perform automatic line break or word wrapping.
190         http://www.w3.org/TR/SVG/text.html#Introduction
191         > SVG performs no automatic line breaking or word wrapping.
192         However, when we set word-wrap: break-word and xml:space="preserve" to svg text element, RenderBlock::LineBreaker::nextLineBreak() breaks the text.
193         This make single character lines and make RenderSVGText narrow.
194
195         We must ignore word-wrap property to make the text a single line.
196
197         We always disable break words and break all in nextLineBreak() when the object is SVGInlineText.
198
199         Test: svg/text/preserve-break-word.html
200
201         * rendering/RenderBlockLineLayout.cpp:
202         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Disable break words and break all when we process SVG Text.
203
204 2013-03-08  Allan Sandfeld Jensen  <allan.jensen@digia.com>
205
206         [Qt] HTML5 video - sound volume bar out of widget
207         https://bugs.webkit.org/show_bug.cgi?id=108213
208
209         Reviewed by Jocelyn Turcotte.
210
211         Since we use Safari shadow DOM for media controls, follow
212         the overall layout of Safari media control CSS.
213
214         * css/mediaControlsQt.css:
215         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
216         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
217         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
218         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
219         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
220         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
221         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
222         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
223         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
224         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
225         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
226         (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
227         (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
228         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
229
230 2013-03-08  Allan Sandfeld Jensen  <allan.jensen@digia.com>
231
232         [Qt] Doesn't build with QtMultimedia
233         https://bugs.webkit.org/show_bug.cgi?id=111847
234
235         Reviewed by Jocelyn Turcotte.
236
237         Fix include.
238
239         * platform/graphics/qt/MediaPlayerPrivateQt.h:
240
241 2013-03-08  Huang Dongsung  <luxtella@company100.net>
242
243         [EFL][Qt] REGRESSION(r144787): A fixed element lags when scrolling and wheeling.
244         https://bugs.webkit.org/show_bug.cgi?id=111829
245
246         Reviewed by Noam Rosenthal.
247
248         Currently, flagsChanged deals with all boolean flags. It introduces this bug
249         because when another flag (i.e. preserves3D) is changed, fixedToViewport is set
250         to false. So this patch updates all flags when at least one flag is changed.
251
252         In addition, this patch amends isScrollable code to match other flags.
253
254         This patch can only be tested manually since there is no automated
255         testing facilities for in-motion touch.
256         Test: ManualTests/fixed-position.html
257               ManualTests/nested-fixed-position.html
258
259         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
260         (WebCore::CoordinatedGraphicsLayer::setScrollableArea):
261         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
262         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
263         (WebCore::CoordinatedGraphicsScene::setLayerState):
264         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
265         (WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
266
267 2013-03-07  Dean Jackson  <dino@apple.com>
268
269         Remove dead label code in snapshotted plugin
270         https://bugs.webkit.org/show_bug.cgi?id=111781
271
272         Reviewed by Tim Horton.
273
274         Since ports can use the shadow tree to do label display,
275         there is no need for the hardcoded timers in RenderSnapshottedPlugin.
276
277         * rendering/RenderSnapshottedPlugIn.cpp: Remove label flags and timers.
278         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
279         (WebCore::RenderSnapshottedPlugIn::~RenderSnapshottedPlugIn):
280         (WebCore::RenderSnapshottedPlugIn::updateSnapshot):
281         (WebCore::RenderSnapshottedPlugIn::handleEvent):
282         * rendering/RenderSnapshottedPlugIn.h:
283         (RenderSnapshottedPlugIn):
284
285 2013-03-07  Dean Jackson  <dino@apple.com>
286
287         Implement a custom appearance for the snapshotted plugin background
288         https://bugs.webkit.org/show_bug.cgi?id=108368
289
290         Reviewed by Tim Horton.
291
292         After https://bugs.webkit.org/show_bug.cgi?id=108284 (r142507), a
293         snapshotted plugin was no longer drawing the background of the
294         label blurred. Since the snapshot content was now a shadow tree,
295         it wasn't feasible to pre-blur a region of the snapshot: the label
296         could be any size and in any location, with ports being able to
297         override the appearance through their UA style sheet.
298
299         Instead we now use one of the elements in the tree, the snapshot-overlay,
300         as a hook where ports can add any effect they want. This could be simply
301         a border, or a transparent mask, or even a CSS filter. We introduce a custom
302         CSS appearance "snapshotted-plugin-overlay", which could be added to the
303         element in the injected UA stylesheet. This calls into RenderTheme in
304         the same way that custom controls do.
305
306         Meanwhile, in RenderThemeMac, we implement the appearance by drawing the
307         content of the plugin snapshot into the background of the element. That
308         way we can add effects in CSS.
309
310         Test: plugins/snapshot-appearance.html
311
312         * css/CSSPrimitiveValueMappings.h:
313         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Handle SnapshottedPluginOverlayPart.
314         * css/CSSValueKeywords.in: New appearance value snapshotted-plugin-overlay.
315         * platform/ThemeTypes.h: New value SnapshottedPluginOverlayPart.
316         * html/HTMLPlugInElement.h:
317         (WebCore::toHTMLPlugInElement): Add safer casting helpers.
318         * html/HTMLPlugInImageElement.h:
319         (WebCore::toHTMLPlugInImageElement): Ditto.
320         * rendering/RenderSnapshottedPlugIn.cpp: Remove the code for handling
321             the blur directly in the renderer.
322         (WebCore::RenderSnapshottedPlugIn::paint): Simplify the paint logic since we're
323             no longer trying to blur here.
324         (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Ditto.
325         * rendering/RenderSnapshottedPlugIn.h: Remove the methods that were trying
326             to blur the image directly.
327         * rendering/RenderTheme.cpp:
328         (WebCore::RenderTheme::paint): Call paintSnapshottedPluginOverlay.
329         * rendering/RenderTheme.h:
330         (WebCore::RenderTheme::paintSnapshottedPluginOverlay): New virtual method with default implementation.
331         * rendering/RenderThemeMacShared.h:
332         (RenderThemeMacShared): Override paintSnapshottedPluginOverlay.
333         * rendering/RenderThemeMacShared.mm:
334         (WebCore::RenderThemeMacShared::paintSnapshottedPluginOverlay): Implement a custom render path
335             that takes the snapshot image from the node's parent, and draws it into the background.
336             Along the way make sure we're actually using the right type of element (an HTMLPlugInImageElement).
337
338 2013-03-08  Sergio Villar Senin  <svillar@igalia.com>
339
340         Improve drag&drop of list items in contentEditable divs
341         https://bugs.webkit.org/show_bug.cgi?id=111556
342
343         Reviewed by Ryosuke Niwa.
344
345         A single fully selected <li> should generate the same markup as if
346         we were selecting some of them, i.e., we should preserve the list
347         structure and appearance.
348
349         Test: editing/selection/drag-list-item.html
350
351         * editing/htmlediting.cpp:
352         (WebCore::isListItem): modified constness.
353         * editing/htmlediting.h:
354         (WebCore): ditto.
355         * editing/markup.cpp:
356         (WebCore::highestAncestorToWrapMarkup):
357
358 2013-03-08  Alberto Garcia  <agarcia@igalia.com>
359
360         [BlackBerry] LayerTiler: rename currentFrameHasAlpha as currentFrameKnownToBeOpaque
361         https://bugs.webkit.org/show_bug.cgi?id=111828
362
363         Reviewed by Carlos Garcia Campos.
364
365         This changed in r141637.
366
367         * platform/graphics/blackberry/LayerTiler.cpp:
368         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
369
370 2013-03-08  Antoine Quint  <graouts@apple.com>
371
372         Fix a couple of typos.
373
374         Unreviewed.
375
376         * inspector/Inspector.json:
377
378 2013-03-08  Carlos Garcia Campos  <cgarcia@igalia.com>
379
380         [BlackBerry] Use OwnPtr for CredentialBackingStore members
381         https://bugs.webkit.org/show_bug.cgi?id=111737
382
383         Reviewed by Rob Buis.
384
385         It simplifies the code a bit.
386
387         * platform/network/blackberry/CredentialBackingStore.cpp:
388         (WebCore::CredentialBackingStore::~CredentialBackingStore):
389         (WebCore::CredentialBackingStore::open):
390         (WebCore::CredentialBackingStore::certMgrWrapper):
391         * platform/network/blackberry/CredentialBackingStore.h:
392         (CredentialBackingStore):
393
394 2013-03-07  Gavin Barraclough  <barraclough@apple.com>
395
396         MemoryPressureHandler should fully flush the WebCore & NS URL caches
397         https://bugs.webkit.org/show_bug.cgi?id=111827
398
399         Rubber Stamped by Geoff Garen
400
401         When the handler is fired we should free as much memory as possible.
402
403         * platform/mac/MemoryPressureHandlerMac.mm:
404         (WebCore::MemoryPressureHandler::releaseMemory):
405             - fully flush the WebCore & NS URL caches
406
407 2013-03-07  Keishi Hattori  <keishi@webkit.org>
408
409         Update calendar picker UI
410         https://bugs.webkit.org/show_bug.cgi?id=109439
411
412         Reviewed by Kent Tamura.
413
414         This patch changes the calendar picker UI.
415
416         Added tests to existing calendar picker tests.
417         Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-month-popup.html
418
419         * Resources/pagepopups/calendarPicker.css:
420         (body):
421         (.rtl):
422         (.scroll-view):
423         (.scroll-view-content):
424         (.list-cell):
425         (.list-cell.hidden):
426         (.day-cell):
427         (.week-number-cell):
428         (.day-cell.today):
429         (.day-cell.highlighted):
430         (.day-cell.highlighted.disabled):
431         (.day-cell.selected):
432         (.day-cell.disabled):
433         (.day-cell.current-month):
434         (.calendar-table-view):
435         (.preparing .calendar-table-view:focus):
436         (.week-day-label):
437         (.week-number-label):
438         (.calendar-table-header-view):
439         (.calendar-picker):
440         (.calendar-header-view):
441         (.calendar-title):
442         (.rtl .calendar-title):
443         (.month-popup-button:disabled):
444         (.month-popup-button):
445         (.month-popup-button .disclosure-triangle):
446         (.month-popup-button .disclosure-triangle svg):
447         (.today-button::after):
448         (.calendar-navigation-button):
449         (.year-list-view):
450         (.year-list-cell):
451         (.year-list-cell .label):
452         (.year-list-cell .month-chooser):
453         (.month-buttons-row):
454         (.month-button):
455         (.month-button.highlighted):
456         (.scrubby-scroll-bar):
457         (.scrubby-scroll-thumb):
458         (.month-popup-view):
459         (.year-list-view .scrubby-scroll-bar):
460         (.rtl .year-list-view .scrubby-scroll-bar):
461         * Resources/pagepopups/calendarPicker.js:
462         (setGlobalParams): Sets the global params.
463         (initialize):
464         (openCalendarPicker):
465         (CalendarHeaderView.prototype.onNavigationButtonClick): Fix typo.
466         (CalendarPicker):
467         (CalendarPicker.prototype.onWindowResize): We want to have the "preparing" class applied
468         to cancel css transitions while setting up the calendar picker so we can avoid flaky pixel tests.
469         (CalendarPicker.prototype.onYearListViewDidHide): The user clicked on a month so hide the month popup.
470         (CalendarPicker.prototype.onYearListViewDidSelectMonth): Change the current month in response to the month popup.
471         (CalendarPicker.prototype.attachTo): We want the calendar table focused when the calendar picker first opens.
472         (CalendarPicker.prototype.cleanup): Clean up any event listeners or elements attached to nodes outside of this.element.
473         (CalendarPicker.prototype.onMonthPopupButtonClick): Open the month popup in response to the month popup button being clicked.
474         (CalendarPicker.prototype._setConfig): Configures the calendar picker.
475         (CalendarPicker.prototype.currentMonth): The currently shown month.
476         (CalendarPicker.prototype.setCurrentMonth): Scrolls the calendar table to the given month. Use the navigation behavior param to specify if you want a transition animation.
477         (CalendarPicker.prototype.adjustHeight): Adjusts the height so its just tall enough to fit the current month. If the month picker is open, fit that.
478         (CalendarPicker.prototype.selection): Currently selected date range.
479         (CalendarPicker.prototype.highlight): Currently highlighted date range.
480         (CalendarPicker.prototype.firstVisibleDay): Returns the first visible day ignoring scroll animation (i.e. this is the first visible day when the scroll animation is done).
481         (CalendarPicker.prototype.lastVisibleDay): Returns the last visible day ignoring scroll animation.
482         (CalendarPicker.prototype.selectRangeContainingDay): Sets the selection to the date range containing the given day.
483         (CalendarPicker.prototype.highlightRangeContainingDay): Sets the highlight to the date range containing the given day.
484         (CalendarPicker.prototype.setSelection): Sets the selection to the given date range.
485         (CalendarPicker.prototype._setHighlight): Sets the highlight to the given date range.
486         (CalendarPicker.prototype._stepMismatch): Just moving.
487         (CalendarPicker.prototype._outOfRange): Ditto.
488         (CalendarPicker.prototype.isValid): Returns true if the given date range is a valid selection.
489         (CalendarPicker.prototype.isValidDay): Returns true if the day is part of a valid selection.
490         (CalendarPicker.prototype._moveHighlight): Moves the highlight to the given date range if possible. Returns true if it succeeds.
491         (CalendarPicker.prototype.onCalendarTableKeyDown): Handles the arrow keys, etc.
492         (CalendarPicker.prototype.width):
493         (CalendarPicker.prototype.height):
494         (CalendarPicker.prototype.setHeight):
495         (CalendarPicker.prototype.onBodyKeyDown): Handles esc/m/y/d.
496         * Resources/pagepopups/chromium/calendarPickerChromium.css:
497         (.calendar-table-view:focus):
498         (.preparing .calendar-table-view:focus):
499
500 2013-03-07  Seokju Kwon  <seokju.kwon@gmail.com>
501
502         Web Inspector: Remove unused return value after r122962
503         https://bugs.webkit.org/show_bug.cgi?id=111821
504
505         Reviewed by Pavel Feldman.
506
507         No new tests.
508
509         * inspector/front-end/ConsolePanel.js:
510         (WebInspector.ConsolePanel.prototype.jumpToPreviousSearchResult):
511         * inspector/front-end/ElementsPanel.js:
512         (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
513         * inspector/front-end/ScriptsPanel.js:
514         (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
515
516 2013-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
517
518         Unreviewed, rolling out r145166.
519         http://trac.webkit.org/changeset/145166
520         https://bugs.webkit.org/show_bug.cgi?id=111819
521
522         build break - no symbol
523         webkit_support::CreateScopedTempDirectory() (Requested by
524         hayato on #webkit).
525
526         * Modules/indexeddb/IDBBackingStore.cpp:
527         (WebCore::IDBBackingStore::IDBBackingStore):
528         (WebCore::IDBBackingStore::~IDBBackingStore):
529         (WebCore::IDBBackingStore::open):
530         * Modules/indexeddb/IDBBackingStore.h:
531         (WebCore):
532         (IDBBackingStore):
533         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
534         (WebCore::IDBFactoryBackendImpl::addIDBBackingStore):
535         (WebCore):
536         (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
537         (WebCore::IDBFactoryBackendImpl::openBackingStore):
538         * Modules/indexeddb/IDBFactoryBackendImpl.h:
539         (IDBFactoryBackendImpl):
540
541 2013-03-07  Hajime Morrita  <morrita@google.com>
542
543         Custom Elements: CustomElement constructor shouldn't share function instance
544         https://bugs.webkit.org/show_bug.cgi?id=111807
545
546         Reviewed by Kentaro Hara.
547
548         Adaptor functions of custom elements unintentionally share the instance.
549         This fix gives new one for each.
550
551         Test: Updated fast/dom/custom/document-register-basic.html
552
553         * bindings/v8/V8AdaptorFunction.cpp:
554         (WebCore::V8AdaptorFunction::wrap):
555
556 2013-03-07  Jared Wyles  <wyles@adobe.com>
557
558         Reading border radius from style property returns in wrong order.
559         https://bugs.webkit.org/show_bug.cgi?id=110853
560
561         Reviewed by Ryosuke Niwa
562         
563         Updating the order of border-radius to return in the order specified
564         in http://www.w3.org/TR/css3-background/#the-border-radius
565
566         Tests updated in LayoutTests/fast/borders/border-radius-parsing.html 
567         Changed the expectations in LayoutTests/inspector/elements/elements-panel-styles-expected.txt 
568         
569         Compat information -
570         jQuery's css function favours using getComputedStyle for elements so that should not be impacted.
571         Zepto does check for the element on style first so may be a slight concern there.
572
573         * css/StylePropertyShorthand.cpp:
574         (WebCore::borderRadiusShorthand):
575
576 2013-03-07  Andreas Kling  <akling@apple.com>
577
578         Resizing Cappuccino is very laggy on WebKit since Safari 5.1
579         <http://webkit.org/b/71354>
580         <rdar://problem/10565998>
581
582         Reviewed by Anders Carlsson.
583
584         * WebCore.exp.in: Export FloatPoint(const NSPoint&)
585
586 2013-03-07  Andreas Kling  <akling@apple.com>
587
588         Remove desktop version of -webkit-text-size-adjust property.
589         <http://webkit.org/b/56543>
590         <rdar://problem/9150203>
591
592         Reviewed by Simon Fraser.
593
594         This property existed to support a number of Apple-internal clients of WebKit.
595         We no longer need this property, and since it's clashing with a mobile version of the
596         same property with different meaning, let's remove it altogether from the desktop build.
597
598         * css/CSSComputedStyleDeclaration.cpp:
599         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
600         * css/CSSParser.cpp:
601         (WebCore::isValidKeywordPropertyAndValue):
602         (WebCore::isKeywordPropertyID):
603         (WebCore::CSSParser::parseValue):
604         * css/CSSPrimitiveValue.cpp:
605         (WebCore::CSSPrimitiveValue::computeLengthDouble):
606         * css/CSSProperty.cpp:
607         (WebCore::CSSProperty::isInheritedProperty):
608         * css/CSSPropertyNames.in:
609         * css/StyleBuilder.cpp:
610         (WebCore::ApplyPropertyLineHeight::applyValue):
611         * css/StyleResolver.cpp:
612         (WebCore::StyleResolver::updateFont):
613         (WebCore::StyleResolver::applyProperties):
614         (WebCore::StyleResolver::applyProperty):
615         * css/StyleResolver.h:
616         (StyleResolver):
617         * css/svg.css:
618         * editing/EditingStyle.cpp:
619         * inspector/front-end/inspector.css:
620         (#console-messages):
621         * inspector/front-end/resourcesPanel.css:
622         (.storage-view.query):
623         * rendering/style/RenderStyle.cpp:
624         (WebCore::RenderStyle::diff):
625         * rendering/style/RenderStyle.h:
626         * rendering/style/StyleRareInheritedData.cpp:
627         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
628         (WebCore::StyleRareInheritedData::operator==):
629         * rendering/style/StyleRareInheritedData.h:
630         (StyleRareInheritedData):
631
632 2013-03-07  Joshua Bell  <jsbell@chromium.org>
633
634         IndexedDB: Use WeakPtr for Factory-to-BackingStore reference
635         https://bugs.webkit.org/show_bug.cgi?id=111459
636
637         Reviewed by Adam Barth.
638
639         IDBFactoryBackendImpl maintains a map of backing stores - if another database in the same
640         origin is opened, the backing store instance must be re-used). This was a map to raw
641         pointers so that the backing store can be collected when all database references are
642         dropped. The map was maintained manually by passing the factory to the IDBBackingStore which
643         would add/remove itself on creation/destruction.
644
645         Replace this with a HashMap<WeakPtr<>>. This simplifies the plumbing; map entries
646         "leak" but are purged on subsequent opens.
647
648         Added webkit_unit_test (Chromium port) to verify refcounts.
649
650         * Modules/indexeddb/IDBBackingStore.cpp:
651         (WebCore::IDBBackingStore::IDBBackingStore): No need to notify factory of lifetime.
652         (WebCore::IDBBackingStore::~IDBBackingStore): Ditto.
653         (WebCore::IDBBackingStore::open): Ditto.
654         * Modules/indexeddb/IDBBackingStore.h: No reference to the factory, but...
655         (WebCore::IDBBackingStore::createWeakPtr): Do need to expose weak pointers for the factory to hold.
656         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
657         (WebCore::cleanWeakMap): Helper function to scrub a HashMap<WeakPtr<T>> of empty pointers.
658         May move to WTF when we've learned how general it is, or come up with a dedicated WeakPtrHashMap type.
659         (WebCore::IDBFactoryBackendImpl::openBackingStore): WeakPtr fu.
660         * Modules/indexeddb/IDBFactoryBackendImpl.h:
661         (IDBFactoryBackendImpl): Remove plumbing methods.
662
663 2013-03-07  Otto Derek Cheung  <otcheung@rim.com>
664
665         [BlackBerry] RefCounting ParsedCookie to avoid SegFaults
666         https://bugs.webkit.org/show_bug.cgi?id=111761
667
668         Reviewed by Rob Buis.
669
670         Making necessary changes to ref count the ParsedCookie object.
671
672         Tested using the opera cookie test suite and the BB Browser cookie test suite.
673         Tested using the browser, visiting popular sites such as facebook, reddit, google etc
674         to ensure cookie functionality isn't changed.
675
676         * loader/blackberry/CookieJarBlackBerry.cpp:
677         (WebCore::getRawCookies):
678         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
679         (WebCore::CookieDatabaseBackingStore::insert):
680         (WebCore::CookieDatabaseBackingStore::update):
681         (WebCore::CookieDatabaseBackingStore::remove):
682         (WebCore::CookieDatabaseBackingStore::getCookiesFromDatabase):
683         (WebCore::CookieDatabaseBackingStore::invokeGetCookiesWithLimit):
684         (WebCore::CookieDatabaseBackingStore::invokeSendChangesToDatabase):
685         (WebCore::CookieDatabaseBackingStore::addToChangeQueue):
686         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
687         (CookieDatabaseBackingStore):
688         * platform/blackberry/CookieManager.cpp:
689         (WebCore::cookieSorter):
690         (WebCore::CookieManager::setCookies):
691         (WebCore::CookieManager::getCookie):
692         (WebCore::CookieManager::generateHtmlFragmentForCookies):
693         (WebCore::CookieManager::getRawCookies):
694         (WebCore::CookieManager::checkAndTreatCookie):
695         (WebCore::CookieManager::addCookieToMap):
696         (WebCore::CookieManager::getBackingStoreCookies):
697         (WebCore::CookieManager::findOrCreateCookieMap):
698         (WebCore::CookieManager::removeCookieWithName):
699         (WebCore::CookieManager::cookieLimitCleanUp):
700         * platform/blackberry/CookieManager.h:
701         * platform/blackberry/CookieMap.cpp:
702         (WebCore::CookieMap::addOrReplaceCookie):
703         (WebCore::CookieMap::removeCookieAtIndex):
704         (WebCore::CookieMap::removeCookie):
705         (WebCore::CookieMap::getAllCookies):
706         (WebCore::CookieMap::removeOldestCookie):
707         (WebCore::CookieMap::deleteAllCookiesAndDomains):
708         (WebCore::CookieMap::getAllChildCookies):
709         * platform/blackberry/CookieMap.h:
710         (CookieMap):
711         * platform/blackberry/CookieParser.cpp:
712         (WebCore):
713         (WebCore::CookieParser::parse):
714         (WebCore::CookieParser::parseOneCookie):
715         * platform/blackberry/CookieParser.h:
716         (CookieParser):
717         * platform/blackberry/ParsedCookie.cpp:
718         * platform/blackberry/ParsedCookie.h:
719         (ParsedCookie):
720         (WebCore::ParsedCookie::create):
721
722 2013-03-07  Aaron Colwell  <acolwell@chromium.org>
723
724         Heap-use-after-free in WebCore::HTMLMediaElement::~HTMLMediaElement
725         https://bugs.webkit.org/show_bug.cgi?id=110623
726
727         Reviewed by Kentaro Hara.
728
729         Test: http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html
730
731         * bindings/v8/V8GCController.cpp: Fix MinorGCWrapperVisitor so it doesn't collect ActiveDOMObjects
732                                           that have pending activity.
733         * html/HTMLAudioElement.h:
734         (HTMLAudioElement): Removed hasPendingActivity() now that this is handled by the base class.
735         * html/HTMLAudioElement.idl: Removed ActiveDOMObject annotation since HTMLMediaElement now has it.
736         * html/HTMLMediaElement.cpp:
737         (WebCore::HTMLMediaElement::hasPendingActivity): Update implementation to return true if the media
738                                                          has audio and is playing. This brings the code into
739                                                          compliance with the detached element behavior outlined
740                                                          in the HTML5 spec.
741         * html/HTMLMediaElement.idl: Added ActiveDOMObject annotation so that all derived classes are
742                                      considered ActiveDOMObjects.
743
744 2013-03-07  Jeffrey Pfau  <jpfau@apple.com>
745
746         CFNetwork cache partitioning does not work properly on subdomains
747         https://bugs.webkit.org/show_bug.cgi?id=111772
748
749         Reviewed by David Kilzer.
750
751         Ensure that the cache partitioning is done over the top privately-controlled domain for the NSURLRequest.
752
753         Not possible to test with current automated test tools, must be tested manually.
754
755         * loader/cache/MemoryCache.cpp: Remove extraneous calls to partitionName
756         (WebCore):
757         (WebCore::MemoryCache::add):
758         (WebCore::MemoryCache::revalidationSucceeded):
759         (WebCore::MemoryCache::resourceForRequest):
760         (WebCore::MemoryCache::evict):
761         (WebCore::MemoryCache::removeResourcesWithOrigin):
762         * platform/network/cf/ResourceRequest.h: Put top privately-controlled domain reduction code into ResourceRequest::partitionName
763         (ResourceRequest):
764         (WebCore::ResourceRequest::cachePartition):
765         (WebCore::ResourceRequest::setCachePartition): Pre-process the partition name
766         * platform/network/cf/ResourceRequestCFNet.cpp:
767         (WebCore):
768         (WebCore::ResourceRequest::partitionName):
769         * platform/network/mac/ResourceRequestMac.mm:
770         (WebCore::ResourceRequest::doUpdatePlatformRequest): Use a UTF-8 version of the cache partition name
771
772 2013-03-07  Kenneth Russell  <kbr@google.com>
773
774         Compute WebGL context attributes from DrawingBuffer when it is used
775         https://bugs.webkit.org/show_bug.cgi?id=111666
776
777         Reviewed by James Robinson.
778
779         Fixed computation of antialias flag when DrawingBuffer is used.
780
781         No new tests; covered by existing tests. Ran WebGL conformance
782         tests on desktop Linux and Android to test.
783
784         * html/canvas/WebGLRenderingContext.cpp:
785         (WebCore):
786         (WebCore::WebGLRenderingContext::getContextAttributes):
787             Query DrawingBuffer, when used, for antialias flag.
788
789 2013-03-07  Beth Dakin  <bdakin@apple.com>
790
791         Need API to draw custom overhang area
792         https://bugs.webkit.org/show_bug.cgi?id=111679
793         -and corresponding-
794         <rdar://problem/13291415>
795
796         Reviewed by Simon Fraser.
797
798         This will allow clients to put custom images into the top or bottom overhang area.
799
800         New FrameView API takes a bool indicating whether the client wants a top/bottom 
801         overhang layer. If the bool is true, the overhang layer will be returned. 
802         * WebCore.exp.in:
803         * page/FrameView.cpp:
804         (WebCore::FrameView::setWantsLayerForTopOverHangArea):
805         (WebCore::FrameView::setWantsLayerForBottomOverHangArea):
806         * page/FrameView.h:
807         (FrameView):
808
809         Keep member variables for the top and bottom overhang layers. Create them if 
810         necessary, and update them if the root layer changes.
811         * rendering/RenderLayerCompositor.cpp:
812         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
813         (WebCore::RenderLayerCompositor::updateLayerForTopOverhangArea):
814         (WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
815         (WebCore::RenderLayerCompositor::reportMemoryUsage):
816         * rendering/RenderLayerCompositor.h:
817         (RenderLayerCompositor):
818
819 2013-03-07  Gavin Barraclough  <barraclough@apple.com>
820
821         Reduce page cache size on Mac
822         https://bugs.webkit.org/show_bug.cgi?id=111795
823
824         Rubber stamped by Geoff Garen
825
826         5 entries is unnecessarily large; research show 3 should suffice.
827         On a low memory warning we should clear this completely.
828
829         * platform/mac/MemoryPressureHandlerMac.mm:
830         (WebCore::MemoryPressureHandler::releaseMemory):
831             - clear the page cache completely
832
833 2013-03-07  Simon Fraser  <simon.fraser@apple.com>
834
835         Rename Mac's TileCache to TileController, and WebTileCacheLayer to WebTiledBackingLayer
836         https://bugs.webkit.org/show_bug.cgi?id=111779
837
838         Reviewed by Tim Horton.
839         
840         "TileCache" was a name conflict in downstream code, so rename it to TileController.
841         The layer that has a TileController is now a WebTiledBackingLayer (which fits with
842         the TiledBacking API that TileController exposes).
843         
844         Also renamed the flags in PlatformCALayer to match.
845
846         Rename only, no behavior change.
847
848         * WebCore.xcodeproj/project.pbxproj:
849         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
850         (WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):
851         * platform/graphics/GraphicsLayerClient.h:
852         (WebCore::GraphicsLayerClient::shouldUseTiledBacking):
853         * platform/graphics/ca/GraphicsLayerCA.cpp:
854         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
855         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
856         (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
857         (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
858         (WebCore::GraphicsLayerCA::updateVisibleRect):
859         (WebCore::GraphicsLayerCA::getDebugBorderInfo):
860         (WebCore::GraphicsLayerCA::requiresTiledLayer):
861         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
862         * platform/graphics/ca/GraphicsLayerCA.h:
863         * platform/graphics/ca/PlatformCALayer.h:
864         (WebCore::PlatformCALayer::usesTiledBackingLayer):
865         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
866         (PlatformCALayer::PlatformCALayer):
867         (PlatformCALayer::~PlatformCALayer):
868         (PlatformCALayer::tiledBacking):
869         * platform/graphics/ca/mac/TileController.h: Renamed from Source/WebCore/platform/graphics/ca/mac/TileCache.h.
870         * platform/graphics/ca/mac/WebTileLayer.h:
871         (TileController):
872         * platform/graphics/ca/mac/WebTileLayer.mm:
873         (-[WebTileLayer drawInContext:]):
874         (-[WebTileLayer setTileController:WebCore::]):
875         (-[WebTileLayer logFilledFreshTile]):
876         * platform/graphics/ca/mac/WebTiledBackingLayer.h: Renamed from Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.h.
877         * platform/graphics/ca/mac/WebTiledBackingLayer.mm: Renamed from Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.mm.
878         * platform/graphics/mac/WebLayer.mm:
879         (drawLayerContents):
880         * rendering/RenderLayerBacking.cpp:
881         (WebCore::RenderLayerBacking::RenderLayerBacking):
882         (WebCore::RenderLayerBacking::shouldUseTiledBacking):
883         (WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
884         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
885         * rendering/RenderLayerBacking.h:
886         (WebCore::RenderLayerBacking::usingTiledBacking):
887         (RenderLayerBacking):
888         (WebCore::RenderLayerBacking::hasTiledBackingFlatteningLayer):
889         * rendering/RenderLayerCompositor.cpp:
890         (WebCore::RenderLayerCompositor::frameViewDidLayout):
891         (WebCore::RenderLayerCompositor::rootFixedBackgroundsChanged):
892         (WebCore::RenderLayerCompositor::supportsFixedRootBackgroundCompositing):
893
894 2013-03-07  Alexey Proskuryakov  <ap@apple.com>
895
896         FormData should allow setting filename to empty
897         https://bugs.webkit.org/show_bug.cgi?id=111687
898
899         Reviewed by Brady Eidson.
900
901         Tests: http/tests/local/formdata/send-form-data-with-empty-blob-filename.html
902                http/tests/local/formdata/send-form-data-with-empty-file-filename.html
903
904         * platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems):
905         Missing value is a null string. If the string is empty, we should treat is as
906         authoritative.
907
908 2013-03-07  David Hyatt  <hyatt@apple.com>
909
910         REGRESSION: fast/border/border-fit-2.html needs updating
911         https://bugs.webkit.org/show_bug.cgi?id=111776
912
913         Reviewed by Simon Fraser.
914
915         This test is incorrectly shrinking the border image now.
916         We need to apply some clamping to the border-fit like the
917         old code did. The pixel results *are* still changing though,
918         since a layout-time shrinkage will not result in right-aligned
919         boxes in an LTR block when the left edge gets chopped. We'll
920         have to see if this behavioral change ends up being a problem,
921         but for now we'll rebaseline and assume it will be ok.
922
923         * rendering/RenderBlock.cpp:
924         (WebCore::RenderBlock::fitBorderToLinesIfNeeded):
925
926 2013-03-07  Antoine Quint  <graouts@apple.com>
927
928         Web Inspector: provide reasons why a layer was composited in the LayerTreeAgent
929         https://bugs.webkit.org/show_bug.cgi?id=111703
930
931         Introduce a new LayerTree.reasonsForCompositingLayer(layerId) method which returns
932         the list of reasons why the provided layer was composited as an object with an
933         optional property for each possible reason. The RenderLayerCompositor already knows
934         how to provide this information via its own reasonsForCompositing() method, and we
935         process the returned bitmask to populate the object sent to the front-end.
936
937         Reviewed by Timothy Hatcher.
938
939         Test: inspector-protocol/layers/layers-compositing-reasons.html
940
941         * inspector/Inspector.json:
942         * inspector/InspectorLayerTreeAgent.cpp:
943         (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
944         (WebCore):
945         * inspector/InspectorLayerTreeAgent.h:
946         (InspectorLayerTreeAgent):
947
948 2013-03-07  Anders Carlsson  <andersca@apple.com>
949
950         Add a didFocusTextField callback to the injected bundle form client
951         https://bugs.webkit.org/show_bug.cgi?id=111771
952
953         Reviewed by Andreas Kling.
954
955         Export a symbol needed by WebKit2.
956
957         * WebCore.exp.in:
958
959 2013-03-06  James Robinson  <jamesr@chromium.org>
960
961         [chromium] Stop using WebTransformationMatrix on WebLayer
962         https://bugs.webkit.org/show_bug.cgi?id=111635
963
964         Reviewed by Adrienne Walker.
965
966         Switches over to the SkMatrix44 transform setters.
967
968         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
969         (WebCore::transformToSkMatrix44):
970           Utility for convering a WebCore::TransformationMatrix to an SkMatrix44.
971           Will move to a more common location once it gets more callers.
972         (WebCore::GraphicsLayerChromium::updateTransform):
973         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
974
975 2013-03-07  Eric Carlson  <eric.carlson@apple.com>
976
977         [Mac] allow iOS to use CaptionUserPreferencesMac
978         https://bugs.webkit.org/show_bug.cgi?id=111770
979
980         Reviewed by Dean Jackson.
981
982         No new tests, covered by existing tests.
983
984         * page/CaptionUserPreferencesMac.h:
985         * page/CaptionUserPreferencesMac.mm:
986         (WebCore::userCaptionPreferencesChangedNotificationCallback): Respond to notifications on
987             the web thread.
988
989 2013-03-07  Mike West  <mkwst@chromium.org>
990
991         Move side-effects on hover/active state out of hit-testing
992         https://bugs.webkit.org/show_bug.cgi?id=98168
993
994         Reviewed by Julien Chaffraix.
995
996         Original patch by Allan Sandfeld Jensen; I'm just tweaking things.
997
998         Document::updateHoverActiveState is currently called during hit testing
999         to update the hover and active states of elements effected by mouse
1000         movements (or their keyboard equivalents). This conflates the hit test
1001         algorithm itself with side-effects associated with specific use-cases.
1002
1003         This conflation makes it very difficult to reuse the hover/active logic
1004         for things other than hit testing. 'mouseenter'/'mouseleave' events[1]
1005         are one example of a feature that would be simple to implement on top of
1006         this existing logic if we split it out from the hit testing path, and
1007         instead call it explicitly when necessary. An explicit split between
1008         hit testing and its side-effects will also enable us to simplify the
1009         logic in future patches with well-named parameters, rather than relying
1010         on stuffing properties into HitTestRequest.
1011
1012         This patch drops the call to Document::updateHoverActiveState from
1013         RenderView::hitTest, and adjusts the three call-sites in EventHandler
1014         to explicitly call out to it rather than Document::updateStyleIfNeeded.
1015         The latter call is still necessary but has been folded into
1016         updateHoverActiveState, as the former is never called without calling
1017         the latter.
1018
1019         [1]: http://wkbug.com/18930
1020
1021         * dom/Document.h:
1022         * dom/Document.cpp:
1023         (WebCore::Document::updateHoverActiveState):
1024             First, this function must now only be called from contexts that were
1025             performing a read/write hit-test: the code asserts this
1026             precondition.
1027
1028             Second, rather than accepting a HitTestResult, the function accepts
1029             an Element* from which to begin the hover/active chain changes.
1030
1031             Third, we have to explicitly update the hover/active states for
1032             documents between the updated element and the top-level document.
1033             The hit-testing logic was taking care of this for us, now we need to
1034             take care of it ourselves.
1035
1036             Fourth, call out to updateStyleIfNeeded rather than making our
1037             caller do so. The calls were always paired; now that's explicit.
1038         (WebCore::Document::prepareMouseEvent):
1039         * page/EventHandler.cpp:
1040         (WebCore::EventHandler::hitTestResultAtPoint):
1041         (WebCore::EventHandler::sendContextMenuEventForKey):
1042         (WebCore::EventHandler::hoverTimerFired):
1043             Call out to updateHoverActiveState rather than updateStyleIfNeeded.
1044         * rendering/RenderView.cpp:
1045         (WebCore::RenderView::hitTest):
1046             Drop the call to updateHoverActiveState.
1047
1048 2013-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1049
1050         Unreviewed, rolling out r145097.
1051         http://trac.webkit.org/changeset/145097
1052         https://bugs.webkit.org/show_bug.cgi?id=111765
1053
1054         Triggers an ASSERT in the Chromium port (Requested by abarth
1055         on #webkit).
1056
1057         * html/FileInputType.cpp:
1058         (WebCore::FileInputType::appendFormData):
1059         * platform/network/FormData.cpp:
1060         (WebCore::FormData::appendKeyValuePairItems):
1061
1062 2013-03-07  Chris Fleizach  <cfleizach@apple.com>
1063
1064         AX: Can't activate links with VoiceOver in Safari
1065         https://bugs.webkit.org/show_bug.cgi?id=111755
1066
1067         Reviewed by Tim Horton.
1068
1069         VoiceOver is relying on the press action being the first action in the list. We changed
1070         that order inadvertently recently, which confuses VoiceOver.
1071
1072         Test: platform/mac/accessibility/press-action-is-first.html
1073
1074         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1075         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
1076
1077 2013-03-07  Rafael Weinstein  <rafaelw@chromium.org>
1078
1079         Unreviewed, rolling out r145083.
1080         http://trac.webkit.org/changeset/145083
1081         https://bugs.webkit.org/show_bug.cgi?id=110733
1082
1083         caused lots crashes in http/tests/security/xssAuditor/* tests
1084
1085         * html/parser/XSSAuditor.cpp:
1086         (WebCore::XSSAuditor::XSSAuditor):
1087         (WebCore::XSSAuditor::init):
1088         (WebCore::XSSAuditor::filterToken):
1089         * html/parser/XSSAuditor.h:
1090         * html/parser/XSSAuditorDelegate.cpp:
1091         (WebCore::XSSAuditorDelegate::didBlockScript):
1092         * html/parser/XSSAuditorDelegate.h:
1093         (WebCore::XSSInfo::create):
1094         (XSSInfo):
1095         (WebCore::XSSInfo::XSSInfo):
1096
1097 2013-03-07  Michelangelo De Simone  <michelangelo@webkit.org>
1098
1099         [CSS Shaders] Implement hue and saturation non-separable blend modes
1100         https://bugs.webkit.org/show_bug.cgi?id=109464
1101
1102         Added the following GLSL helper functions to the CustomFilterValidatedProgram:
1103
1104             - css_Sat(C): returns the saturation for the color C
1105             - css_SetSat(C, s): sets the saturation s on the color C
1106             - css_SetSatHelper(Cmin, Cmid, Cmax, s): helper function for css_SetSat
1107
1108         The above functions are being used for the "hue" and "saturation" non-separable
1109         blend modes, the relevant spec for such modes is at URL:
1110         https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blendingnonseparable
1111
1112         Reviewed by Dean Jackson.
1113
1114         Tests: css3/filters/custom/custom-filter-nonseparable-blend-mode-hue.html
1115                css3/filters/custom/custom-filter-nonseparable-blend-mode-saturation.html
1116
1117         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
1118         (WebCore::CustomFilterValidatedProgram::blendFunctionString):
1119
1120 2013-03-07  Andrey Lushnikov  <lushnikov@chromium.org>
1121
1122         Web Inspector: [ACE] set correct font
1123         https://bugs.webkit.org/show_bug.cgi?id=111747
1124
1125         Reviewed by Pavel Feldman.
1126
1127         No new tests.
1128
1129         Set class "source-code" for the ace editor element.
1130
1131         * inspector/front-end/AceTextEditor.js:
1132         (WebInspector.AceTextEditor):
1133
1134 2013-03-06  Ojan Vafai  <ojan@chromium.org>
1135
1136         Recalculate borders at the beginning of table layout
1137         https://bugs.webkit.org/show_bug.cgi?id=111634
1138
1139         Reviewed by Julien Chaffraix.
1140
1141         Doing it in convertStyleLogicalWidthToComputedWidth missed some dynamic
1142         relayout cases. I confirmed that the new results match the results we
1143         would get if we set the border width initially instead of dynamically.
1144
1145         * rendering/RenderTable.cpp:
1146         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
1147         (WebCore::RenderTable::layout):
1148
1149 2013-03-07  David Hyatt  <hyatt@apple.com>
1150
1151         border-fit-adjust should happen at layout time rather than paint time
1152         https://bugs.webkit.org/show_bug.cgi?id=111606
1153         <rdar://problem/13101714>
1154
1155         Reviewed by Antti Koivisto.
1156
1157         In order for border-fit-adjust to be accurate in more cases, it needs
1158         to be a layout-time adjustment rather than a paint-time adjustment.
1159         Specifically there are cases where an LTR adjusted box was right-aligned
1160         by its container, and without genuinely shrinking the size of the box,
1161         we end up chopping off the right edge but not shifting the box to the
1162         right to compensate.
1163         
1164         This patch changes border-fit-adjust to now do the adjustment using
1165         the override width mechanism and a second layout pass instead of just
1166         hacking painting.
1167
1168         Test: fast/block/border-fit-with-right-alignment.html
1169
1170         * rendering/RenderBlock.cpp:
1171         (WebCore::RenderBlock::layoutBlock):
1172         Calls fitBorderToLinesIfNeeded at the end of layout to do a second
1173         layout pass if the adjustment needs to be made.
1174
1175         (WebCore::RenderBlock::fitBorderToLinesIfNeeded):
1176         Renamed borderFitAdjust to fitBorderToLinesIfNeeded and made it
1177         non-virtual, since it's no longer called from RenderBox code. Changed it
1178         to do a relayout using override widths if an adjustment is needed.
1179
1180         * rendering/RenderBlock.h:
1181         (RenderBlock):
1182         Renamed borderFitAdjust to fitBorderToLinesIfNeeded and made it
1183         non-virtual.
1184
1185         * rendering/RenderBox.cpp:
1186         (WebCore::RenderBox::paintBoxDecorations):
1187         (WebCore::RenderBox::paintMask):
1188         Removed the paint-time border-fit adjustment.
1189
1190         (WebCore::RenderBox::computeLogicalWidthInRegion):
1191         Use the override width when border-fit is set to lines.
1192
1193         * rendering/RenderBox.h:
1194         (RenderBox):
1195         Remove the virtual borderFitAdjust method.
1196
1197 2013-03-07  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1198
1199         REGRESSION(r143727): Clicking / selecting inside an <embed> is broken
1200         https://bugs.webkit.org/show_bug.cgi?id=111217
1201
1202         Reviewed by Julien Chaffraix.
1203
1204         Hit-testing into child frames need to happen in RenderPart, otherwise
1205         we will miss frame views in <embed> and <object> elements. 
1206
1207         Test: fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content.html
1208
1209         * rendering/RenderFrameBase.cpp:
1210         * rendering/RenderFrameBase.h:
1211         (RenderFrameBase):
1212         * rendering/RenderPart.cpp:
1213         (WebCore::RenderPart::nodeAtPoint):
1214         * rendering/RenderPart.h:
1215         (RenderPart):
1216
1217 2013-03-07  Alexey Proskuryakov  <ap@apple.com>
1218
1219         FormData should allow setting filename to empty
1220         https://bugs.webkit.org/show_bug.cgi?id=111687
1221
1222         Reviewed by Brady Eidson.
1223
1224         Tests: http/tests/local/formdata/send-form-data-with-empty-blob-filename.html
1225                http/tests/local/formdata/send-form-data-with-empty-file-filename.html
1226
1227         * html/FileInputType.cpp: (WebCore::FileInputType::appendFormData):
1228         Use a Blob for empty file input, not a hacky File with empty path.
1229
1230         * platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems):
1231         Missing value is a null string. If the string is empty, we should treat is as
1232         authoritative.
1233
1234 2013-03-07  Andrey Lushnikov  <lushnikov@chromium.org>
1235
1236         Web Inspector: [CodeMirror] dublicated horizontal scroll
1237         https://bugs.webkit.org/show_bug.cgi?id=111712
1238
1239         Reviewed by Pavel Feldman.
1240
1241         Set a box-sizing css property on all codemirror elements to
1242         "content-box".
1243
1244         No new tests.
1245
1246         * inspector/front-end/cm/cmdevtools.css:
1247         (.CodeMirror *):
1248
1249 2013-03-07  Vsevolod Vlasov  <vsevik@chromium.org>
1250
1251         Web Inspector: Styles sidebar pane toolbar disappears in horizontal split mode.
1252         https://bugs.webkit.org/show_bug.cgi?id=111735
1253
1254         Reviewed by Pavel Feldman.
1255
1256         * inspector/front-end/ElementsPanel.js:
1257         (WebInspector.ElementsPanel.prototype._splitVertically):
1258         * inspector/front-end/elementsPanel.css:
1259         (.sidebar-pane.composite .metrics-and-computed .sidebar-pane-toolbar):
1260
1261 2013-03-07  Zan Dobersek  <zdobersek@igalia.com>
1262
1263         [GTK] Limit the supported compilers to GCC >= 4.7 and Clang >= 3.0
1264         https://bugs.webkit.org/show_bug.cgi?id=109932
1265
1266         Reviewed by Martin Robinson.
1267
1268         * GNUmakefile.am: Replace references to SYMBOL_VISIBILITY_INLINES and SYMBOL_VISIBILITY variables with the actual flags.
1269         They are now available by default due to the limited set of supported compilers.
1270         * bindings/gobject/GNUmakefile.am: Ditto.
1271
1272 2013-03-07  Mike West  <mkwst@chromium.org>
1273
1274         XSSAuditor should send only one console error when blocking a page.
1275         https://bugs.webkit.org/show_bug.cgi?id=110733
1276
1277         Reviewed by Daniel Bates.
1278
1279         Currently, we send two console errors when XSSAuditor blocks a page:
1280         "Refused to execute a JavaScript script. Source code of script found
1281         within request.\n", and "Entire page will be blocked.".
1282
1283         We should only send one message, tuning it properly for the context, and
1284         including the URL of the page effected by the XSSAuditor's work.
1285
1286         Covered by rebaselines of all the XSSAuditor and 'reflected-xss' tests.
1287
1288         * html/parser/XSSAuditor.cpp:
1289         * html/parser/XSSAuditor.h:
1290         (WebCore::XSSAuditor::XSSAuditor):
1291             Add two booleans to track the headers used to set the XSSAuditor state.
1292         (WebCore::XSSAuditor::init):
1293             Save a copy of the document's URL even if we're not generating a
1294             report upon violation: we'll need it for the console messages. Also
1295             populate the didSendValidXXXHeader booleans for use later.
1296         (WebCore::XSSAuditor::filterToken):
1297             Add detail about the header status to the constructed XSSInfo object.
1298         * html/parser/XSSAuditorDelegate.cpp:
1299         (WebCore::buildConsoleError):
1300             Move message construction out into a separate inlined function, as
1301             it's becoming complex.
1302         (WebCore::XSSAuditorDelegate::didBlockScript):
1303             Fold the "Entire page will be blocked" message into the main console
1304             error.
1305         * html/parser/XSSAuditorDelegate.h:
1306         (WebCore::XSSInfo::create):
1307         (WebCore::XSSInfo::XSSInfo):
1308             Add detail about header status to XSSInfo in order to correctly
1309             construct the console error.
1310
1311 2013-03-07  Vsevolod Vlasov  <vsevik@chromium.org>
1312
1313         Web Inspector: Add some more compilation annotations to NavigatorView
1314         https://bugs.webkit.org/show_bug.cgi?id=111730
1315
1316         Reviewed by Alexander Pavlov.
1317
1318         * inspector/front-end/NavigatorView.js:
1319
1320 2013-03-06  Gustavo Noronha Silva  <gns@gnome.org>
1321
1322         [GTK] Enable translations for WebKit2
1323         https://bugs.webkit.org/show_bug.cgi?id=111398
1324
1325         Reviewed by Martin Robinson.
1326
1327         Build change only, thus no tests.
1328
1329         * GNUmakefile.am: distribute po files.
1330         * platform/gtk/po/POTFILES.in: adjust paths for translatable files.
1331
1332 2013-03-07  Andrey Lushnikov  <lushnikov@chromium.org>
1333
1334         Web Inspector: [CodeMirror] update codemirror to version 3.1
1335         https://bugs.webkit.org/show_bug.cgi?id=111711
1336
1337         Reviewed by Vsevolod Vlasov.
1338
1339         Update code mirror experimental editor to version 3.1
1340
1341         No new tests.
1342
1343         * inspector/front-end/cm/codemirror.css:
1344         (.CodeMirror div.CodeMirror-cursor):
1345         (.CodeMirror div.CodeMirror-secondarycursor):
1346         (.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor):
1347         (.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor:not(#nonsense_id)):
1348         (.CodeMirror div.CodeMirror-cursor.CodeMirror-overwrite):
1349         (.CodeMirror-gutters):
1350         (.CodeMirror-linewidget):
1351         (.CodeMirror-widget):
1352         (.CodeMirror-focused div.CodeMirror-cursor):
1353         (@media print):
1354         * inspector/front-end/cm/codemirror.js:
1355         (window.CodeMirror):
1356         (window.CodeMirror.):
1357
1358 2013-03-07  Sergio Correia  <sergio.correia@openbossa.org>
1359
1360         OpenGLShims: fix check for ANGLE GLES2 extensions
1361         https://bugs.webkit.org/show_bug.cgi?id=111656
1362
1363         Reviewed by Simon Hausmann.
1364
1365         The check for ANGLE GLES2 extensions is currently being overriden
1366         with checks for APPLE extensions in lookupOpenGLFunctionAddress().
1367
1368         No new tests. No user visible behavior changed.
1369
1370         * platform/graphics/OpenGLShims.cpp:
1371         (WebCore::lookupOpenGLFunctionAddress):
1372
1373 2013-03-07  David Kilzer  <ddkilzer@apple.com>
1374
1375         Rename visible_units.h to VisibleUnits.h in WebCore.vcxproj.filters
1376         <http://webkit.org/b/111426>
1377
1378         * WebCore.vcxproj/WebCore.vcxproj.filters: Rename visible_units.h
1379         to VisibleUnits.h and re-sort.
1380
1381 2013-03-07  Vsevolod Vlasov  <vsevik@chromium.org>
1382
1383         Web Inspector: Support a shortcut for reloading front-end in debug mode.
1384         https://bugs.webkit.org/show_bug.cgi?id=111709
1385
1386         Reviewed by Pavel Feldman.
1387
1388         * inspector/front-end/buildSystemOnly.js:
1389         * inspector/front-end/inspector.js:
1390         (WebInspector.documentKeyDown):
1391
1392 2013-03-07  Vsevolod Vlasov  <vsevik@chromium.org>
1393
1394         Web Inspector: Support setting up file system mappings from scripts panel context menu.
1395         https://bugs.webkit.org/show_bug.cgi?id=111583
1396
1397         Reviewed by Pavel Feldman.
1398
1399         Added context menu items to set up network - file system mappings from sources panel.
1400         Implemented mapping add/remove methods on Workspace.
1401         Added a dialog suggesting to reload front-end after making such changes.
1402
1403         * English.lproj/localizedStrings.js:
1404         * inspector/front-end/FileSystemMapping.js:
1405         (WebInspector.FileSystemMappingImpl.prototype.fileSystemPath):
1406         * inspector/front-end/FileSystemProjectDelegate.js:
1407         (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemRemoved):
1408         (WebInspector.FileSystemWorkspaceProvider.prototype.fileSystemPath):
1409         * inspector/front-end/FilteredItemSelectionDialog.js:
1410         (WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
1411         (WebInspector.FilteredItemSelectionDialog.prototype.setQuery):
1412         (WebInspector.SelectUISourceCodeDialog):
1413         (WebInspector.SelectUISourceCodeDialog.prototype.uiSourceCodeSelected):
1414         (WebInspector.SelectUISourceCodeDialog.prototype.filterProject):
1415         (WebInspector.SelectUISourceCodeDialog.prototype.filterUISourceCode):
1416         (WebInspector.SelectUISourceCodeDialog.prototype.selectItem):
1417         (WebInspector.SelectUISourceCodeDialog.prototype._uiSourceCodeAdded):
1418         (WebInspector.OpenResourceDialog):
1419         (WebInspector.OpenResourceDialog.prototype.uiSourceCodeSelected):
1420         (WebInspector.OpenResourceDialog.prototype.filterProject):
1421         (WebInspector.SelectUISourceCodeForProjectTypeDialog):
1422         (WebInspector.SelectUISourceCodeForProjectTypeDialog.prototype.uiSourceCodeSelected):
1423         (WebInspector.SelectUISourceCodeForProjectTypeDialog.prototype.filterProject):
1424         (WebInspector.SelectUISourceCodeForProjectTypeDialog.show):
1425         * inspector/front-end/ScriptsPanel.js:
1426         (WebInspector.ScriptsPanel.prototype._mapFileSystemToNetwork.mapFileSystemToNetwork):
1427         (WebInspector.ScriptsPanel.prototype._mapFileSystemToNetwork):
1428         (WebInspector.ScriptsPanel.prototype._removeNetworkMapping):
1429         (WebInspector.ScriptsPanel.prototype._mapNetworkToFileSystem.mapNetworkToFileSystem):
1430         (WebInspector.ScriptsPanel.prototype._mapNetworkToFileSystem):
1431         (WebInspector.ScriptsPanel.prototype.):
1432         (WebInspector.ScriptsPanel.prototype._appendUISourceCodeMappingItems):
1433         (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
1434         * inspector/front-end/SettingsScreen.js:
1435         (WebInspector.WorkspaceSettingsTab):
1436         (WebInspector.WorkspaceSettingsTab.prototype.wasShown):
1437         (WebInspector.WorkspaceSettingsTab.prototype._reset):
1438         * inspector/front-end/ViewportControl.js:
1439         (WebInspector.ViewportControl.prototype.refresh):
1440         * inspector/front-end/Workspace.js:
1441         (WebInspector.Workspace.prototype.addMapping):
1442         (WebInspector.Workspace.prototype.removeMapping):
1443         * inspector/front-end/externs.js:
1444         (WebInspector.suggestReload):
1445         * inspector/front-end/inspector.js:
1446         (WebInspector.suggestReload):
1447
1448 2013-03-07  Vsevolod Vlasov  <vsevik@chromium.org>
1449
1450         Web Inspector: Add support for frontend reloading
1451         https://bugs.webkit.org/show_bug.cgi?id=111727
1452
1453         Reviewed by Pavel Feldman.
1454
1455         This patch adds support for frontend reloading including:
1456           - making sure no messages are sent to backend once frontend started reloading
1457           - updating frontend url with up-to-date dockSide query parameter value.
1458
1459         * inspector/front-end/InspectorBackend.js:
1460         (InspectorBackendClass.prototype.sendMessageObjectToBackend):
1461         (InspectorBackendClass.prototype.disconnect):
1462         * inspector/front-end/externs.js:
1463         (WebInspector.reload):
1464         * inspector/front-end/inspector.js:
1465         (WebInspector.reload):
1466
1467 2013-03-07  Alexei Filippov  <alph@chromium.org>
1468
1469         Web Inspector: Change profile start button caption depending on profile type.
1470         https://bugs.webkit.org/show_bug.cgi?id=111698
1471
1472         Change the start profiling button caption to "Snapshot" for
1473         snapshot-like profile types, e.g. JS heap snapshot, native memory snapshot.
1474
1475         Reviewed by Yury Semikhatsky.
1476
1477         * English.lproj/localizedStrings.js:
1478         * inspector/front-end/HeapSnapshotView.js:
1479         (WebInspector.HeapSnapshotProfileType.prototype.isInstantProfile):
1480         * inspector/front-end/NativeMemorySnapshotView.js:
1481         (WebInspector.NativeSnapshotProfileType.prototype.isInstantProfile):
1482         (WebInspector.NativeMemoryProfileType.prototype.isInstantProfile):
1483         * inspector/front-end/ProfileLauncherView.js:
1484         (WebInspector.ProfileLauncherView):
1485         (WebInspector.ProfileLauncherView.prototype.addProfileType):
1486         (WebInspector.ProfileLauncherView.prototype._updateControls):
1487         (WebInspector.MultiProfileLauncherView.prototype._updateControls):
1488         (WebInspector.MultiProfileLauncherView.prototype._profileTypeChanged):
1489         * inspector/front-end/ProfilesPanel.js:
1490         (WebInspector.ProfileType.prototype.isInstantProfile):
1491
1492 2013-03-07  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
1493
1494         [texmap] Remove direct access to clip state from clip stack
1495         https://bugs.webkit.org/show_bug.cgi?id=111630
1496
1497         Reviewed by Allan Sandfeld Jensen.
1498
1499         As we are now monitoring the clip state from
1500         TextureMapperGL/BitmapTextureGL, have direct access to clip state object
1501         would eventually make it dirty without properly setting the
1502         'clipStateDirty' flag. This bug intends to substitute direct access with
1503         auxiliary functions which would set the clip state dirty when necessary.
1504
1505         No new tests. No user visible behavior changed.
1506
1507         * platform/graphics/texmap/TextureMapperGL.cpp:
1508         (WebCore::TextureMapperGL::ClipStack::intersect):
1509         (WebCore::TextureMapperGL::ClipStack::setStencilIndex):
1510         (WebCore::TextureMapperGL::drawBorder):
1511         (WebCore::TextureMapperGL::drawTexture):
1512         (WebCore::TextureMapperGL::beginScissorClip):
1513         (WebCore::TextureMapperGL::beginClip):
1514         Replaced direct access with auxiliary functions.
1515
1516         * platform/graphics/texmap/TextureMapperGL.h:
1517         (ClipStack): Removed ClipStack::current() function.
1518         (WebCore::TextureMapperGL::ClipStack::getStencilIndex): Added.
1519         (WebCore::TextureMapperGL::ClipStack::isCurrentScissorBoxEmpty): Added.
1520
1521 2013-03-07  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
1522
1523         [Texturemapper] transform-style 'flat' value is broken
1524         https://bugs.webkit.org/show_bug.cgi?id=111566
1525
1526         Reviewed by Allan Sandfeld Jensen.
1527
1528         After changes from r144290, the CSS3 'transform-styles' property, when
1529         used with 'flat' value, resulted in non-stenciled rendering inside
1530         clipped area - vide example from Surfin' Safari blog:
1531         https://www.webkit.org/blog-files/3d-transforms/transform-style.html
1532
1533         This patch forces the clip state to be applied when binding the default
1534         surface.
1535
1536         No new tests. No user visible behavior changed.
1537
1538         * platform/graphics/texmap/TextureMapperGL.cpp:
1539         (WebCore::TextureMapperGL::ClipStack::apply):
1540         (WebCore::TextureMapperGL::ClipStack::applyIfNeeded): Added.
1541         Moved state cache check from apply() to applyIfNeeded().
1542
1543         (WebCore::BitmapTextureGL::clearIfNeeded):
1544         (WebCore::BitmapTextureGL::bind):
1545         (WebCore::TextureMapperGL::beginScissorClip):
1546         (WebCore::TextureMapperGL::beginClip):
1547         (WebCore::TextureMapperGL::endClip):
1548         * platform/graphics/texmap/TextureMapperGL.h:
1549         (ClipStack):
1550         Use applyIfNeeded() to check for clip state before clipping.
1551
1552 2013-03-07  Andrey Lushnikov  <lushnikov@chromium.org>
1553
1554         Web Inspector: refactoring: move TextEditorModel.Indent enum into TextUtils
1555         https://bugs.webkit.org/show_bug.cgi?id=111715
1556
1557         Reviewed by Pavel Feldman.
1558
1559         Move WebInspector.TextEditorModel.Indent into WebInspector.TextUtils namespace.
1560
1561         No new tests: no change in behaviour.
1562
1563         * inspector/front-end/SettingsScreen.js:
1564         (WebInspector.GenericSettingsTab):
1565         * inspector/front-end/TextEditorModel.js:
1566         (WebInspector.TextEditorModel.endsWithBracketRegex.):
1567         * inspector/front-end/TextUtils.js:
1568
1569 2013-03-07  Ian Vollick  <vollick@chromium.org>
1570
1571         Fix painting phases for composited scrolling
1572         https://bugs.webkit.org/show_bug.cgi?id=107618
1573
1574         Reviewed by Simon Fraser.
1575
1576         With composited scrolling, the scrolling contents layer paints the 
1577         foreground and the main graphics layer paints the background. This 
1578         causes a few problems:
1579
1580           1) If we create a foreground layer, we end up with two layers painting 
1581              the foreground phase.
1582           2) Focus rings / outlines paint into the foreground layer, so they end
1583              up moving around with the scrolling contents.
1584           3) Neg z-order descendants paint in the the main graphics layer and
1585              will therefore not scroll.
1586
1587         To deal with 1) we need to stop painting the foreground into both the
1588         foreground and scrolling contents layers. We also need to ensure that
1589         the foreground layer is the right size and has the right offset from
1590         renderer if we're on the composited scrolling path.
1591
1592         To deal with 2) and 3), I have added a new graphics layer painting phase 
1593         flag -- GraphicsLayerPaintCompositedScroll -- and applied it to two
1594         layers in the subtree created by RenderLayerBacking. This ultimately
1595         affects the paint phase passed to RenderLayer::paintLayerContents and
1596         allows us to paint the focus rings, outlines and negative z-order
1597         descendants into the proper layers.
1598
1599         Tests: compositing/overflow/composited-scrolling-paint-phases.html
1600                compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html
1601                compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html
1602
1603         * page/Frame.h:
1604           Added a flag for including painting phases in the layer tree dump.
1605         (WebCore::GraphicsLayer::dumpProperties):
1606           Can now dump painting phase information, but only if requested.
1607         * platform/graphics/GraphicsLayerClient.h:
1608           Added a new entry to GraphicsLayerPaintingPhaseFlags for comp-scroll.
1609         (WebCore::RenderLayer::paintLayerContents):
1610           Updated the logic to account for the new comp-scroll-related paint
1611           phase flag.
1612         * rendering/RenderLayer.h:
1613           Added the RenderLayer painting phase counterpart to
1614           GraphicsLayerPaintCompositedScroll.
1615         * rendering/RenderLayerBacking.cpp:
1616         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1617           Ensures that the foreground layer is sized correctly for comp-scroll.
1618         (WebCore::RenderLayerBacking::updateScrollingLayers):
1619           If we have a foreground layer, the scrolling contents layer no
1620           longer gets assigned the foreground painting phase.
1621         (WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer):
1622           If we're comp-scrolling, then the primary layer gets the new phase.
1623         (WebCore::RenderLayerBacking::paintIntoLayer):
1624           Simply translates the new graphics layer painting phase to its
1625           render layer counterpart.
1626         (WebCore::RenderLayerCompositor::layerTreeAsText):
1627         * testing/Internals.cpp:
1628         (WebCore::Internals::layerTreeAsText):
1629         * testing/Internals.h:
1630         * testing/Internals.idl:
1631           The above changes are solely plumbing to allow layout tests to
1632           request that paint phase information be included in the layer tree
1633           dump.
1634
1635 2013-03-07  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1636
1637         [Qt] Use Qt5.1 supportedMimeTypes methods.
1638         https://bugs.webkit.org/show_bug.cgi?id=111185
1639
1640         Reviewed by Jocelyn Turcotte.
1641
1642         Uses the supportedMimeTypes() methods from QImageReader and QImageWriter when available.
1643
1644         * platform/MIMETypeRegistry.cpp:
1645         (WebCore::initializeSupportedImageMIMETypes):
1646         (WebCore::initializeSupportedImageMIMETypesForEncoding):
1647
1648 2013-03-07  Ilya Tikhonovsky  <loislo@chromium.org>
1649
1650         Web Inspector: Flame Chart. Stick item color to the function.
1651         https://bugs.webkit.org/show_bug.cgi?id=111697
1652
1653         Reviewed by Yury Semikhatsky.
1654
1655         Different nodes associated with a single function have to use the same color.
1656         Minor polish: do not filter out (idle) and (program) items. They were big due to an error on v8 side.
1657         Set minimum width to 0 for more precise picture.
1658
1659         * inspector/front-end/FlameChart.js:
1660         (WebInspector.FlameChart):
1661         (WebInspector.FlameChart.prototype._rootNodes):
1662         (WebInspector.FlameChart.prototype.draw):
1663         (WebInspector.FlameChart.prototype._drawNode):
1664         (WebInspector.FlameChart.prototype._drawBar):
1665
1666 2013-03-07  Andrey Lushnikov  <lushnikov@chromium.org>
1667
1668         Web Inspector: [ACE] gutter size should be fixed.
1669         https://bugs.webkit.org/show_bug.cgi?id=111576
1670
1671         Reviewed by Pavel Feldman.
1672
1673         Add a custom ace editor build that supports setFixedGutterWidth configuration
1674         parameter and switch this setting on.
1675
1676         No new tests.
1677
1678         * inspector/front-end/AceTextEditor.js:
1679         (WebInspector.AceTextEditor): Switch fixedGutterWidth setting on.
1680         * inspector/front-end/ace/ace.js:
1681         (.):
1682
1683 2013-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1684
1685         Unreviewed, rolling out r145059.
1686         http://trac.webkit.org/changeset/145059
1687         https://bugs.webkit.org/show_bug.cgi?id=111707
1688
1689         crash webkit build (Requested by tasak on #webkit).
1690
1691         * CMakeLists.txt:
1692         * GNUmakefile.list.am:
1693         * Target.pri:
1694         * WebCore.gypi:
1695         * WebCore.xcodeproj/project.pbxproj:
1696         * css/CSSAllInOne.cpp:
1697         * css/DocumentRuleSets.cpp:
1698         (WebCore::ShadowDistributedRules::collectMatchRequests):
1699         * css/DocumentRuleSets.h:
1700         * css/ElementRuleCollector.cpp: Removed.
1701         * css/ElementRuleCollector.h: Removed.
1702         * css/PageRuleCollector.cpp: Removed.
1703         * css/PageRuleCollector.h: Removed.
1704         * css/StyleResolver.cpp:
1705         (WebCore::leftToRightDeclaration):
1706         (WebCore):
1707         (WebCore::rightToLeftDeclaration):
1708         (WebCore::StyleResolver::State::ensureRuleList):
1709         (WebCore::StyleResolver::State::clear):
1710         (WebCore::StyleResolver::addMatchedProperties):
1711         (WebCore::StyleResolver::addElementStyleProperties):
1712         (MatchingUARulesScope):
1713         (WebCore::MatchingUARulesScope::MatchingUARulesScope):
1714         (WebCore::MatchingUARulesScope::~MatchingUARulesScope):
1715         (WebCore::MatchingUARulesScope::isMatchingUARules):
1716         (WebCore::StyleResolver::collectMatchingRules):
1717         (WebCore::StyleResolver::collectMatchingRulesForRegion):
1718         (WebCore::StyleResolver::sortAndTransferMatchedRules):
1719         (WebCore::StyleResolver::matchScopedAuthorRules):
1720         (WebCore::StyleResolver::matchHostRules):
1721         (WebCore::StyleResolver::matchAuthorRules):
1722         (WebCore::StyleResolver::matchUserRules):
1723         (WebCore::StyleResolver::matchUARules):
1724         (WebCore::StyleResolver::collectMatchingRulesForList):
1725         (WebCore::compareRules):
1726         (WebCore::StyleResolver::sortMatchedRules):
1727         (WebCore::StyleResolver::matchAllRules):
1728         (WebCore::StyleResolver::State::initForStyleResolve):
1729         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
1730         (WebCore::StyleResolver::styleForElement):
1731         (WebCore::StyleResolver::styleForKeyframe):
1732         (WebCore::StyleResolver::pseudoStyleForElement):
1733         (WebCore::StyleResolver::styleForPage):
1734         (WebCore::StyleResolver::pseudoStyleRulesForElement):
1735         (WebCore::StyleResolver::ruleMatches):
1736         (WebCore::StyleResolver::checkRegionSelector):
1737         (WebCore::comparePageRules):
1738         (WebCore::StyleResolver::matchPageRules):
1739         (WebCore::checkPageSelectorComponents):
1740         (WebCore::StyleResolver::matchPageRulesForList):
1741         (WebCore::StyleResolver::isLeftPage):
1742         (WebCore::StyleResolver::isFirstPage):
1743         (WebCore::StyleResolver::pageName):
1744         * css/StyleResolver.h:
1745         (WebCore::MatchRequest::MatchRequest):
1746         (MatchRequest):
1747         (StyleResolver):
1748         (MatchResult):
1749         (WebCore::StyleResolver::State::State):
1750         (State):
1751         (WebCore::StyleResolver::State::takeRuleList):
1752         (WebCore::StyleResolver::State::setSameOriginOnly):
1753         (WebCore::StyleResolver::State::isSameOriginOnly):
1754         (WebCore::StyleResolver::State::pseudoStyleRequest):
1755         (WebCore::StyleResolver::State::setMode):
1756         (WebCore::StyleResolver::State::mode):
1757         (WebCore::StyleResolver::State::matchedRules):
1758         (WebCore::StyleResolver::State::addMatchedRule):
1759         * inspector/InspectorCSSAgent.cpp:
1760         (WebCore::InspectorCSSAgent::willMatchRule):
1761         * inspector/InspectorCSSAgent.h:
1762         (WebCore):
1763         (InspectorCSSAgent):
1764         * inspector/InspectorInstrumentation.cpp:
1765         (WebCore):
1766         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
1767         * inspector/InspectorInstrumentation.h:
1768         (WebCore):
1769         (InspectorInstrumentation):
1770         (WebCore::InspectorInstrumentation::willMatchRule):
1771
1772 2013-03-07  Kentaro Hara  <haraken@chromium.org>
1773
1774         Unreviewed. Rebaselined run-bindings-tests.
1775
1776         * bindings/scripts/test/V8/V8TestInterface.cpp:
1777         (WebCore):
1778         * bindings/scripts/test/V8/V8TestObj.cpp:
1779         (WebCore):
1780
1781 2013-03-07  Takashi Sakamoto  <tasak@google.com>
1782
1783         [Refactoring] Implement RuleCollector
1784         https://bugs.webkit.org/show_bug.cgi?id=109916
1785
1786         Reviewed by Antti Koivisto.
1787
1788         Implemented rule collector for an element and collector for a page.
1789         Not all members in class State are required entire while resolving
1790         a style.
1791
1792         No new tests, because just refactoring.
1793
1794         * CMakeLists.txt:
1795         * GNUmakefile.list.am:
1796         * Target.pri:
1797         * WebCore.gypi:
1798         * WebCore.xcodeproj/project.pbxproj:
1799         * css/CSSAllInOne.cpp:
1800         Added ElementRuleCollector and PageRuleCollector.
1801         * css/DocumentRuleSets.cpp:
1802         (WebCore::ShadowDistributedRules::collectMatchRequests):
1803         Since behaviorAtBoundary is a state owned by ElementRuleCollector,
1804         removed from here.
1805         * css/DocumentRuleSets.h:
1806         (WebCore::ShadowDistributedRules::isEmpty):
1807         Added to quickly check whether there exist any ShadowDistributedRules
1808         or not.
1809         * css/ElementRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
1810         (WebCore):
1811         (WebCore::ElementRuleCollector::matchedResult):
1812         (WebCore::ElementRuleCollector::matchedRuleList):
1813         (WebCore::ElementRuleCollector::addMatchedRule):
1814         (WebCore::ElementRuleCollector::clearMatchedRules):
1815         (WebCore::ElementRuleCollector::ensureRuleList):
1816         (WebCore::ElementRuleCollector::addElementStyleProperties):
1817         (WebCore::ElementRuleCollector::collectMatchingRules):
1818         (WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
1819         (WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
1820         (WebCore::ElementRuleCollector::matchScopedAuthorRules):
1821         (WebCore::ElementRuleCollector::matchHostRules):
1822         (WebCore::ElementRuleCollector::matchShadowDistributedRules):
1823         (WebCore::ElementRuleCollector::matchAuthorRules):
1824         (WebCore::ElementRuleCollector::matchUserRules):
1825         (WebCore::ElementRuleCollector::matchUARules):
1826         (WebCore::ElementRuleCollector::ruleMatches):
1827         (WebCore::ElementRuleCollector::collectMatchingRulesForList):
1828         (WebCore::ElementRuleCollector::sortMatchedRules):
1829         (WebCore::ElementRuleCollector::matchAllRules):
1830         Moved these methods from StyleResolver to this class.
1831         (WebCore::ElementRuleCollector::hasAnyMatchingRules):
1832         This method is used for checking whether a given element can share
1833         a cache.
1834         * css/ElementRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
1835         (WebCore):
1836         (WebCore::ElementRuleCollector::ElementRuleCollector):
1837         Use styleResolver instance to initialize its member variables, i.e.
1838         SelectorFilter, RuleSets, InspectorCSSOMWrappers, and
1839         StyleScopedResolver.
1840         (ElementRuleCollector):
1841         (WebCore::ElementRuleCollector::setMode):
1842         (WebCore::ElementRuleCollector::setPseudoStyleRequest):
1843         (WebCore::ElementRuleCollector::setSameOriginOnly):
1844         (WebCore::ElementRuleCollector::setRegionForStyling):
1845         Mode, SameOriginOnly, RegionForStyling are only used while collecting
1846         matched rules.
1847         (WebCore::ElementRuleCollector::setMedium):
1848         Need to know which default stylesheet should be looked up.
1849         (WebCore::ElementRuleCollector::document):
1850         * css/PageRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
1851         (WebCore::comparePageRules):
1852         (WebCore::PageRuleCollector::isLeftPage):
1853         (WebCore::PageRuleCollector::isFirstPage):
1854         (WebCore::PageRuleCollector::pageName):
1855         (WebCore::PageRuleCollector::matchAllPageRules):
1856         (WebCore::PageRuleCollector::matchPageRules):
1857         (WebCore::checkPageSelectorComponents):
1858         (WebCore::PageRuleCollector::matchPageRulesForList):
1859         Moved from StyleResolver.
1860         * css/PageRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
1861         (WebCore):
1862         (WebCore::PageRuleCollector::PageRuleCollector):
1863         (PageRuleCollector):
1864         (WebCore::PageRuleCollector::matchedResult):
1865         * css/StyleResolver.cpp:
1866         (WebCore):
1867         (WebCore::StyleResolver::State::clear):
1868         (WebCore::StyleResolver::MatchResult::addMatchedProperties):
1869         (WebCore::StyleResolver::State::initForStyleResolve):
1870         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
1871         (WebCore::StyleResolver::styleForElement):
1872         (WebCore::StyleResolver::styleForKeyframe):
1873         (WebCore::StyleResolver::pseudoStyleForElement):
1874         (WebCore::StyleResolver::styleForPage):
1875         (WebCore::StyleResolver::pseudoStyleRulesForElement):
1876         (WebCore::StyleResolver::applyMatchedProperties):
1877         * css/StyleResolver.h:
1878         (WebCore::MatchRequest::MatchRequest):
1879         Removed behaviorAtBoundary. Instead, ElementRuleCollector have the
1880         state.
1881         (MatchRequest):
1882         (WebCore::StyleResolver::selectorFilter):
1883         Added to obtain SelectorFilter in ElementRuleCollector's constructor.
1884         (StyleResolver):
1885         (MatchResult):
1886         (WebCore::StyleResolver::State::State):
1887         To pass ASSERT in StyleResolver::applyProperties, need to keep
1888         m_regionForStyling.
1889         (State):
1890         (WebCore::StyleResolver::State::regionForStyling):
1891         (WebCore::StyleResolver::State::useSVGZoomRules):
1892         (WebCore::StyleResolver::hasSelectorForId):
1893         (WebCore):
1894         (WebCore::checkRegionSelector):
1895         * inspector/InspectorCSSAgent.cpp:
1896         (WebCore::InspectorCSSAgent::willMatchRule):
1897         Removed StyleResolver from its parameter list. Instead, added
1898         InspectorCSSOMWrappers and DocumentStyleSheetCollection.
1899         * inspector/InspectorCSSAgent.h:
1900         (WebCore):
1901         (InspectorCSSAgent):
1902         * inspector/InspectorInstrumentation.cpp:
1903         (WebCore):
1904         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
1905         * inspector/InspectorInstrumentation.h:
1906         (WebCore):
1907         (InspectorInstrumentation):
1908         (WebCore::InspectorInstrumentation::willMatchRule):
1909
1910 2013-03-07  Andrey Lushnikov  <lushnikov@chromium.org>
1911
1912         Web Inspector: [ACE] add experimental breakpoint support
1913         https://bugs.webkit.org/show_bug.cgi?id=111573
1914
1915         Reviewed by Pavel Feldman.
1916
1917         No new tests.
1918
1919         - Implement attributes model for ace editor. Update attribute
1920         locations by handling onTextChange event from editor.
1921         - Implement breakpoints atop of attributes model.
1922
1923         * inspector/front-end/AceTextEditor.js:
1924         (WebInspector.AceTextEditor):
1925         (WebInspector.AceTextEditor.prototype._updateBreakpoints):
1926         (WebInspector.AceTextEditor.prototype._updateLineAttributes):
1927         (WebInspector.AceTextEditor.prototype._onTextChange):
1928         (WebInspector.AceTextEditor.prototype.addBreakpoint):
1929         (WebInspector.AceTextEditor.prototype.removeBreakpoint):
1930         (WebInspector.AceTextEditor.prototype.getAttribute):
1931         (WebInspector.AceTextEditor.prototype.setAttribute):
1932         (WebInspector.AceTextEditor.prototype.removeAttribute):
1933         * inspector/front-end/ace/acedevtools.css:
1934         (.ace-editor-container):
1935         (.ace_gutter-cell.webkit-breakpoint):
1936         (.ace_gutter-cell.webkit-breakpoint-conditional):
1937         (.ace_gutter-cell.webkit-breakpoint-disabled):
1938         (.ace_gutter-cell):
1939
1940 2013-03-07  Antoine Quint  <graouts@apple.com>
1941
1942         Web Inspector: identify layers for CSS generated content in LayerTreeAgent
1943         https://bugs.webkit.org/show_bug.cgi?id=111551
1944
1945         Layers can be associated with pseudo elements, elements that are generated
1946         when ::before or ::after pseudo-classes are used to style an element and
1947         provide additional rendering using the CSS "content" property. In order to
1948         identify that a layer is associated to a pseudo element, we add a new set of
1949         optional properties on the Layer object: "isGeneratedContent", "pseudoElementId"
1950         and "pseudoClass".
1951
1952         We need to provide the "pseudoElementId" for the same reason we provide a
1953         "nodeId" for the Layer. This is so that the front-end can identify that a
1954         layer whose "layerId" may have changed between two layer tree updates is
1955         used to render content for the same pseudo element.
1956
1957         In the instance that a layer is rendering generated content, we also set
1958         the "nodeId" to be the generating node's id. The generating node is the
1959         node in the DOM that the user styled using ::before or ::after pseudo-classes.
1960         We also add the pseudo-class used as the "pseudoClass" property such that the
1961         front-end may provide useful information to the user about what type of
1962         pseudo-class yielded the generation of this layer. We also deal with the
1963         possibility that the layer is a reflection for a pseudo element.
1964     
1965         Since pseudo elements are not part of the user-visible DOM, and thus can't be
1966         pushed to the front-end, we maintain a special ID hash map in the LayerTreeAgent.
1967         In order to be able to unbind a pseudo element id and a pseudo element, we add a
1968         destructor method to PseudoElement and provide a new instrumentation call so that
1969         the LayerTreeAgent may be notified of a PseudoElement being destroyed. This
1970         reflects the principle we use to update the RenderLayer bindings when a
1971         RenderLayer is destroyed, as notified by the RenderLayerCompositor.
1972
1973         Reviewed by Simon Fraser.
1974
1975         Test: inspector-protocol/layers/layers-generated-content.html
1976
1977         * dom/PseudoElement.cpp:
1978         (WebCore::PseudoElement::~PseudoElement): New destructor used to notify
1979         InspectorInstrumentation of a PseudoElement being destroyed, such that
1980         it can eventually be relayed to the InspectorLayerTreeAgent.
1981         (WebCore):
1982         * dom/PseudoElement.h:
1983         (PseudoElement):
1984         * inspector/Inspector.json: Add the new PseudoElementId type used for
1985         the new "pseudoElementId" property on Layer, to which we also add the
1986         "isGeneratedContent" and "pseudoClass" properties.
1987         * inspector/InspectorInstrumentation.cpp:
1988         (WebCore):
1989         (WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
1990         * inspector/InspectorInstrumentation.h:
1991         (WebCore):
1992         (InspectorInstrumentation):
1993         (WebCore::InspectorInstrumentation::pseudoElementDestroyed): New method
1994         called in the PseudoElement destructor used to relay the fact that a
1995         PseudoElement was destroyed to the InspectorLayerTreeAgent.
1996         * inspector/InspectorLayerTreeAgent.cpp:
1997         (WebCore::InspectorLayerTreeAgent::reset): Clear the new PseudoElement
1998         identifier maps.
1999         (WebCore::InspectorLayerTreeAgent::pseudoElementDestroyed): Remove any
2000         identifier binding for the provided PseudoElement being destroyed.
2001         (WebCore):
2002         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer): Set the new
2003         "isGeneratedContent", "pseudoElementId" and "pseudoClass" properties on
2004         the Layer object for layers associated with a pseudo element.
2005         (WebCore::InspectorLayerTreeAgent::bind): Use emptyString() instead of "".
2006         (WebCore::InspectorLayerTreeAgent::unbind): Use an iterator instead of a
2007         get() and remove() combination in order to reduce lookups and mimick the
2008         code written for unbindPseudoElement().
2009         (WebCore::InspectorLayerTreeAgent::bindPseudoElement): Binds the provided
2010         PseudoElement to a unique identifier.
2011         (WebCore::InspectorLayerTreeAgent::unbindPseudoElement): Unbinds the
2012         provided PseudoElement from its unique identifier.
2013         * inspector/InspectorLayerTreeAgent.h:
2014         (InspectorLayerTreeAgent):
2015
2016 2013-03-07  Keishi Hattori  <keishi@webkit.org>
2017
2018         Add clear button to date/time input types
2019         https://bugs.webkit.org/show_bug.cgi?id=111319
2020
2021         Reviewed by Kent Tamura.
2022
2023         We want to remove the clear button from the calendar picker (Bug 109439)
2024         so we are adding the clear button to the right side of the input element.
2025
2026         Tests: fast/forms/date-multiple-fields/date-multiple-fields-clearbutton-change-and-input-events.html
2027                fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-clearbutton-change-and-input-events.html
2028                fast/forms/month-multiple-fields/month-multiple-fields-clearbutton-change-and-input-events.html
2029                fast/forms/time-multiple-fields/time-multiple-fields-clearbutton-change-and-input-events.html
2030                fast/forms/week-multiple-fields/week-multiple-fields-clearbutton-change-and-input-events.html
2031
2032         * CMakeLists.txt: Added ClearButtonElement.cpp
2033         * GNUmakefile.list.am: Ditto.
2034         * Target.pri: Ditto.
2035         * WebCore.gypi: Ditto.
2036         * WebCore.vcproj/WebCore.vcproj: Ditto.
2037         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
2038         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2039         * WebCore.xcodeproj/project.pbxproj: Ditto.
2040         * css/html.css:
2041         (input::-webkit-clear-button): Styles for the clear button.
2042         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
2043         (WebCore::BaseMultipleFieldsDateAndTimeInputType::editControlValueChanged):
2044         (WebCore::BaseMultipleFieldsDateAndTimeInputType::BaseMultipleFieldsDateAndTimeInputType):
2045         (WebCore::BaseMultipleFieldsDateAndTimeInputType::~BaseMultipleFieldsDateAndTimeInputType):
2046         (WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree):
2047         (WebCore::BaseMultipleFieldsDateAndTimeInputType::destroyShadowSubtree):
2048         (WebCore::BaseMultipleFieldsDateAndTimeInputType::disabledAttributeChanged):
2049         (WebCore::BaseMultipleFieldsDateAndTimeInputType::requiredAttributeChanged): Hide clear button if the value is required.
2050         (WebCore):
2051         (WebCore::BaseMultipleFieldsDateAndTimeInputType::readonlyAttributeChanged):
2052         (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue):
2053         (WebCore::BaseMultipleFieldsDateAndTimeInputType::focusAndSelectClearButtonOwner): Called on mouse down on clear button.
2054         (WebCore::BaseMultipleFieldsDateAndTimeInputType::shouldClearButtonRespondToMouseEvents):
2055         (WebCore::BaseMultipleFieldsDateAndTimeInputType::clearValue):
2056         (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateClearButtonVisibility): We want to hide the clear button if the value is required or the value is empty.
2057         * html/BaseMultipleFieldsDateAndTimeInputType.h:
2058         (BaseMultipleFieldsDateAndTimeInputType):
2059         * html/HTMLInputElement.cpp:
2060         (WebCore::HTMLInputElement::updateClearButtonVisibility):
2061         (WebCore):
2062         (WebCore::HTMLInputElement::requiredAttributeChanged):
2063         * html/HTMLInputElement.h:
2064         (HTMLInputElement):
2065         * html/InputType.cpp:
2066         (WebCore::InputType::requiredAttributeChanged): Notifies the InputType that the required attribute has changed.
2067         (WebCore):
2068         (WebCore::InputType::updateClearButtonVisibility):
2069         * html/InputType.h:
2070         (InputType):
2071         * html/shadow/ClearButtonElement.cpp: Added.
2072         (WebCore):
2073         (WebCore::ClearButtonElement::ClearButtonElement):
2074         (WebCore::ClearButtonElement::create):
2075         (WebCore::ClearButtonElement::detach):
2076         (WebCore::ClearButtonElement::releaseCapture): Stop capturing mouse events.
2077         (WebCore::ClearButtonElement::defaultEventHandler):
2078         * html/shadow/ClearButtonElement.h: Added.
2079         (WebCore):
2080         (ClearButtonElement):
2081         (ClearButtonOwner):
2082         (WebCore::ClearButtonElement::ClearButtonOwner::~ClearButtonOwner):
2083         (WebCore::ClearButtonElement::removeClearButtonOwner):
2084         (WebCore::ClearButtonElement::isMouseFocusable):
2085
2086 2013-03-07  Eugene Klyuchnikov  <eustas@chromium.org>
2087
2088         Web Inspector: Refactorings: Prepare SuggestBox for reuse.
2089         https://bugs.webkit.org/show_bug.cgi?id=111301
2090
2091         Reviewed by Alexander Pavlov.
2092
2093         1) Remove userEnteredText from delegate interface.
2094            Pass prefix to updateSuggestions instead.
2095         2) Clarify that suggestions array is never null.
2096
2097         * inspector/front-end/SuggestBox.js:
2098         (WebInspector.SuggestBox): Renamed parameter/member.
2099         (WebInspector.SuggestBox.prototype._updateItems):
2100         Minor readability changes.
2101         (WebInspector.SuggestBox.prototype._canShowBox):
2102         Use userEnteredText parameter.
2103         (WebInspector.SuggestBox.prototype.updateSuggestions):
2104         Pass userEnteredText to _canShowBox.
2105         * inspector/front-end/DatabaseQueryView.js: Fix JSDocs.
2106         * inspector/front-end/RuntimeModel.js: Ditto.
2107         * inspector/front-end/TextPrompt.js: Ditto.
2108         (WebInspector.TextPrompt.prototype._completionsReady):
2109         Pass userEnteredText to updateSuggestions.
2110
2111 2013-03-07  Victor Carbune  <vcarbune@chromium.org>
2112
2113         TextTrackRegion Constructor
2114         https://bugs.webkit.org/show_bug.cgi?id=110511
2115
2116         Reviewed by Adam Barth.
2117
2118         This is an initial patch for implementing the TextTrackRegion
2119         defined in the "WebVTT Extension: Regions for rendering cue groups":
2120         https://dvcs.w3.org/hg/text-tracks/raw-file/default/608toVTT/region.html
2121
2122         The feature components are hidden behind the WEBVTT_REGIONS flag
2123         and is currently disabled by default in all ports and tests skipped.
2124
2125         Test: media/track/regions-webvtt/text-track-region-constructor.html
2126
2127         * WebCore.gypi: Added files to be included for building Chromium with
2128         feature enabled (it is disabled by default).
2129         * html/track/TextTrackRegion.cpp: Added.
2130         (WebCore):
2131         (WebCore::TextTrackRegion::TextTrackRegion):
2132         (WebCore::TextTrackRegion::~TextTrackRegion):
2133         (WebCore::TextTrackRegion::setId): Setter.
2134         (WebCore::TextTrackRegion::setWidth): Setter.
2135         (WebCore::TextTrackRegion::setHeight): Setter.
2136         (WebCore::TextTrackRegion::setRegionAnchorX): Setter.
2137         (WebCore::TextTrackRegion::setRegionAnchorY): Setter.
2138         (WebCore::TextTrackRegion::setViewportAnchorX): Setter.
2139         (WebCore::TextTrackRegion::setViewportAnchorY): Setter.
2140         (WebCore::TextTrackRegion::scroll): Getter. Internally, the scroll
2141         value is stored as a boolean, but when returned is converted to either
2142         the empty string or "up".
2143         (WebCore::TextTrackRegion::setScroll): Setter.
2144         (WebCore::TextTrackRegion::setRegionSettings): Not used yet (see b/109818)
2145         * html/track/TextTrackRegion.h: Added.
2146         (WebCore):
2147         (TextTrackRegion):
2148         (WebCore::TextTrackRegion::create):
2149         (WebCore::TextTrackRegion::track): Getter.
2150         (WebCore::TextTrackRegion::id): Getter.
2151         (WebCore::TextTrackRegion::width): Getter.
2152         (WebCore::TextTrackRegion::height): Getter.
2153         (WebCore::TextTrackRegion::regionAnchorX): Getter.
2154         (WebCore::TextTrackRegion::regionAnchorY): Getter.
2155         (WebCore::TextTrackRegion::viewportAnchorX): Getter.
2156         (WebCore::TextTrackRegion::viewportAnchorY): Getter.
2157         (WebCore::TextTrackRegion::regionSettings): Getter, used only internally (see b/109818).
2158         * html/track/TextTrackRegion.idl: Added.
2159         * page/DOMWindow.idl: Constructor support.
2160
2161 2013-03-07  Dan Carney  <dcarney@google.com>
2162
2163         [v8] remove latin-1 transition flag
2164         https://bugs.webkit.org/show_bug.cgi?id=111692
2165
2166         Reviewed by Jochen Eisinger.
2167
2168         No new tests. No change in functionality.
2169
2170         * bindings/v8/V8ValueCache.cpp:
2171         (WebCore::makeExternalString):
2172
2173 2013-03-07  Vsevolod Vlasov  <vsevik@chromium.org>
2174
2175         Web Inspector: NavigatorView should show (program) for uiSourceCodes with empty name.
2176         https://bugs.webkit.org/show_bug.cgi?id=111691
2177
2178         Reviewed by Alexander Pavlov.
2179
2180         Made String.prototype methods return string literal, not String object.
2181
2182         * inspector/front-end/utilities.js:
2183         (String.prototype.escapeCharacters):
2184
2185 2013-03-07  Eugene Klyuchnikov  <eustas@chromium.org>
2186
2187         Web Inspector: Cmd+L (Go-to-Line) masks Go to location bar action
2188         https://bugs.webkit.org/show_bug.cgi?id=111357
2189
2190         Reviewed by Pavel Feldman.
2191
2192         Allow panel shortcut handlers to bubble event.
2193
2194         * inspector/front-end/GoToLineDialog.js:
2195         (WebInspector.GoToLineDialog.install): Minor refactoring, added JSDocs.
2196         (WebInspector.GoToLineDialog._show): Added JSDocs and return value.
2197         * inspector/front-end/Panel.js:
2198         (WebInspector.Panel.prototype.handleShortcut):
2199         Mark event as handled iff handler returned true.
2200         * inspector/front-end/ScriptsPanel.js: Added return values to handlers.
2201         * inspector/front-end/TimelinePanel.js: Ditto.
2202
2203 2013-03-06  Takashi Sakamoto  <tasak@google.com>
2204
2205         Box-shadow displayed improperly with border-radius.
2206         https://bugs.webkit.org/show_bug.cgi?id=111256
2207
2208         Reviewed by Simon Fraser.
2209
2210         RoundedRect::adjustRadii doesn't adjust radii correctly, because
2211         the method compares maxRadiusWidth with maxRadiusHeight. However,
2212         we have to compare maxRadiusWidth / rect.width() with
2213         maxRadiusHeight / rect.height().
2214
2215         Test: fast/borders/border-radius-with-box-shadow-01.html
2216
2217         * platform/graphics/RoundedRect.cpp:
2218         (WebCore::RoundedRect::adjustRadii):
2219         Should check which ratio is smaller.
2220
2221 2013-03-06  Mike West  <mkwst@chromium.org>
2222
2223         [V8] Preprocess constant values to avoid a "static_cast<signed int>" in CodeGeneratorV8.
2224         https://bugs.webkit.org/show_bug.cgi?id=111625
2225
2226         Reviewed by Kentaro Hara.
2227
2228         When processing constants in IDL files, CodeGeneratorV8 currently runs
2229         the values through 'static_cast<signed int>' in the generated code. We
2230         can avoid this miniscule bit of overhead by preprocessing the hex value
2231         in Perl when generating the code.
2232
2233         The FIXME has been in the code since it originally landed in 2009[1].
2234         Now's as good a time as any to take care of it.
2235
2236         [1]: http://trac.webkit.org/browser/trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm?rev=144976#L2933
2237
2238         * bindings/scripts/CodeGeneratorV8.pm:
2239         (GenerateImplementation):
2240             If we're presented with a string which begins with '0x', run it
2241             through some fairly obtuse Perlisms to first convert from a hex
2242             string to an integer ('hex($value)'), "pack" the integer as an
2243             unsigned integer ('pack("I", ...)'), and then "unpack" it as a
2244             signed integer ('unpack("i", ...)'). Because that's _of course_
2245             how you would do things.
2246
2247 2013-03-06  Paweł Forysiuk  <tuxator@o2.pl>
2248
2249         WebKit does not build without accelerated compositing after Changeset 144823
2250         https://bugs.webkit.org/show_bug.cgi?id=111597
2251
2252         Reviewed by Kentaro Hara.
2253
2254         Properly guard functions ifdefed in ScrollingCoordinator.h.
2255         Remove redundant checks and fallback code inside those functions.
2256
2257         * page/scrolling/ScrollingCoordinator.cpp:
2258         (WebCore::ScrollingCoordinator::scrollLayerForScrollableArea):
2259         (WebCore::ScrollingCoordinator::horizontalScrollbarLayerForScrollableArea):
2260         (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea):
2261         (WebCore):
2262
2263 2013-03-06  Hajime Morrita  <morrita@google.com>
2264
2265         Custom Elements Refactoring: CustomElementConstructor API shouldn't bound to HTMLElement
2266         https://bugs.webkit.org/show_bug.cgi?id=111678
2267
2268         Reviewed by Kentaro Hara.
2269
2270         The latest Custom Elements standard supports non-HTML custom elements. Even though current implementation
2271         support only HTML, it'd be better off to make API generic enough to support them.
2272
2273         This change
2274
2275         - eliminates HTMLElement from the API signature by replacing it with Element, and
2276         - rename V8HTMLCustomElement to V8CustomElement.
2277
2278         No new tests, just changing signatures and a class name.
2279
2280         * WebCore.gypi:
2281         * bindings/v8/V8CustomElement.cpp: Renamed from Source/WebCore/bindings/v8/V8HTMLCustomElement.cpp.
2282         (WebCore):
2283         (WebCore::findWrapperTypeOf):
2284         (WebCore::V8CustomElement::createWrapper):
2285         * bindings/v8/V8CustomElement.h: Renamed from Source/WebCore/bindings/v8/V8HTMLCustomElement.h.
2286         (WebCore):
2287         (V8CustomElement):
2288         (WebCore::V8CustomElement::toV8):
2289         (WebCore::V8CustomElement::wrap):
2290         (WebCore::HTMLCustomElement::wrap):
2291         * bindings/v8/custom/V8CustomElementConstructorCustom.cpp:
2292         (WebCore::V8CustomElementConstructor::callAsFunctionCallback):
2293         * dom/CustomElementConstructor.cpp:
2294         (WebCore::CustomElementConstructor::createElement):
2295         * dom/CustomElementConstructor.h:
2296         (WebCore):
2297         (CustomElementConstructor):
2298         * dom/CustomElementRegistry.cpp:
2299         (WebCore::CustomElementRegistry::constructorOf):
2300         (WebCore::CustomElementRegistry::createElement):
2301         * dom/CustomElementRegistry.h:
2302         (WebCore):
2303         (CustomElementRegistry):
2304         * dom/Document.cpp: Ensured that the document is an HTML.
2305         (WebCore::Document::registerElement):
2306         * dom/Document.idl:
2307         * dom/make_names.pl:
2308         (printWrapperFactoryCppFile):
2309         * html/HTMLDocument.idl: Moved an API to Document.idl
2310
2311 2013-03-06  Tim Horton  <timothy_horton@apple.com>
2312
2313         TileCache debug minimap should fit inside the intersection of the visible rect and exposed rect
2314         https://bugs.webkit.org/show_bug.cgi?id=111655
2315         <rdar://problem/13355773>
2316
2317         Reviewed by Simon Fraser.
2318
2319         If content clips to the exposed rect, make the TileCache minimap fit in the exposed rect too.
2320
2321         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2322         (WebCore::ScrollingCoordinatorMac::commitTreeState):
2323         * platform/graphics/TiledBacking.h:
2324         * platform/graphics/ca/mac/TileCache.mm:
2325         (WebCore::TileCache::updateTileCoverageMap):
2326
2327 2013-03-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2328
2329         Unreviewed, rolling out r144726.
2330         http://trac.webkit.org/changeset/144726
2331         https://bugs.webkit.org/show_bug.cgi?id=111681
2332
2333         caused performance regression for Dromaeo attribute tests.
2334         (Requested by arpitab on #webkit).
2335
2336         * dom/Element.h:
2337         (WebCore::ElementData::getAttributeItemIndex):
2338
2339 2013-03-04  Kinuko Yasuda  <kinuko@chromium.org>
2340
2341         File.lastModifiedDate() should return the current date/time if the file date/time is not available
2342         https://bugs.webkit.org/show_bug.cgi?id=111403
2343
2344         Reviewed by Kent Tamura.
2345
2346         Per the recent File API spec change:
2347         http://www.w3.org/TR/2012/WD-FileAPI-20121025/#dfn-lastModifiedDate
2348
2349         Test: http/tests/local/fileapi/script-tests/file-last-modified-after-delete.js:
2350
2351         * fileapi/File.cpp:
2352         (WebCore::File::lastModifiedDate): Changed to return the current date/time instead null if the valid file date/time is not available.
2353         * fileapi/File.h:
2354         (File):
2355
2356 2013-03-06  Philippe Liard  <pliard@chromium.org>
2357
2358         Make RuleData support up to 8191 selectors
2359         https://bugs.webkit.org/show_bug.cgi?id=111663
2360
2361         Reviewed by Andreas Kling.
2362
2363         r125294 made RuleData consume less memory by replacing a pointer with
2364         an index encoded on 12 bits.
2365         This unfortunately breaks Chrome for Android (and others) when a lot of
2366         CSS is used or more precisely when selectorIndex cannot be stored on 12
2367         bits.
2368
2369         Threfore this change decreases the number of bits used to store
2370         m_position by 1 (from 19 to 18) and adds this extra bit to
2371         m_selectorIndex so that values up to 8191 can be stored safely without
2372         overflowing.
2373
2374         * css/RuleSet.h:
2375         (RuleData):
2376
2377 2013-03-06  Seokju Kwon  <seokju.kwon@gmail.com>
2378
2379         Web Inspector: Remove unused code from contextmenu of element panel
2380         https://bugs.webkit.org/show_bug.cgi?id=111658
2381
2382         Reviewed by Pavel Feldman.
2383
2384         No new tests (no functional changes).
2385
2386         * inspector/front-end/ElementsPanel.js:
2387         (WebInspector.ElementsPanel.prototype._contextMenuEventFired.set get var):
2388         * inspector/front-end/ElementsTreeOutline.js:
2389         (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
2390
2391 2013-03-06  Julien Chaffraix  <jchaffraix@webkit.org>
2392
2393         [CSS Grid Layout] Extend our grammar to support 2 positions for grid-{row|column}
2394         https://bugs.webkit.org/show_bug.cgi?id=110777
2395
2396         Reviewed by Tony Chang.
2397
2398         Now that we support all the logical grid properties, we can change grid-{row|column}
2399         into shorthands. That's what this change does along with extending our parsing support
2400         to handle 2 positions.
2401
2402         Tests: fast/css-grid-layout/grid-item-column-row.html
2403                fast/css-grid-layout/grid-item-end-after-get-set.html
2404                fast/css-grid-layout/grid-item-start-before-get-set.html
2405
2406         * css/CSSComputedStyleDeclaration.cpp:
2407         Removed grid-{row|column} from computedProperties as they are shorthands (see comments
2408         at computedProperties definition).
2409
2410         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2411         (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForGridShorthand):
2412         Switched to using the StylePropertyShorthand and reusing the existing longhand code.
2413
2414         * css/CSSComputedStyleDeclaration.h:
2415         Added getCSSPropertyValuesForGridShorthand.
2416
2417         * css/CSSParser.cpp:
2418         (WebCore::CSSParser::parseValue):
2419         (WebCore::CSSParser::parseGridItemPositionShorthand):
2420         Added custom parsing for the shorthand, that builds on top of the longhand code.
2421
2422         * css/CSSParser.h:
2423         Added parseGridItemPositionShorthand.
2424
2425         * css/StyleResolver.cpp:
2426         (WebCore::StyleResolver::applyProperty):
2427         Removed the previous handling as shorthand are expanded at parse time.
2428
2429         * css/StylePropertySet.cpp:
2430         (WebCore::StylePropertySet::getPropertyValue):
2431         Added the new shorthands to the list.
2432
2433         * css/StylePropertyShorthand.cpp:
2434         (WebCore::webkitGridColumnShorthand):
2435         (WebCore::webkitGridRowShorthand):
2436         (WebCore::shorthandForProperty):
2437         * css/StylePropertyShorthand.h:
2438         Registered grid-{row|column} as shorthands.
2439
2440 2013-03-06  Kenneth Russell  <kbr@google.com>
2441
2442         [Chromium] Fix byte ordering bugs reading back WebGL canvases' content on Android
2443         https://bugs.webkit.org/show_bug.cgi?id=111661
2444
2445         Reviewed by James Robinson.
2446
2447         No new tests; covered by existing tests. Ran WebGL conformance
2448         tests on Android and desktop Linux to verify fix.
2449
2450         * platform/chromium/support/GraphicsContext3DChromium.cpp:
2451         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
2452             Avoid incorrect byte swap on Android and other OSs which don't
2453             swizzle R and B channels.
2454
2455 2013-03-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2456
2457         [EFL] Improve warning messages when input value is out of range.
2458         https://bugs.webkit.org/show_bug.cgi?id=111534
2459
2460         Reviewed by Laszlo Gombos.
2461
2462         Show input value range when user inputs greater or less value.
2463
2464         * platform/efl/LocalizedStringsEfl.cpp:
2465         (WebCore::validationMessageRangeOverflowText):
2466         (WebCore::validationMessageRangeUnderflowText):
2467
2468 2013-03-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2469
2470         [EFL][WK2] Enable interactive form validation for email and url input type validation
2471         https://bugs.webkit.org/show_bug.cgi?id=111026
2472
2473         Reviewed by Laszlo Gombos.
2474
2475         WebKit EFL can check if input value is valid by enabling this feature.
2476
2477         * platform/efl/LocalizedStringsEfl.cpp: Change validation messages of email and url the same with chromium port.
2478         (WebCore::validationMessageTypeMismatchForEmailText):
2479         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2480         (WebCore::validationMessageTypeMismatchForURLText):
2481         * platform/efl/RenderThemeEfl.cpp: Add type checking conditions for email and url.
2482         (WebCore::RenderThemeEfl::supportsDataListUI):
2483
2484 2013-03-06  Aaron Colwell  <acolwell@chromium.org>
2485
2486         Remove WebCore::Node::isActiveNode() since it isn't called anywhere.
2487         https://bugs.webkit.org/show_bug.cgi?id=111646
2488
2489         Reviewed by Kentaro Hara.
2490
2491         No new tests. This removes dead code.
2492
2493         * dom/Node.h:
2494         (Node):
2495         * html/HTMLAudioElement.h:
2496
2497 2013-03-06  Abhishek Arya  <inferno@chromium.org>
2498
2499         Crash in SVGViewSpec::viewTarget
2500         https://bugs.webkit.org/show_bug.cgi?id=111648
2501
2502         Reviewed by Philip Rogers.
2503
2504         * svg/SVGViewSpec.cpp:
2505         (WebCore::SVGViewSpec::viewTarget):
2506
2507 2013-03-06  Benjamin Poulain  <benjamin@webkit.org>
2508
2509         WebKitTestRunner needs layoutTestController.elementDoesAutoCompleteForElementWithId
2510         https://bugs.webkit.org/show_bug.cgi?id=42696
2511
2512         Reviewed by Andreas Kling.
2513
2514         Since the method acts directly on a WebCore element and strictly test
2515         HTMLInputElement::shouldAutoComplete(), the test function is moved to internals.
2516
2517         * testing/Internals.cpp:
2518         (WebCore::Internals::elementShouldAutoComplete):
2519         * testing/Internals.h:
2520         * testing/Internals.idl:
2521
2522 2013-03-06  Alexey Proskuryakov  <ap@apple.com>
2523
2524         [Mac] Synthetic ResourceResponses cannot be sent over IPC without losing most information
2525         https://bugs.webkit.org/show_bug.cgi?id=111623
2526
2527         Reviewed by Brady Eidson.
2528
2529         * WebCore.exp.in: Exported functions for building synthetic responses.
2530
2531         * platform/network/ResourceResponseBase.cpp:
2532         * platform/network/ResourceResponseBase.h:
2533         Added a lot of FIXMEs.
2534
2535         * platform/network/cf/ResourceResponse.h:
2536         (WebCore::ResourceResponse::ResourceResponse):
2537         (WebCore::ResourceResponse::platformResponseIsUpToDate):
2538         Track m_platformResponseIsUpToDate flag as well as we can. Currently, it will
2539         be incorrect if a real platform response gets mutated.
2540
2541         * platform/network/cf/ResourceResponseCFNet.cpp:
2542         (WebCore::ResourceResponse::cfURLResponse): Added a FIXME about how useless this
2543         function is when it tries to create a new CFURLResponse.
2544
2545         * platform/network/mac/ResourceResponseMac.mm:
2546         (WebCore::ResourceResponse::initNSURLResponse): Added a FIXME.
2547         (WebCore::ResourceResponse::nsURLResponse): Added a return to make logic more clear.
2548         (WebCore::ResourceResponse::ResourceResponse): Track m_platformResponseIsUpToDate.
2549
2550         * platform/network/blackberry/ResourceResponse.h:
2551         * platform/network/curl/ResourceResponse.h:
2552         * platform/network/qt/ResourceResponse.h:
2553         * platform/network/soup/ResourceResponse.h:
2554         * platform/network/win/ResourceResponse.h:
2555         These platforms do not keep a platform response, so it's never up to date, and
2556         WebCore data needs to be serialized.
2557
2558 2013-03-06  Dana Jansens  <danakj@chromium.org>
2559
2560         [chromium] Remove WebSharedGraphicsContext3D class
2561         https://bugs.webkit.org/show_bug.cgi?id=111492
2562
2563         Reviewed by James Robinson.
2564
2565         Removing dead code, no new tests.
2566
2567         * WebCore.gypi:
2568         * platform/chromium/support/WebSharedGraphicsContext3D.cpp: Removed.
2569
2570 2013-03-06  Dana Jansens  <danakj@chromium.org>
2571
2572         [chromium] Don't get callbacks or create GrContext from unowned WebGraphicsContext3D
2573         https://bugs.webkit.org/show_bug.cgi?id=111638
2574
2575         Reviewed by James Robinson.
2576
2577         If the context is not owned, it's lifetime is not guaranteed, and by the time
2578         the GraphicsContext3D is destroyed, the WGC3D can already be deleted.
2579
2580         When the context is not owned by the GraphicsContext3D, then don't clean it up
2581         in the destructor or set up callbacks, as these are the owner's responsibility.
2582
2583         * platform/chromium/support/GraphicsContext3DPrivate.cpp:
2584         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
2585         (WebCore::GraphicsContext3DPrivate::grContext):
2586         (WebCore::GraphicsContext3DPrivate::setContextLostCallback):
2587         (WebCore::GraphicsContext3DPrivate::setErrorMessageCallback):
2588
2589 2013-02-22  Jer Noble  <jer.noble@apple.com>
2590
2591         Default mouse cursor behavior should be auto-hide for full screen video with custom controls
2592         https://bugs.webkit.org/show_bug.cgi?id=107601
2593
2594         Reviewed by Beth Dakin.
2595
2596         Test: fullscreen/video-cursor-auto-hide.html
2597
2598         To facilitate automatically hiding the mouse cursor after a certain amount of idle mouse
2599         time, add a new CSS property '-webkit-cursor-visibility', and handle that value inside of
2600         EventHandler. When that value is present, the EventHandler will start a timer which, when
2601         fired, will set the view's cursor to the None cursor. Subsequent mouse moves will either
2602         cancel the timer, or reset the auto-hide timer.
2603
2604         Add a new CSS property, '-webkit-cursor-visibility':
2605         * css/CSSComputedStyleDeclaration.cpp:
2606         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2607         * css/CSSParser.cpp:
2608         (WebCore::CSSParser::parseValue):
2609         * css/CSSPrimitiveValueMappings.h:
2610         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2611         (WebCore::CSSPrimitiveValue::operator ECursorVisibility):
2612         * css/CSSProperty.cpp:
2613         (WebCore::CSSProperty::isInheritedProperty):
2614         * css/CSSPropertyNames.in:
2615         * css/CSSValueKeywords.in:
2616         * css/StyleBuilder.cpp:
2617         (WebCore::StyleBuilder::StyleBuilder):
2618         * css/StyleResolver.cpp:
2619         (WebCore::StyleResolver::applyProperty):
2620
2621         Add a rule for video descendants of full screen elements to auto-hide the cursor on hover:
2622         * css/fullscreen.css:
2623         (:-webkit-full-screen video:hover):
2624
2625         Add a new timer, m_autoHideCursorTimer, to control resetting the view's cursor to None after
2626         enough mouse idle time has passed.
2627         * page/EventHandler.cpp:
2628         (WebCore::EventHandler::EventHandler):
2629         (WebCore::EventHandler::~EventHandler):
2630         (WebCore::EventHandler::clear):
2631         (WebCore::EventHandler::selectCursor):
2632         (WebCore::EventHandler::startAutoHideCursorTimer):
2633         (WebCore::EventHandler::cancelAutoHideCursorTimer):
2634         (WebCore::EventHandler::autoHideCursorTimerFired):
2635         * page/EventHandler.h:
2636
2637         Make FrameView::isActive() a public function (like it is in its superclass).
2638         * page/FrameView.h:
2639         (FrameView):
2640
2641         Move the definition for timeWithoutMouseMovementBeforeHidingControls from page->theme()
2642         to page->settings() and allow that setting to be overridden in InternalSettings for 
2643         testing purposes:
2644         * page/Settings.cpp:
2645         (WebCore::Settings::Settings):
2646         * page/Settings.h:
2647         (WebCore::Settings::setTimeWithoutMouseMovementBeforeHidingControls):
2648         (WebCore::Settings::timeWithoutMouseMovementBeforeHidingControls):
2649         * rendering/RenderTheme.h:
2650         * testing/InternalSettings.cpp:
2651         (WebCore::InternalSettings::Backup::Backup):
2652         (WebCore::InternalSettings::Backup::restoreTo):
2653         (WebCore::InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls):
2654         * testing/InternalSettings.h:
2655         (InternalSettings):
2656         * testing/InternalSettings.idl:
2657         * html/shadow/MediaControls.cpp:
2658         (WebCore::MediaControls::startHideFullscreenControlsTimer):
2659
2660         Add support to FeatureObserver for CURSOR_VISIBILITY:
2661         * page/FeatureObserver.h:
2662
2663         Enable the feature flag:
2664         * Configurations/FeatureDefines.xcconfig:
2665
2666 2013-03-06  Jer Noble  <jer.noble@apple.com>
2667
2668         Full screen from an iframe with a z-index style will allow siblings with higher z-index to overlay full screen content.
2669         https://bugs.webkit.org/show_bug.cgi?id=111637
2670
2671         Reviewed by Simon Fraser.
2672
2673         No new tests; updated fullscreen/full-screen-iframe-zIndex.html to expose bug.
2674
2675         Pages with explicit z-index: styles on their iframes will override the default z-index: UA style when
2676         elements within that iframe enter full screen mode. Mark the UA style as !important so as to not allow
2677         iframe siblings with higher z-index styles to overlay the full screen element.
2678
2679         * css/fullscreen.css:
2680         (:-webkit-full-screen):
2681
2682 2013-03-06  Levi Weintraub  <leviw@chromium.org>
2683
2684         InsertUnorderedList can lead to lost content and assertions in moveParagraphs
2685         https://bugs.webkit.org/show_bug.cgi?id=111228
2686
2687         Reviewed by Ryosuke Niwa.
2688
2689         When a list is wrapped in a presentational inline like a b tag, we'd create markup that included
2690         everything up to the b tag from moveParagraphs when intending to only move the contents of the
2691         list item. This could make it impossible to remove content from a list and trigger loss of
2692         editable text.
2693
2694         Test: editing/execCommand/insert-remove-block-list-inside-presentational-inline.html
2695
2696         * editing/EditingStyle.cpp:
2697         (WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl): Ensure there's an inline style
2698         before calling propertyExistsInStyle.
2699         (WebCore::HTMLElementEquivalent::propertyExistsInStyle): Removing null check for style.
2700         All callers ensure this value isn't null.
2701         * editing/markup.cpp:
2702         (WebCore::highestAncestorToWrapMarkup): Avoid going over RenderBlocks when finding the highest
2703         presentational ancestor to avoid leaving the bounds of the original paragraph.
2704
2705 2013-03-06  Adam Klein  <adamk@chromium.org>
2706
2707         [V8] Use implicit references instead of object groups to keep registered MutationObservers alive
2708         https://bugs.webkit.org/show_bug.cgi?id=111382
2709
2710         Reviewed by Adam Barth.
2711
2712         Two-phase approach to implicit references: after grouping objects
2713         together, add an implicit reference between each registered node's
2714         group and the MutationObserver's group (which includes wrappers from
2715         all worlds).
2716
2717         Also changed many uses of v8::Value to v8::Object where we know we're
2718         dealing with Object and the V8 API expects them.
2719
2720         Test: ManualTests/mutation-observer-leaks-nodes.html
2721
2722         * bindings/v8/V8GCController.cpp:
2723         (WebCore::ImplicitConnection::ImplicitConnection):
2724         (WebCore::ImplicitConnection::wrapper):
2725         (ImplicitConnection):
2726         (WebCore::ImplicitReference::ImplicitReference): Wrapper class holding a parent who should have an implicit reference to a child.
2727         (ImplicitReference):
2728         (WebCore::operator<): Needed for std::sort() call to avoid the overhead of using a HashMap
2729         (WebCore::WrapperGrouper::addObjectWrapperToGroup):
2730         (WebCore::WrapperGrouper::addNodeWrapperToGroup):
2731         (WebCore::WrapperGrouper::addImplicitReference):
2732         (WrapperGrouper):
2733         (WebCore::WrapperGrouper::apply):
2734
2735 2013-03-06  Ankur Taly  <ataly@google.com>
2736
2737         Modify log method in V8DOMActivityLogger so that the apiName and
2738         extraInfo arguments are of type const String& instead of const char*.
2739         This change gets rid of some of the memory ownership issues that arise
2740         with char* pointers.
2741         https://bugs.webkit.org/show_bug.cgi?id=111483
2742
2743         Reviewed by Adam Barth.
2744
2745         There are no new tests as there is no change in behavior.
2746
2747         * bindings/v8/V8DOMActivityLogger.h:
2748         (WebCore::V8DOMActivityLogger::log):
2749
2750 2013-03-06  Mike Reed  <reed@google.com>
2751
2752         Use SkTypeface API directly, rather than (soon to be private) SkFontHost
2753         https://bugs.webkit.org/show_bug.cgi?id=111588
2754
2755         Reviewed by Stephen White.
2756
2757         No new tests, as existing tests in fast/writing-mode exercise this code.
2758
2759         e.g. japanese-rl-text-with-broken-font.html
2760              vertical-subst-font-vert-no-dflt.html
2761
2762         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
2763         (WebCore::FontPlatformData::emSizeInFontUnits):
2764         (WebCore::FontPlatformData::openTypeTable):
2765         * platform/graphics/harfbuzz/HarfBuzzFaceSkia.cpp:
2766         (WebCore::harfBuzzSkiaGetTable):
2767         (WebCore::HarfBuzzFace::createFace):
2768         * platform/graphics/skia/SimpleFontDataSkia.cpp:
2769         (WebCore::SimpleFontData::platformInit):
2770
2771 2013-03-06  Victor Costan <costan@gmail.com>
2772
2773         Cleanup in multipart FormData sending code.
2774         https://bugs.webkit.org/show_bug.cgi?id=111603
2775
2776         Reviewed by Alexey Proskuryakov.
2777
2778         No new tests. This is cleanup.
2779
2780         * platform/network/FormDataBuilder.cpp:
2781         (WebCore::appendQuotedString): use proper types (e.g, size_t instead of
2782         unsigned long)
2783
2784 2013-03-06  Tony Gentilcore  <tonyg@chromium.org>
2785
2786         Threaded HTML parser should use 8 bit strings for attributes
2787         https://bugs.webkit.org/show_bug.cgi?id=111610
2788
2789         Reviewed by Eric Seidel.
2790
2791         This fixes a 27% regression in dromaeo_jslibattrjquery on the threaded HTML parser vs. the main thread parser.
2792
2793         No new tests because no new functionality.
2794
2795         * html/parser/CompactHTMLToken.cpp:
2796         (WebCore::CompactHTMLToken::CompactHTMLToken):
2797
2798 2013-03-06  Alpha Lam  <hclam@chromium.org>
2799
2800         More cleanup in GIFImageReader
2801         https://bugs.webkit.org/show_bug.cgi?id=111137
2802
2803         Reviewed by Stephen White.
2804
2805         Refactor GIFImageReaderReader with the following changes:
2806         + Separate GIFLZWContext for decoding states.
2807         + Replace unsigned char* with Vector<unsigned char>
2808
2809         There is no change in code behavior and just refactoring.
2810
2811         No new tests. This is covered by existing GIFImageReaderTest.
2812         I also did a local testing on a 50k image corpus and showed no regression.
2813
2814         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2815         (WebCore::GIFImageDecoder::haveDecodedRow):
2816         * platform/image-decoders/gif/GIFImageDecoder.h:
2817         (GIFImageDecoder):
2818         * platform/image-decoders/gif/GIFImageReader.cpp:
2819         (GIFImageReader::outputRow):
2820         (GIFImageReader::doLZW):
2821         (GIFImageReader::decodeInternal):
2822         (GIFImageReader::prepareLZWContext):
2823         * platform/image-decoders/gif/GIFImageReader.h:
2824         (GIFFrameContext):
2825         (GIFFrameContext::GIFFrameContext):
2826         (GIFFrameContext::~GIFFrameContext):
2827         (GIFLZWContext):
2828         (GIFLZWContext::GIFLZWContext):
2829         (GIFImageReader):
2830
2831 2013-03-06  Tim Horton  <timothy_horton@apple.com>
2832
2833         Fix typo'd MainThreadScrollingBecauseOfStyleIndictaion
2834         https://bugs.webkit.org/show_bug.cgi?id=111557
2835
2836         Reviewed by Geoff Garen.
2837
2838         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2839         (WebCore::ScrollingCoordinatorMac::commitTreeState):
2840         * platform/graphics/TiledBacking.h:
2841         * platform/graphics/ca/mac/TileCache.mm:
2842         (WebCore::TileCache::updateTileCoverageMap):
2843
2844 2013-03-05  Geoffrey Garen  <ggaren@apple.com>
2845
2846         Removed some dead code in the page cache
2847         https://bugs.webkit.org/show_bug.cgi?id=111525
2848
2849         Reviewed by Alexey Proskuryakov.
2850
2851         Page cache autorelease doesn't exist anymore, so there's no need to keep
2852         around these olds hacks.
2853
2854         * WebCore.exp.in:
2855         * history/PageCache.cpp:
2856         (WebCore::PageCache::PageCache):
2857         (WebCore):
2858         * history/PageCache.h:
2859         (PageCache):
2860         * page/Settings.cpp:
2861         (WebCore::Settings::setUsesPageCache):
2862         * platform/mac/MemoryPressureHandlerMac.mm:
2863         (WebCore::MemoryPressureHandler::releaseMemory):
2864         * platform/qt/QtTestSupport.cpp:
2865         (WebKit::QtTestSupport::clearMemoryCaches):
2866
2867 2013-03-06  Rafael Weinstein  <rafaelw@chromium.org>
2868
2869         Unreviewed, rolling out r144924.
2870         http://trac.webkit.org/changeset/144924
2871         https://bugs.webkit.org/show_bug.cgi?id=109908
2872
2873         caused multiple crashes in inspector/debugger tests
2874
2875         * bindings/js/JSInjectedScriptHostCustom.cpp:
2876         * bindings/js/ScriptObject.h:
2877         * bindings/v8/ScriptObject.h:
2878         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2879         * inspector/InjectedScriptHost.cpp:
2880         (WebCore::InjectedScriptHost::create):
2881         (WebCore::InjectedScriptHost::InjectedScriptHost):
2882         (WebCore::InjectedScriptHost::disconnect):
2883         * inspector/InjectedScriptHost.h:
2884         (WebCore):
2885         (InjectedScriptHost):
2886         * inspector/InjectedScriptHost.idl:
2887         * inspector/InjectedScriptManager.cpp:
2888         (WebCore::InjectedScriptManager::InjectedScriptManager):
2889         (WebCore::InjectedScriptManager::discardInjectedScripts):
2890         (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
2891         * inspector/InjectedScriptManager.h:
2892         (InjectedScriptManager):
2893         * inspector/InjectedScriptSource.js:
2894         (.):
2895
2896 2013-03-06  Dmitry Zvorygin  <zvorygin@chromium.org>
2897
2898         Introduce new message sources for logging.
2899         https://bugs.webkit.org/show_bug.cgi?id=110968
2900
2901         Reviewed by Pavel Feldman.
2902
2903         Added SecurityMessageSource, RenderingMessageSource, StorageMessageSource, AppCacheMessageSource, CSSMessageSource.
2904         Changed some logging lines to contain more descriptive message source.
2905
2906         * Modules/webdatabase/DatabaseBase.cpp:
2907         (WebCore::DatabaseBase::logErrorMessage):
2908         * Modules/webdatabase/DatabaseManager.cpp:
2909         (WebCore::DatabaseManager::logErrorMessage):
2910         * Modules/websockets/WebSocketChannel.cpp:
2911         (WebCore::WebSocketChannel::fail):
2912         * bindings/ScriptControllerBase.cpp:
2913         (WebCore::ScriptController::canExecuteScripts):
2914         * css/MediaList.cpp:
2915         (WebCore::addResolutionWarningMessageToConsole):
2916         * dom/Document.cpp:
2917         (WebCore::Document::processHttpEquiv):
2918         * dom/ScriptElement.cpp:
2919         (WebCore::ScriptElement::executeScript):
2920         (WebCore::ScriptElement::notifyFinished):
2921         * dom/ViewportArguments.cpp:
2922         (WebCore::reportViewportWarning):
2923         * html/HTMLFormControlElement.cpp:
2924         (WebCore::shouldAutofocus):
2925         * html/HTMLFormElement.cpp:
2926         (WebCore::HTMLFormElement::validateInteractively):
2927         * html/HTMLIFrameElement.cpp:
2928         (WebCore::HTMLIFrameElement::parseAttribute):
2929         * html/canvas/CanvasRenderingContext2D.cpp:
2930         (WebCore::CanvasRenderingContext2D::getImageData):
2931         * html/canvas/WebGLRenderingContext.cpp:
2932         (WebCore):
2933         (WebCore::WebGLRenderingContext::printWarningToConsole):
2934         * html/parser/XSSAuditor.cpp:
2935         (WebCore::XSSAuditor::init):
2936         * html/parser/XSSAuditorDelegate.cpp:
2937         (WebCore::XSSAuditorDelegate::didBlockScript):
2938         * inspector/ConsoleMessage.cpp:
2939         (WebCore::messageSourceValue):
2940         * inspector/Inspector.json:
2941         * loader/FrameLoader.cpp:
2942         (WebCore::FrameLoader::submitForm):
2943         (WebCore::FrameLoader::reportLocalLoadFailed):
2944         (WebCore::createWindow):
2945         * loader/ImageLoader.cpp:
2946         (WebCore::ImageLoader::notifyFinished):
2947         * loader/MainResourceLoader.cpp:
2948         (WebCore::MainResourceLoader::responseReceived):
2949         * loader/MixedContentChecker.cpp:
2950         (WebCore::MixedContentChecker::logWarning):
2951         * loader/TextTrackLoader.cpp:
2952         (WebCore::TextTrackLoader::corsPolicyPreventedLoad):
2953         * loader/appcache/ApplicationCacheGroup.cpp:
2954         (WebCore::ApplicationCacheGroup::abort):
2955         * loader/cache/CachedResourceLoader.cpp:
2956         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
2957         * page/Console.cpp:
2958         (WebCore::printMessageSourceAndLevelPrefix):
2959         * page/ConsoleTypes.h:
2960         * page/ContentSecurityPolicy.cpp:
2961         (WebCore::ContentSecurityPolicy::logToConsole):
2962         * page/DOMWindow.cpp:
2963         (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
2964         * page/PointerLockController.cpp:
2965         (WebCore::PointerLockController::requestPointerLock):
2966         * svg/SVGDocumentExtensions.cpp:
2967         (WebCore::reportMessage):
2968
2969 2013-03-06  Florin Malita  <fmalita@chromium.org>
2970
2971         SVG pattern to pattern reference does not work if first pattern has a child node
2972         https://bugs.webkit.org/show_bug.cgi?id=111586
2973
2974         Reviewed by Philip Rogers.
2975
2976         SVGPatternElement::collectPatternAttributes should test for child elements, not child nodes.
2977
2978         Tests: svg/custom/pattern-reference-expected.svg
2979                svg/custom/pattern-reference.svg
2980
2981         * svg/SVGPatternElement.cpp:
2982         (WebCore::SVGPatternElement::collectPatternAttributes):
2983
2984 2013-03-06  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2985
2986         [soup] session cookies are not correctly reported in getRawCookies()
2987         https://bugs.webkit.org/show_bug.cgi?id=111584
2988
2989         Reviewed by Martin Robinson.
2990
2991         As per libsoup documentation, SoupCookie->expires is NULL for session cookies.
2992         However, the soup implementation for getRawCookies() does not check for NULL
2993         case before passing the value to soup_date_to_time_t(), which leads to run time
2994         warnings.
2995
2996         We should also pass true for WebCore::Cookie's session argument if
2997         SoupCookie->expires is NULL. The current implementation reports the cookie as a
2998         session one if soup_cookie_jar_is_persistent(jar) returns true, which is
2999         inaccurate.
3000
3001         No new tests, no behavior change for layout tests as Web Inspector currently
3002         ignores the "session" member and uses expires/max-age instead to deduce it.
3003
3004         * platform/network/soup/CookieJarSoup.cpp:
3005         (WebCore::getRawCookies):
3006
3007 2013-03-06  Douglas Stockwell  <dstockwell@chromium.org>
3008
3009         REGRESSION(r111639): delayed animation start can be postponed
3010         https://bugs.webkit.org/show_bug.cgi?id=108582
3011
3012         Query the animation timer directly for the time it will next fire rather than
3013         trying to cache the interval. Previous approach was incorrect -- as time advanced
3014         it was possible for the interval to jump beyond the next service time.
3015
3016         Reviewed by Darin Adler.
3017
3018         Test: animations/animation-delay-changed.html
3019
3020         * page/animation/AnimationController.cpp:
3021         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
3022         (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
3023         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
3024         * page/animation/AnimationControllerPrivate.h:
3025         (AnimationControllerPrivate): Remove m_previousTimeToNextService
3026
3027 2013-03-06  Andrey Lushnikov  <lushnikov@chromium.org>
3028
3029         Web Inspector: [ACE] show execution line in Ace editor
3030         https://bugs.webkit.org/show_bug.cgi?id=111575
3031
3032         Reviewed by Pavel Feldman.
3033
3034         Highlight execution line by the means of Ace full line markers.
3035
3036         No new tests.
3037
3038         * inspector/front-end/AceTextEditor.js:
3039         (WebInspector.AceTextEditor.prototype.setExecutionLine):
3040         (WebInspector.AceTextEditor.prototype.clearExecutionLine):
3041         (WebInspector.AceTextEditor.prototype.setSelection):
3042         * inspector/front-end/ace/acedevtools.css:
3043         (.ace-editor-container):
3044         (.webkit-execution-line):
3045
3046 2013-03-06  Yury Semikhatsky  <yurys@chromium.org>
3047
3048         Web Inspector: fix closure compiler warnings in the profiler code
3049         https://bugs.webkit.org/show_bug.cgi?id=111581
3050
3051         Reviewed by Vsevolod Vlasov.
3052
3053         Added missing annotations. Replaced NativeProfileLauncherView with
3054         ProfileLauncherView.
3055
3056         * inspector/InjectedScriptExterns.js:
3057         (InjectedScriptHost.prototype.objectId):
3058         (InjectedScriptHost.prototype.releaseObjectId):
3059         * inspector/front-end/FlameChart.js:
3060         (WebInspector.FlameChart.prototype._forEachNode):
3061         * inspector/front-end/ProfileLauncherView.js:
3062         * inspector/front-end/ProfilesPanel.js:
3063
3064 2013-03-06  Carlos Garcia Campos  <cgarcia@igalia.com>
3065
3066         [BlackBerry] Pass String::StrictConversion instead of true to String::utf8()
3067         https://bugs.webkit.org/show_bug.cgi?id=111546
3068
3069         Reviewed by Rob Buis.
3070
3071         String::utf8() API changed in r134173.
3072
3073         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
3074         (WebCore::MediaPlayerPrivate::notifyChallengeResult):
3075
3076 2013-03-06  Julien Chaffraix  <jchaffraix@webkit.org>
3077
3078         Remove the (dead) code for handling shorthands in StyleResolver / StyleBuilder
3079         https://bugs.webkit.org/show_bug.cgi?id=111505
3080
3081         Unreviewed minimal build fix.
3082
3083         * css/StyleResolver.cpp:
3084         (WebCore::StyleResolver::applyProperty):
3085         Put CSSPropertyWebkitWrap under the proper if-guard.
3086
3087 2013-03-06  Vsevolod Vlasov  <vsevik@chromium.org>
3088
3089         Unreviewed follow up to r144928: front-end closure compilation fixes.
3090
3091         * inspector/front-end/FilteredItemSelectionDialog.js:
3092         (WebInspector.JavaScriptOutlineDialog.prototype.dispose):
3093         (WebInspector.OpenResourceDialog.prototype.dispose):
3094         * inspector/front-end/StyleSheetOutlineDialog.js:
3095         (WebInspector.StyleSheetOutlineDialog.prototype.dispose):
3096
3097 2013-03-06  Vsevolod Vlasov  <vsevik@chromium.org>
3098
3099         Web Inspector: Update open resource dialog when new uiSourceCodes are loaded.
3100         https://bugs.webkit.org/show_bug.cgi?id=111327
3101
3102         Reviewed by Pavel Feldman.
3103
3104         * inspector/front-end/FilteredItemSelectionDialog.js:
3105         (WebInspector.FilteredItemSelectionDialog):
3106         (WebInspector.FilteredItemSelectionDialog.prototype.willHide):
3107         (WebInspector.FilteredItemSelectionDialog.prototype._itemsLoaded):
3108         (WebInspector.FilteredItemSelectionDialog.prototype._updateAfterItemsLoaded):
3109         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems.compareFunction):
3110         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
3111         (WebInspector.SelectionDialogContentProvider.prototype.dispose):
3112         (WebInspector.JavaScriptOutlineDialog.prototype._didBuildOutlineChunk):
3113         (WebInspector.OpenResourceDialog):
3114         (WebInspector.OpenResourceDialog.prototype.requestItems):
3115         (WebInspector.OpenResourceDialog.prototype._filterUISourceCode):
3116         (WebInspector.OpenResourceDialog.prototype._uiSourceCodeAdded):
3117         (WebInspector.OpenResourceDialog.prototype.dispose):
3118         * inspector/front-end/StyleSheetOutlineDialog.js:
3119         (WebInspector.StyleSheetOutlineDialog.prototype.requestItems):
3120         (WebInspector.StyleSheetOutlineDialog.prototype.requestItems.didGetStyleSheet):
3121
3122 2013-03-06  Vladislav Kaznacheev  <kaznacheev@chromium.org>
3123
3124         Web Inspector: Move sidebar-specific styles to a separate file.
3125         https://bugs.webkit.org/show_bug.cgi?id=111173
3126
3127         Reviewed by Pavel Feldman.
3128
3129         * WebCore.gypi:
3130         * inspector/front-end/BreakpointsSidebarPane.js:
3131         (WebInspector.JavaScriptBreakpointsSidebarPane):
3132         (WebInspector.EventListenerBreakpointsSidebarPane):
3133         * inspector/front-end/NativeBreakpointsSidebarPane.js:
3134         (WebInspector.NativeBreakpointsSidebarPane):
3135         * inspector/front-end/SidebarPane.js:
3136         (WebInspector.SidebarPaneTitle):
3137         (WebInspector.SidebarPaneStack):
3138         (WebInspector.SidebarTabbedPane):
3139         * inspector/front-end/WebKit.qrc:
3140         * inspector/front-end/breakpointsList.css: Added.
3141         (.sidebar-pane > .body .breakpoint-condition):
3142         (#breakpoint-condition-input):
3143         (ol.breakpoint-list):
3144         (.breakpoints-list-deactivated):
3145         (.breakpoint-list li):
3146         (.breakpoint-list li:hover):
3147         (.breakpoint-list .checkbox-elem):
3148         (.breakpoint-list .source-text):
3149         (.sidebar-pane .breakpoint-hit):
3150         (li.breakpoint-hit .breakpoint-hit-marker):
3151         (.event-listener-breakpoints .event-category):
3152         (.event-listener-breakpoints.properties-tree .children li):
3153         (.event-listener-breakpoints .checkbox-elem):
3154         * inspector/front-end/elementsPanel.css:
3155         (.panel.elements .sidebar-pane-toolbar > select):
3156         (.panel.elements .sidebar-pane-toolbar > select:hover):
3157         (.panel.elements .sidebar-pane-toolbar > select:active):
3158         (.panel.elements .sidebar-pane-toolbar > select.select-settings):
3159         (.panel.elements .sidebar-pane-toolbar > select.select-filter):
3160         (.panel.elements .sidebar-pane-toolbar > select > option, .panel.elements .sidebar-pane-toolbar > select > hr):
3161         * inspector/front-end/inspector.css:
3162         (.event-bar .event-properties):
3163         * inspector/front-end/scriptsPanel.css:
3164         (.workers-list > li):
3165         (a.worker-item):
3166         (a.worker-item:hover):
3167         * inspector/front-end/sidebarPane.css: Added.
3168         (.sidebar-pane):
3169         (.sidebar-pane > .body):
3170         (.sidebar-pane > .body .info):
3171         (.sidebar-pane > .body .placard + .info):
3172         (.sidebar-pane.visible > .body):
3173         (.sidebar-pane .section .properties):
3174         (.sidebar-tabbed-pane .tabbed-pane-header):
3175         (.sidebar-pane-stack > .sidebar-pane.visible:nth-last-of-type(1)):
3176         (.sidebar-pane-title):
3177         (.sidebar-pane-title + .sidebar-pane-title, .pane:not(.visible) + .sidebar-pane-title, .sidebar-pane-title:first-of-type):
3178         (.sidebar-pane-title:active):
3179         (.sidebar-pane-title::before):
3180         (.sidebar-pane-title.expanded::before):
3181         (.sidebar-pane-toolbar):
3182         (.sidebar-pane-toolbar > *):
3183         (.sidebar-pane-toolbar > .pane-title-button):
3184         (.sidebar-pane-toolbar > .pane-title-button:hover):
3185         (.sidebar-pane-toolbar > .pane-title-button:active, .sidebar-pane-toolbar > .pane-title-button.toggled):
3186         (.sidebar-pane-toolbar > .pane-title-button.add):
3187         (.sidebar-pane-toolbar > .pane-title-button.element-state):
3188         (.sidebar-pane-toolbar > .pane-title-button.refresh):
3189         (.sidebar-pane-subtitle):
3190         (body.platform-windows .sidebar-pane-subtitle):
3191         (.sidebar-pane-subtitle input, .section .header input[type=checkbox]):
3192
3193 2013-03-06  Vladislav Kaznacheev  <kaznacheev@chromium.org>
3194
3195         Web Inspector: Combine style-related panes into a single tab when Elements panel is split horizontally.
3196         https://bugs.webkit.org/show_bug.cgi?id=111550
3197         Reviewed by Pavel Feldman.
3198
3199         Grouping the Elements sidebar panes into two tabbed panes proved to be
3200         confusing and inconvenient. Put all the Elements sidebar panes into a single tabbed pane.
3201         Combined Styles, Computed Style and Metrics into a single pane.
3202
3203         * inspector/front-end/ElementsPanel.js:
3204         (WebInspector.ElementsPanel.prototype._splitVertically):
3205         (WebInspector.ElementsPanel.prototype.addExtensionSidebarPane):
3206         * inspector/front-end/elementsPanel.css:
3207         (.sidebar-pane.composite):
3208         (.sidebar-pane.composite > .body):
3209         (.sidebar-pane.composite .metrics):
3210         (.sidebar-pane.composite .sidebar-pane-toolbar):
3211         (.sidebar-pane.composite .sidebar-pane-toolbar > .sidebar-pane-subtitle):
3212         (.sidebar-pane.composite .styles-section.read-only):
3213
3214 2013-03-05  Yury Semikhatsky  <yurys@chromium.org>
3215
3216         Web Inspector: support stable remote object ids
3217         https://bugs.webkit.org/show_bug.cgi?id=109908
3218
3219         Reviewed by Pavel Feldman.
3220
3221         Introduced a map from javascript object to its id. It guarantees
3222         that object is assined id only once (unless it is explicitely
3223         released). The map is per execution context and is stored in
3224         InjectedScriptManager.
3225
3226         Test: inspector-protocol/persistent-id.html
3227
3228         * bindings/js/JSInjectedScriptHostCustom.cpp:
3229         (WebCore::JSInjectedScriptHost::objectId):
3230         (WebCore):
3231         (WebCore::JSInjectedScriptHost::releaseObjectId):
3232         * bindings/js/ScriptObject.h:
3233         (WTF):
3234         (WTF::ScriptObjectHash::hash):
3235         (WTF::ScriptObjectHash::equal):
3236         (ScriptObjectHash):
3237         * bindings/v8/ScriptObject.h:
3238         (WTF):
3239         (WTF::ScriptObjectHash::hash):
3240         (WTF::ScriptObjectHash::equal):
3241         (ScriptObjectHash):
3242         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3243         (WebCore::V8InjectedScriptHost::objectIdMethodCustom):
3244         (WebCore):
3245         (WebCore::V8InjectedScriptHost::releaseObjectIdMethodCustom):
3246         * inspector/InjectedScriptHost.cpp:
3247         (WebCore::InjectedScriptHost::create):
3248         (WebCore::InjectedScriptHost::InjectedScriptHost):
3249         (WebCore::InjectedScriptHost::disconnect):
3250         (WebCore::InjectedScriptHost::objectId):
3251         (WebCore):
3252         (WebCore::InjectedScriptHost::releaseObjectId):
3253         * inspector/InjectedScriptHost.h:
3254         (WebCore):
3255         (InjectedScriptHost):
3256         * inspector/InjectedScriptHost.idl:
3257         * inspector/InjectedScriptManager.cpp:
3258         (InjectedScriptManager::ObjectIdMap):
3259         (WebCore::InjectedScriptManager::ObjectIdMap::ObjectIdMap):
3260         (WebCore::InjectedScriptManager::ObjectIdMap::objectId):
3261         (WebCore::InjectedScriptManager::ObjectIdMap::releaseObjectId):
3262         (WebCore):
3263         (WebCore::InjectedScriptManager::InjectedScriptManager):
3264         (WebCore::InjectedScriptManager::discardInjectedScripts):
3265         (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
3266         (WebCore::InjectedScriptManager::objectId):
3267         (WebCore::InjectedScriptManager::releaseObjectId):
3268         * inspector/InjectedScriptManager.h:
3269         (InjectedScriptManager):
3270         * inspector/InjectedScriptSource.js:
3271         (.):
3272
3273 2013-03-06  Marja Hölttä  <marja@chromium.org>
3274
3275         REGRESSION(r144617): Wrong usage of overwritten variable in toDOMWindow (V8Binding.cpp)
3276         https://bugs.webkit.org/show_bug.cgi?id=111565
3277
3278         Reviewed by Jochen Eisinger.
3279
3280         In toDOMWindow, the variable "global" was first nuked, and then used again. This
3281         change was introduced in r144617.
3282
3283         No new tests (no functional changes).
3284
3285         * bindings/v8/V8Binding.cpp:
3286         (WebCore::toDOMWindow):
3287
3288 2013-03-06  Yury Semikhatsky  <yurys@chromium.org>
3289
3290         Web Inspector: use regular eval instead of injectScript for front-end extension API
3291         https://bugs.webkit.org/show_bug.cgi?id=111529
3292
3293         Reviewed by Pavel Feldman.
3294
3295         Removed InjectedScriptManager::injectScript and replaced all of it calls
3296         except the actual script injection with ScriptController::executeScript.
3297
3298         * inspector/InjectedScriptManager.cpp:
3299         (WebCore::InjectedScriptManager::injectedScriptFor):
3300         * inspector/InjectedScriptManager.h:
3301         (InjectedScriptManager):
3302         * inspector/InspectorAgent.cpp:
3303         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
3304         * inspector/InspectorPageAgent.cpp:
3305         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
3306         * inspector/front-end/DOMAgent.js:
3307         (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged.get if):
3308         * inspector/front-end/ExtensionAPI.js:
3309         (buildExtensionAPIInjectedScript):
3310         * inspector/front-end/ExtensionServer.js:
3311         (WebInspector.ExtensionServer.prototype._onReload):
3312
3313 2013-03-06  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3314
3315         [Qt] Do not disable C++0x
3316         https://bugs.webkit.org/show_bug.cgi?id=111559
3317
3318         Reviewed by Kenneth Rohde Christiansen.
3319
3320         * WebCore.pri:
3321
3322 2013-03-06  Julien Chaffraix  <jchaffraix@webkit.org>
3323
3324         Remove the (dead) code for handling shorthands in StyleResolver / StyleBuilder
3325         https://bugs.webkit.org/show_bug.cgi?id=111505
3326
3327         Reviewed by Alexis Menard.
3328
3329         The CSS parsing code expands shorthands (with the exception of 'font') to their longhands.
3330         This means that all the code in StyleResolver / StyleBuilder to handle shorthands is basically
3331         dead and shouldn't be there. The reason for it to be is that people didn't know about shorthands
3332         expansion and thus copied existing code.
3333
3334         This change addresses both issues by removing the code and adding ASSERTs that should prevent people
3335         from adding more dead code.
3336
3337         Refactoring, covered by existing tests.
3338
3339         * css/StylePropertyShorthand.h: Added isExpandedShorthand.
3340         * css/StylePropertyShorthand.cpp:
3341         (WebCore::isExpandedShorthand):
3342         Added this function that ignores 'font' as it is the only shorthand that is no consistently expanded
3343         to account for system fonts.
3344
3345         * css/StyleBuilder.cpp:
3346         (WebCore::StyleBuilder::StyleBuilder):
3347         Removed the shorthands.
3348
3349         * css/StyleBuilder.h:
3350         (WebCore::StyleBuilder::setPropertyHandler):
3351         Added ASSERTs that people don't add shorthand handling.
3352
3353         * css/StyleResolver.cpp:
3354         (WebCore::isValidVisitedLinkProperty):
3355         Removed all the shorthands (shouldn't be reachable unless the ASSERT in applyProperty
3356         triggers).
3357
3358         (WebCore::StyleResolver::applyProperty):
3359         Removed all shorthand handling code, moved the shorthands together and added some ASSERT
3360         to ensure people don't abuse the code and re-add some of it back by mistake.
3361
3362 2013-03-05  Kent Tamura  <tkent@chromium.org>
3363
3364         Rename WebCore/editing/visible_units.* to VisibleUnits.*
3365         https://bugs.webkit.org/show_bug.cgi?id=111426
3366
3367         Reviewed by Alexey Proskuryakov.
3368
3369         No new tests. Just a refactoring.
3370
3371         * CMakeLists.txt:
3372         * GNUmakefile.list.am:
3373         * Target.pri:
3374         * WebCore.gypi:
3375         * WebCore.vcproj/WebCore.vcproj:
3376         * WebCore.vcxproj/WebCore.vcxproj:
3377         * WebCore.vcxproj/WebCore.vcxproj.filters:
3378         * WebCore.xcodeproj/project.pbxproj:
3379         * accessibility/AccessibilityNodeObject.cpp:
3380         * accessibility/AccessibilityObject.cpp:
3381         * accessibility/AccessibilityRenderObject.cpp:
3382         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3383         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
3384         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3385         * dom/Position.cpp:
3386         * dom/Range.cpp:
3387         * editing/AlternativeTextController.cpp:
3388         * editing/ApplyBlockElementCommand.cpp:
3389         * editing/ApplyStyleCommand.cpp:
3390         * editing/CompositeEditCommand.cpp:
3391         * editing/DeleteSelectionCommand.cpp:
3392         * editing/EditingAllInOne.cpp:
3393         * editing/EditingStyle.cpp:
3394         * editing/Editor.cpp:
3395         * editing/FormatBlockCommand.cpp:
3396         * editing/FrameSelection.cpp:
3397         * editing/IndentOutdentCommand.cpp:
3398         * editing/InsertLineBreakCommand.cpp:
3399         * editing/InsertListCommand.cpp:
3400         * editing/InsertParagraphSeparatorCommand.cpp:
3401         * editing/InsertTextCommand.cpp:
3402         * editing/ReplaceSelectionCommand.cpp:
3403         * editing/SurroundingText.cpp:
3404         * editing/TextCheckingHelper.cpp:
3405         * editing/TextIterator.cpp:
3406         * editing/TypingCommand.cpp:
3407         * editing/VisiblePosition.cpp:
3408         * editing/VisibleSelection.cpp:
3409         * editing/VisibleUnits.cpp: Copied from Source/WebCore/editing/visible_units.cpp.
3410         * editing/VisibleUnits.h: Copied from Source/WebCore/editing/visible_units.h.
3411         * editing/htmlediting.cpp:
3412         * editing/markup.cpp:
3413         * editing/visible_units.cpp: Removed.
3414         * editing/visible_units.h: Removed.
3415         * page/Frame.cpp:
3416         * page/mac/FrameMac.mm:
3417         * platform/win/EditorWin.cpp:
3418
3419 2013-03-06  Alexis Menard  <alexis@webkit.org>
3420
3421         Do not add CSSPropertyBorderImage shorthand part of the property list when parsing CSS border property
3422         https://bugs.webkit.org/show_bug.cgi?id=111481
3423
3424         Reviewed by Julien Chaffraix.
3425
3426         After http://trac.webkit.org/changeset/135848 and more generally we do not 
3427         add shorthand directly into the property list used afterwards to build
3428         StylePropertySet but we rather expand the shorthand to add the
3429         longhands. CSSPropertyBorderImage is a shorthand and it should follow
3430         that rule, so when we successfully parsed CSS border property and we
3431         should reset border-image then we should reset the longhands too.
3432
3433         Test: LayoutTests/inspector/styles/styles-new-API-expected.txt which
3434         reflects the fact that we add longhands instead of the shorthand. All
3435         the other tests should not regress.
3436
3437         * css/CSSParser.cpp:
3438         (WebCore::CSSParser::parseValue):
3439
3440 2013-03-06  Luiz Agostini  <luiz.agostini@nokia.com>
3441
3442         Accelerated overflow scrolling for Coordinated Graphics.
3443         https://bugs.webkit.org/show_bug.cgi?id=110323
3444
3445         Reviewed by Noam Rosenthal.
3446
3447         A scroll offset is applied to individual layers on UI process and the
3448         web process is notified assynchronously.
3449         The new API WKCoordinatedScene may be used to scroll layers in the UI process.
3450
3451         Tests will be added on bug #111140.
3452
3453         Scrolling coordinator is used to provide a ScrollableArea to CoordinatedGraphicsLayer.
3454
3455         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
3456         (WebCore::ScrollingCoordinatorCoordinatedGraphics::scrollableAreaScrollLayerDidChange):
3457         (WebCore):
3458         (WebCore::ScrollingCoordinatorCoordinatedGraphics::willDestroyScrollableArea):
3459         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
3460         (ScrollingCoordinatorCoordinatedGraphics):
3461
3462         GraphicsLayerTextureMapper is responsible for receiving the 'did commit' messages and to pass
3463         them to its TextureMapperLayer on the appropriated time.
3464
3465         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3466         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
3467         (WebCore::GraphicsLayerTextureMapper::didCommitScrollOffset):
3468         (WebCore):
3469         (WebCore::GraphicsLayerTextureMapper::setIsScrollable):
3470         (WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
3471         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
3472         (WebCore::GraphicsLayerTextureMapper::setScrollClient):
3473         (WebCore::GraphicsLayerTextureMapper::setID):
3474         (GraphicsLayerTextureMapper):
3475         (WebCore::GraphicsLayerTextureMapper::isScrollable):
3476
3477         TextureMapperLayer is responsible for applying the requested scroll offset and for
3478         sending the commit messages to web process. It is also able to hittest layers and identify
3479         the ones that are scrollable.
3480
3481         * platform/graphics/texmap/TextureMapperLayer.cpp:
3482         (WebCore::TextureMapperLayer::hitTest):
3483         (WebCore):
3484         (WebCore::TextureMapperLayer::scrollableLayerHitTestCondition):
3485         (WebCore::TextureMapperLayer::findScrollableContentsLayerAt):
3486         (WebCore::TextureMapperLayer::mapScrollOffset):
3487         (WebCore::TextureMapperLayer::commitScrollOffset):
3488         (WebCore::TextureMapperLayer::scrollBy):
3489         (WebCore::TextureMapperLayer::didCommitScrollOffset):
3490         * platform/graphics/texmap/TextureMapperLayer.h:
3491         (TextureMapperLayer):
3492         (ScrollingClient):
3493         (WebCore::TextureMapperLayer::TextureMapperLayer):
3494         (WebCore::TextureMapperLayer::setID):
3495         (WebCore::TextureMapperLayer::id):
3496         (WebCore::TextureMapperLayer::setScrollClient):
3497         (WebCore::TextureMapperLayer::setIsScrollable):
3498         (WebCore::TextureMapperLayer::isScrollable):
3499         (WebCore::TextureMapperLayer::adjustedPosition):
3500
3501         CoordinatedGraphicsLayer receives the commit messages and updates its ScrollableArea.
3502
3503         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
3504         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
3505         (WebCore::CoordinatedGraphicsLayer::setScrollableArea):
3506         (WebCore):
3507         (WebCore::CoordinatedGraphicsLayer::commitScrollOffset):
3508         (WebCore::CoordinatedGraphicsLayer::resetLayerState):
3509         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
3510         (WebCore):
3511         (CoordinatedGraphicsLayer):
3512         (WebCore::CoordinatedGraphicsLayer::isScrollable):
3513
3514         CoordinatedGraphicsScene receives the commit messages from TextureMapperLayer and
3515         dispatches them on the main thread. It also has a new method that is used to find
3516         the topmost scrollable layer at a given point.
3517
3518         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
3519         (WebCore::CoordinatedGraphicsScene::setLayerState):
3520         (WebCore::CoordinatedGraphicsScene::createLayer):
3521         (WebCore::CoordinatedGraphicsScene::dispatchCommitScrollOffset):
3522         (WebCore):
3523         (WebCore::CoordinatedGraphicsScene::commitScrollOffset):
3524         (WebCore::CoordinatedGraphicsScene::findScrollableContentsLayerAt):
3525         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
3526         (WebCore):
3527         (CoordinatedGraphicsSceneClient):
3528         (CoordinatedGraphicsScene):
3529
3530         New fields have been added to CoordinatedGraphicsLayerState.
3531
3532         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
3533         (CoordinatedGraphicsLayerState):
3534
3535 2013-03-06  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3536
3537         REGGRESSION (r142112): It made compositing tests fail on EFL, Qt.
3538         https://bugs.webkit.org/show_bug.cgi?id=109291
3539
3540         Reviewed by Kenneth Rohde Christiansen.
3541
3542         Report we support fixed layers.
3543
3544         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
3545         (WebCore::ScrollingCoordinatorCoordinatedGraphics::supportsFixedPositionLayers):
3546         (ScrollingCoordinatorCoordinatedGraphics):
3547
3548 2013-03-06  Sheriff Bot  <webkit.review.bot@gmail.com>
3549
3550         Unreviewed, rolling out r144859.
3551         http://trac.webkit.org/changeset/144859
3552         https://bugs.webkit.org/show_bug.cgi?id=111519
3553
3554         Introduced a test that calls non-exist function on non-
3555         Chromium ports and crash on Chromium (Requested by rniwa on
3556         #webkit).
3557
3558         * html/HTMLAudioElement.h:
3559         (WebCore::HTMLAudioElement::hasPendingActivity):
3560         (HTMLAudioElement):
3561         * html/HTMLAudioElement.idl:
3562         * html/HTMLMediaElement.cpp:
3563         (WebCore::HTMLMediaElement::hasPendingActivity):
3564         * html/HTMLMediaElement.idl:
3565
3566 2013-03-06  Ilya Tikhonovsky  <loislo@chromium.org>
3567
3568         Web Inspector: Could not open Profiles panel.
3569         https://bugs.webkit.org/show_bug.cgi?id=111535
3570
3571         Reviewed by Alexander Pavlov.
3572
3573         * inspector/front-end/CPUProfileView.js:
3574         * inspector/front-end/ProfilesPanel.js:
3575
3576 2013-03-06  Tony Chang  <tony@chromium.org>
3577
3578         Crash during middle mouse click when page is removed
3579         https://bugs.webkit.org/show_bug.cgi?id=111489
3580
3581         Reviewed by Hajime Morrita.
3582
3583         Check for a null page that can happen if we remove the document from the DOM.
3584         The other methods in EventHandler also check for a null page.
3585
3586         Test: editing/pasteboard/selection-paste-crash.html
3587
3588         * page/EventHandler.cpp:
3589         (WebCore::EventHandler::handlePasteGlobalSelection):
3590
3591 2013-03-05  Eric Seidel  <eric@webkit.org>
3592
3593         Replace shouldLazyAttach bool with an enum for readability
3594         https://bugs.webkit.org/show_bug.cgi?id=111503
3595
3596         Reviewed by Dimitri Glazkov.
3597
3598         No behavioral change.
3599
3600         * bindings/cpp/WebDOMNodeCustom.cpp:
3601         (WebDOMNode::insertBefore):
3602         (WebDOMNode::replaceChild):
3603         (WebDOMNode::appendChild):
3604         * bindings/js/JSNodeCustom.cpp:
3605         (WebCore::JSNode::insertBefore):
3606         (WebCore::JSNode::replaceChild):
3607         (WebCore::JSNode::appendChild):
3608         * bindings/v8/custom/V8NodeCustom.cpp:
3609         (WebCore):
3610         (WebCore::V8Node::insertBeforeMethodCustom):
3611         (WebCore::V8Node::replaceChildMethodCustom):
3612         (WebCore::V8Node::appendChildMethodCustom):
3613         * dom/ContainerNode.cpp:
3614         (WebCore):
3615         (WebCore::ContainerNode::insertBefore):
3616         (WebCore::ContainerNode::replaceChild):
3617         (WebCore::ContainerNode::appendChild):
3618         (WebCore::updateTreeAfterInsertion):
3619         * dom/ContainerNode.h:
3620         (ContainerNode):
3621         * dom/Node.cpp:
3622         (WebCore::Node::insertBefore):
3623         (WebCore::Node::replaceChild):
3624         (WebCore::Node::appendChild):
3625         * dom/Node.h:
3626         (Node):
3627         * editing/AppendNodeCommand.cpp:
3628         (WebCore::AppendNodeCommand::doApply):
3629         * editing/InsertNodeBeforeCommand.cpp:
3630         (WebCore::InsertNodeBeforeCommand::doApply):
3631         * html/shadow/MediaControlsApple.cpp:
3632         (WebCore::MediaControlsApple::createControls):
3633         * html/shadow/MediaControlsBlackBerry.cpp:
3634         (WebCore::MediaControlsBlackBerry::createControls):
3635         * html/shadow/MediaControlsChromium.cpp:
3636         (WebCore::MediaControlsChromium::initializeControls):
3637         * html/shadow/MediaControlsChromiumAndroid.cpp:
3638         (WebCore::MediaControlsChromiumAndroid::createControls):
3639
3640 2013-03-05  Hajime Morrita  <morrita@google.com>
3641
3642         Custom Elements: CustomElementConstructor::m_name doesn't have any good use.
3643         https://bugs.webkit.org/show_bug.cgi?id=111523
3644
3645         Reviewed by Kentaro Hara.
3646
3647         This change removes CustomElementConstructor::m_name and renames
3648         m_tagName to m_name. Now generated function name is same as interface name.
3649
3650         Originally, m_name was added to specify the generated constructor
3651         name. An early version of custom element allows to give the name,
3652         but it no longer says anything about that.
3653
3654         The rename is to align the semantics of type extension mechanism
3655         of Custom Elements, where the name of a custom element isn't
3656         necessarily a tag name.
3657
3658         No new tests. Just removing old code.
3659
3660         * bindings/scripts/CodeGeneratorV8.pm:
3661         (GenerateHeader):
3662         * dom/CustomElementConstructor.cpp:
3663         (WebCore::CustomElementConstructor::create):
3664         (WebCore::CustomElementConstructor::CustomElementConstructor):
3665         (WebCore::CustomElementConstructor::createElement):
3666         * dom/CustomElementConstructor.h:
3667         (CustomElementConstructor):
3668         (WebCore::CustomElementConstructor::name):
3669         * dom/CustomElementRegistry.cpp:
3670         (WebCore::CustomElementRegistry::registerElement):
3671
3672 2013-03-05  Ilya Tikhonovsky  <loislo@chromium.org>
3673
3674         Web Inspector: Flame Chart. Provide node context info in a popover when mouse hovers over a flame chart item.
3675         https://bugs.webkit.org/show_bug.cgi?id=111442
3676
3677         Reviewed by Yury Semikhatsky.
3678
3679         FlameChart is a canvas so it is not possible to attach the popover to the items on it.
3680         It would be a bit tricky to support an offset due to complex behaviour of the popover.
3681         The simplest solution is to create a fake anchor element and move it to the right position.
3682
3683         * inspector/front-end/FlameChart.js:
3684         (WebInspector.FlameChart):
3685         (WebInspector.FlameChart.prototype._getPopoverAnchor):
3686         (WebInspector.FlameChart.prototype._showPopover):
3687         (WebInspector.FlameChart.prototype._onMouseMove):
3688         (WebInspector.FlameChart.prototype.findNodeCallback):
3689         (WebInspector.FlameChart.prototype._coordinatesToNode):
3690         (WebInspector.FlameChart.prototype.onResize):
3691         * inspector/front-end/flameChart.css:
3692         (.flame-chart .item-anchor):
3693
3694 2013-03-05  Csaba Osztrogonác  <ossy@webkit.org>
3695
3696         Unreviewed buildfix after r144787. Add missing USE(GRAPHICS_SURFACE) guards.
3697
3698         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
3699         (WebCore::CoordinatedGraphicsScene::setLayerState):
3700         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
3701         (WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
3702
3703 2013-03-05  Geoffrey Garen  <ggaren@apple.com>
3704
3705         Autoreleased cached pages slow down the PLT by 2%
3706         https://bugs.webkit.org/show_bug.cgi?id=111522
3707
3708         Reviewed by Filip Pizlo.
3709
3710         Let's stop doing that.
3711
3712         2% PLT speedup.
3713
3714         * history/PageCache.cpp:
3715         (WebCore::PageCache::remove):
3716
3717 2013-03-05  Hayato Ito  <hayato@chromium.org>
3718
3719         [Shadow] Implements event re-targeting for Touch Events.
3720         https://bugs.webkit.org/show_bug.cgi?id=107800
3721
3722         Reviewed by Dimitri Glazkov.
3723
3724         So far, Touch Events have been intentionally disabled in shadow
3725         tree since it allows users to access internal nodes in shadow tree
3726         by accessing Touch Event's information.
3727
3728         This patch re-targets all individual touch point's target in
3729         TouchList (touches, targetTouches and changedTouches) owned by a Touch Event
3730         before the Touch Event is dispatched so that we won't break an
3731         upper boundary of shadow DOM.
3732
3733         Touch Events re-targeting is similar to that of Mouse Events
3734         re-targeting. The difference is that a Touch Event can have more
3735         than one related target because of multiple touches. We must
3736         re-target all individual touch points which can be referred from
3737         the Touch Event.
3738
3739         Now, Touch Events can be fired in shadow tree. I've removed the
3740         existing limitation.
3741
3742         Test: fast/dom/shadow/touch-event-retargeting.html
3743
3744         * dom/EventContext.cpp:
3745         (WebCore::EventContext::isTouchEventContext):
3746         (WebCore):
3747         (WebCore::TouchEventContext::TouchEventContext):
3748         (WebCore::TouchEventContext::~TouchEventContext):
3749         (WebCore::TouchEventContext::handleLocalEvents):
3750         (WebCore::TouchEventContext::isTouchEventContext):
3751         (WebCore::TouchEventContext::checkReachability):  Used for assertion of reachability for each Touch point.
3752         * dom/EventContext.h:
3753         (WebCore):
3754         (EventContext):
3755         (TouchEventContext): Introduced to hold necessary information for re-targeting Touch event.
3756         (WebCore::TouchEventContext::touches):
3757         (WebCore::TouchEventContext::targetTouches):
3758         (WebCore::TouchEventContext::changedTouches):
3759         (WebCore::EventContext::isReachable):
3760         * dom/EventRetargeter.cpp:
3761         (WebCore::EventRetargeter::calculateEventPath):
3762         (WebCore::EventRetargeter::adjustForTouchEvent):
3763         (WebCore):
3764         (WebCore::EventRetargeter::adjustTouchList):
3765         (WebCore::EventRetargeter::adjustForRelatedTarget):
3766         (WebCore::EventRetargeter::calculateAdjustedNodes): Updated so that this can be used for Touch point re-targeting.
3767         (WebCore::EventRetargeter::buildRelatedNodeMap):
3768         * dom/EventRetargeter.h:
3769         (WebCore):
3770         (EventRetargeter):
3771         * dom/Node.cpp:
3772         (WebCore::Node::dispatchEvent):
3773         (WebCore):
3774         (WebCore::Node::dispatchTouchEvent):
3775         * dom/Node.h:
3776         (WebCore):
3777         (Node):
3778         * dom/Touch.cpp:
3779         (WebCore::Touch::Touch):
3780         (WebCore):
3781         (WebCore::Touch::cloneWithNewTarget):
3782         * dom/Touch.h:
3783         (Touch):
3784         * dom/TouchEvent.cpp:
3785         (WebCore::TouchEventDispatchMediator::create):
3786         (WebCore):
3787         (WebCore::TouchEventDispatchMediator::TouchEventDispatchMediator):
3788         (WebCore::TouchEventDispatchMediator::event):
3789         (WebCore::TouchEventDispatchMediator::dispatchEvent):
3790         * dom/TouchEvent.h:
3791         (TouchEvent):
3792         (WebCore::TouchEvent::setTouches):
3793         (WebCore::TouchEvent::setTargetTouches):
3794         (WebCore::TouchEvent::setChangedTouches):
3795         (TouchEventDispatchMediator):
3796         (WebCore):
3797         (WebCore::toTouchEvent):
3798         * dom/TouchList.cpp:
3799         (WebCore::TouchList::item):
3800         (WebCore):
3801         * dom/TouchList.h:
3802         (TouchList):
3803         * page/EventHandler.cpp:
3804         (WebCore::EventHandler::hitTestResultInFrame): Removed the limitation. Adjusting is no longer done here.
3805         (WebCore::EventHandler::handleTouchEvent):
3806
3807 2013-03-05  Hajime Morrita  <morrita@google.com>
3808
3809         [Custom Elements][V8] Custom Element doesn't need its own WrapperTypeInfo
3810         https://bugs.webkit.org/show_bug.cgi?id=111411
3811
3812         Reviewed by Kentaro Hara.
3813
3814         No new tests. No observable change yet.
3815
3816         This is a preparation for Bug 110436, where WebKit is going to
3817         allow any HTML element to be a superclass of custom elements.
3818
3819         This change eliminates WrapperTypeInfo for custom element. Instead
3820         of that, the wrapper of a custom element picks WrapperTypeInfo
3821         from most descendant built-in HTML element. For example, think about
3822         following hierarchy:
3823
3824         - ... <- HTMLElement <- HTMLDivElememnt <- ExistingCustomElement <- NewCustomElement
3825
3826         In this case, both ExistingCustomElement and NewCustomElement has
3827         HTMLDivElememnt's type info. This is because HTMLDivElememnt is
3828         the most descendant (or "the nearest") built-in HTML
3829         element. (HTMLElement isn't the most descendant.
3830         ExistingCustomElement isn't a built-in.)
3831
3832         Using such WrapperTypeInfos, created custom element wrappers can
3833         get appropriate set of method and properties regardless of its
3834         super-elements.
3835
3836         This change tells the prototype object of each built-in object
3837         which WrapperTypeInfo the native backing wants:
3838         HTMLDivElememnt.prototype knows V8HTMLDivElement::info for
3839         example. The pointer to the type info is stored into an internal
3840         field. On wrapper construction, createWrapper() walks up the
3841         prototype chain and pick the first one.
3842
3843         * bindings/v8/V8DOMConfiguration.cpp:
3844         (WebCore::V8DOMConfiguration::configureTemplate):
3845         * bindings/v8/V8HTMLCustomElement.cpp:
3846         (WebCore::findWrapperTypeOf):
3847         (WebCore::V8HTMLCustomElement::createWrapper):
3848         * bindings/v8/V8HTMLCustomElement.h:
3849         * bindings/v8/V8PerContextData.cpp:
3850         (WebCore::V8PerContextData::constructorForTypeSlowCase):
3851         * bindings/v8/WrapperTypeInfo.h:
3852         (WebCore):
3853
3854 2013-03-05  Aaron Colwell  <acolwell@chromium.org>
3855
3856         Heap-use-after-free in WebCore::HTMLMediaElement::~HTMLMediaElement
3857         https://bugs.webkit.org/show_bug.cgi?id=110623
3858
3859         Reviewed by Eric Seidel.
3860
3861         Test: http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html
3862
3863         * html/HTMLAudioElement.h:
3864         (HTMLAudioElement):
3865         * html/HTMLAudioElement.idl:
3866         * html/HTMLMediaElement.cpp:
3867         (WebCore::HTMLMediaElement::hasPendingActivity):
3868         * html/HTMLMediaElement.idl:
3869
3870 2013-03-05  Chris Fleizach  <cfleizach@apple.com>
3871  
3872         AX: Support aria-posinset/setsize
3873         https://bugs.webkit.org/show_bug.cgi?id=109725
3874
3875         Reviewed by Tim Horton.
3876
3877         Expose aria-setsize and aria-posinset through accessibility.
3878         Right now only the Mac platform exposes them.
3879
3880         Test: platform/mac/accessibility/aria-setsize-posinset.html
3881
3882         * accessibility/AccessibilityObject.cpp:
3883         (WebCore::AccessibilityObject::supportsARIASetSize):
3884         (WebCore):
3885         (WebCore::AccessibilityObject::supportsARIAPosInset):
3886         (WebCore::AccessibilityObject::ariaSetSize):
3887         (WebCore::AccessibilityObject::ariaPosInset):
3888         * accessibility/AccessibilityObject.h:
3889         (AccessibilityObject):
3890         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3891         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
3892         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3893         * html/HTMLAttributeNames.in:
3894
3895
3896 2013-03-05  Peter Nelson  <peter@peterdn.com>
3897
3898         [WinCairo] Support for cookies is incomplete
3899         https://bugs.webkit.org/show_bug.cgi?id=110147
3900         
3901         Expired and HttpOnly cookies no longer accessible from JavaScript.
3902         Cookies set in JavaScript now have correct domain/path.
3903
3904         Reviewed by Brent Fulgham.
3905
3906         Test: http/tests/cookies/http-get-cookie-set-in-js.html
3907
3908         * platform/network/curl/CookieJarCurl.cpp:
3909         (WebCore):
3910         (WebCore::addMatchingCurlCookie):
3911         (WebCore::getNetscapeCookieFormat):
3912         (WebCore::setCookiesFromDOM):
3913         (WebCore::cookieRequestHeaderFieldValue):
3914
3915 2013-03-05  Alec Flett  <alecflett@chromium.org>
3916
3917         Fix mac clang build with long long
3918         https://bugs.webkit.org/show_bug.cgi?id=111495
3919
3920         Unreviewed fix for mac build.
3921
3922         * Modules/indexeddb/IDBBackingStore.cpp:
3923         (WebCore::IDBBackingStore::IDBBackingStore):
3924
3925 2013-03-05  Alec Flett  <alecflett@chromium.org>
3926
3927         Fix mac clang build with long long
3928         https://bugs.webkit.org/show_bug.cgi?id=111495
3929
3930         Unreviewed fix for mac build.
3931
3932         * Modules/indexeddb/IDBBackingStore.cpp:
3933         (WebCore::IDBBackingStore::IDBBackingStore):
3934
3935 2013-03-05  Aaron Colwell  <acolwell@chromium.org>
3936
3937         Add V8Document.h include when the V8 code generator creates a toV8(Document*) call.
3938         https://bugs.webkit.org/show_bug.cgi?id=111486
3939
3940         Reviewed by Adam Barth.
3941
3942         No new tests. This doesn't change user visible behavior.
3943
3944         * bindings/scripts/CodeGeneratorV8.pm:
3945         (GenerateNamedConstructor):
3946         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3947
3948 2013-03-05  Shawn Singh  <shawnsingh@chromium.org>
3949
3950         Fix default background of a dragged image.
3951         https://bugs.webkit.org/show_bug.cgi?id=110512
3952
3953         Reviewed by Tony Chang.
3954
3955         Transparent background color (particularly visible in the padding
3956         of an element) was not being respected. The solution is to
3957         initially fill the drag image with transparent instead of white,
3958         so that any color background works correctly. This patch does not
3959         affect Apple Mac or Win platforms, given that this part of the
3960         code is #if guarded from those platforms.
3961
3962         Manual test added:
3963           ManualTests/drag-background-with-padding.html
3964
3965         Infrastructure for retrieving the drag image for pixel testing
3966         does not yet exist.
3967
3968         * page/Frame.cpp:
3969         (WebCore::Frame::nodeImage):
3970
3971 2013-03-05  Emil A Eklund  <eae@chromium.org>
3972
3973         ASSERTION FAILED: i < size(), UNKNOWN in WebCore::RenderTableSection::layout
3974         https://bugs.webkit.org/show_bug.cgi?id=108838
3975
3976         Reviewed by Levi Weintraub.
3977         
3978         Ensure that RenderTable::recalcSections is called when moving a
3979         TableSection by calling setNeedsSectionRecalc in addChild for
3980         TableSections.
3981
3982         Test: fullscreen/full-screen-table-section.html
3983
3984         * rendering/RenderTable.cpp:
3985         (WebCore::RenderTable::addChild):
3986
3987 2013-03-05  Kenneth Russell  <kbr@google.com>
3988
3989         Upgrade ANGLE to r1987
3990         https://bugs.webkit.org/show_bug.cgi?id=111381
3991
3992         Reviewed by Dean Jackson.
3993
3994         Covered by existing tests. Ran WebGL conformance tests in Safari
3995         to ensure correct operation of patch.
3996
3997         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
3998         (WebCore::GraphicsContext3D::GraphicsContext3D):
3999         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
4000         (WebCore::GraphicsContext3D::GraphicsContext3D):
4001         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
4002         (WebCore::GraphicsContext3D::GraphicsContext3D):
4003         * platform/graphics/mac/GraphicsContext3DMac.mm:
4004         (WebCore::GraphicsContext3D::GraphicsContext3D):
4005         * platform/graphics/qt/GraphicsContext3DQt.cpp:
4006         (WebCore::GraphicsContext3DPrivate::initializeANGLE):
4007             Changed all ports to query for highp support in fragment
4008             shaders and conditionally enable it in ANGLE shader translator.
4009
4010 2013-03-05  Alec Flett  <alecflett@chromium.org>
4011
4012         IndexedDB: Add IDBBackingStoreTest
4013         https://bugs.webkit.org/show_bug.cgi?id=111233
4014
4015         Reviewed by Adam Barth.
4016
4017         These are tweaks to make IDBBackingStore more easily testable.
4018
4019         * Modules/indexeddb/IDBBackingStore.cpp:
4020         (WebCore::IDBBackingStore::IDBBackingStore): Allow use without a backing store.
4021
4022 2013-03-04  James Robinson  <jamesr@chromium.org>
4023
4024         [chromium] Move check for threaded compositing from WebCompositorSupport to Platform
4025         https://bugs.webkit.org/show_bug.cgi?id=111386
4026
4027         Reviewed by Adrienne Walker.
4028
4029         This moves checks for whether threaded compositing is enabled from WebCompositorSupport
4030         to Platform. In the case of Canvas2DLayerBridge, the check is moved completely out of
4031         the class to make it easier for tests to specify the threaded configuration to use in the test.
4032
4033         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
4034         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
4035         * platform/graphics/chromium/Canvas2DLayerBridge.h:
4036         (WebCore::Canvas2DLayerBridge::create):
4037         (Canvas2DLayerBridge):
4038         * platform/graphics/chromium/DrawingBufferChromium.cpp:
4039         (WebCore::DrawingBuffer::DrawingBuffer):
4040         * platform/graphics/skia/ImageBufferSkia.cpp:
4041         (WebCore::createAcceleratedCanvas):
4042
4043 2013-03-05  Anders Carlsson  <andersca@apple.com>
4044
4045         Split up the storage event dispatch functions further
4046         https://bugs.webkit.org/show_bug.cgi?id=111482
4047
4048         Reviewed by Beth Dakin.
4049
4050         Add new functions for dispatching storage events to a set of frames.
4051
4052         * storage/StorageAreaImpl.cpp:
4053         (WebCore::StorageAreaImpl::dispatchStorageEvent):
4054         * storage/StorageEventDispatcher.cpp:
4055         (WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):