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