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