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