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