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