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