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