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