[Safari] Crash with opacity + drop shadow filter + child element extending beyond...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-21  Simon Fraser  <simon.fraser@apple.com>
2
3         [Safari] Crash with opacity + drop shadow filter + child element extending beyond filter outsets
4         https://bugs.webkit.org/show_bug.cgi?id=107467
5
6         Reviewed by Dean Jackson.
7         
8         The filter code plays games with the current GraphicsContext, replacing the current
9         context with one which will get filtered.
10         
11         This doesn't play nicely with the RenderLayer code which lazily starts transparency
12         layers. If we don't start a transparency layer until painting a child of the filtered
13         layer, then the transparency layer is started using the wrong context.
14         
15         Fix by eagerly starting transparency layers if we have both a filter and opacity.
16
17         Test: css3/filters/filter-with-opacity-and-children.html
18
19         * rendering/RenderLayer.cpp:
20         (WebCore::RenderLayer::paintLayerContents):
21
22 2013-02-21  Tony Chang  <tony@chromium.org>
23
24         Autogenerate Settings that call setNeedsRecalcStyleInAllFrames when set
25         https://bugs.webkit.org/show_bug.cgi?id=109989
26
27         Reviewed by Ryosuke Niwa.
28
29         Start generating the code for settings that call m_page->setNeedsRecalcStyleInAllFrames()
30         when the value is changed. This allows us to generate 10 more settings. As a follow up, we
31         can remove some methods from DRT/WTR after this.
32
33         No new tests, this is a build refactor and should not impact any test results.
34
35         * page/Settings.cpp:
36         (WebCore::Settings::Settings): Remove member variables. Add SETTINGS_SETTER_BODIES macro that
37         has the generated setter bodies.
38         * page/Settings.h:
39         (Settings): Remove code that is now generated.
40         * page/Settings.in: Add new entries with setNeedsStyleRecalcWhenSetting=1
41         * page/make_settings.pl:
42         (defaultItemFactory): Add setNeedsStyleRecalcWhenSetting flag.
43         (generateSettingsMacrosHeader): Print macro for setter bodies.
44         (printConditionalMacros): Add setter body code.
45         (printGettersAndSetters): Pass in setNeedsStyleRecalcWhenSetting so we know whether to inline the
46         setter in the header or not.
47         (printGetterAndSetter): Ditto.
48         (printSetterBodies): Print macro for setter bodies.
49         (printSetterBody): Print setter body for a single setting.
50
51 2013-02-21  Dean Jackson  <dino@apple.com>
52
53         Plug-in snapshotting code always accepts first snapshot
54         https://bugs.webkit.org/show_bug.cgi?id=110495
55
56         Reviewed by Tim Horton.
57
58         When we detect a plugin that can be snapshotted we start capturing
59         images until we find one that we believe isn't blank, or we timeout.
60         I introduced a regression recently where we swap renderers as
61         soon as the snapshot arrives, whether or not is is blank.
62
63         The fix was to have the embedder (currently only WK2) be the one
64         who tells the HTMLPlugInElement to start displaying snapshots.
65
66         I also reduced the number of snapshot attempts we will make before
67         giving up. We don't want to sit around for 66 seconds displaying nothing.
68
69         * html/HTMLPlugInElement.h:
70         (WebCore::HTMLPlugInElement::setDisplayState): Make this a virtual function.
71         * html/HTMLPlugInImageElement.cpp:
72         (WebCore::HTMLPlugInImageElement::setDisplayState): Override to call the
73             base class version, but swap renderers if we should move to the snapshot.
74         (WebCore::HTMLPlugInImageElement::updateSnapshot): Don't swap renderers here any more.
75         * html/HTMLPlugInImageElement.h: New virtual version of setDisplayState.
76
77 2013-02-21  Tony Gentilcore  <tonyg@chromium.org>
78
79         Tune BackgroundHTMLParser's pendingTokenLimit based on a benchmark
80         https://bugs.webkit.org/show_bug.cgi?id=110408
81
82         Reviewed by Adam Barth.
83
84         This constant was tuned by running the top 25 sites in Telemetry on a Nexus 7 device.
85         The new value decreases the maximum time spent parsing by 40% without significantly impacting total parse time or DOMContentLoaded.
86
87         No new tests because no new functionality.
88
89         * html/parser/BackgroundHTMLParser.cpp:
90         (WebCore):
91
92 2013-02-21  Sheriff Bot  <webkit.review.bot@gmail.com>
93
94         Unreviewed, rolling out r143419.
95         http://trac.webkit.org/changeset/143419
96         https://bugs.webkit.org/show_bug.cgi?id=110507
97
98         Broke border-image on Mac (Requested by jpfau on #webkit).
99
100         * platform/graphics/GraphicsContext.cpp:
101         (WebCore::GraphicsContext::drawTiledImage):
102         * platform/graphics/GraphicsContext.h:
103         (GraphicsContext):
104         * platform/graphics/Image.cpp:
105         (WebCore::Image::drawTiled):
106         * platform/graphics/Image.h:
107         (Image):
108         * rendering/RenderBoxModelObject.cpp:
109         (WebCore::RenderBoxModelObject::paintNinePieceImage):
110
111 2013-02-21  Tom Sepez  <tsepez@chromium.org>
112
113         XSSAuditor should block pages by redirecting to a sandboxed data: URL.
114         https://bugs.webkit.org/show_bug.cgi?id=110406
115
116         Reviewed by Adam Barth.
117
118         Patch originally by mkwst@chromium.org. 
119         Tests: http/tests/security/xssAuditor/block-does-not-leak-location.html
120                http/tests/security/xssAuditor/block-does-not-leak-referrer.html
121                http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html
122
123         * html/parser/XSSAuditorDelegate.cpp:
124         (WebCore::XSSAuditorDelegate::didBlockScript):
125             When blocking entire pages via the XSSAuditor, redirect to a data:
126             URL to ensure that requests for properties don't leak information.
127         
128 2013-02-21  Christian Biesinger  <cbiesinger@chromium.org>
129
130         Convert buttons from DeprecatedFlexBox to nondeprecated FlexibleBox
131         https://bugs.webkit.org/show_bug.cgi?id=109994
132
133         Reviewed by Ojan Vafai.
134
135         Covered by existing tests for <button> and <input
136         type="button|submit|reset">
137
138         * css/html.css:
139         (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
140         Convert from box-align to align-items. We are using flex-start here in
141         conjunction with an auto margin for correct centering. See
142         RenderButton.cpp below for the margin & more explanation.
143
144         * rendering/RenderBlock.cpp:
145         (WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
146         Add a case for creating a non-deprecated flex box.
147
148         * rendering/RenderButton.cpp:
149         (WebCore::RenderButton::RenderButton):
150         (WebCore::RenderButton::addChild):
151         (WebCore::RenderButton::removeChild):
152         Forward to new base class
153         (WebCore::RenderButton::styleWillChange):
154         (WebCore::RenderButton::setupInnerStyle):
155         We are now using flexbox properties.
156         - min-width is needed for correct shrinking of the contents
157         - margin-top and margin-bottom are used for correct centering. We
158         can't use align-items: center because results are incorrect when the
159         content overflows. See LayoutTests/fast/forms/control-clip.html
160
161         * rendering/RenderButton.h:
162         Inherit from RenderFlexibleBox
163
164         * rendering/RenderFlexibleBox.cpp:
165         (WebCore::RenderFlexibleBox::createAnonymous):
166         (WebCore):
167         * rendering/RenderFlexibleBox.h:
168         (RenderFlexibleBox):
169         Add a createAnonymous function to RenderFlexibleBox.
170
171 2013-02-21  John Mellor  <johnme@chromium.org>
172
173         [chromium] Simplify computation of screenRect/windowRect.
174         https://bugs.webkit.org/show_bug.cgi?id=110456
175
176         Reviewed by Adam Barth.
177
178         This patch removes applyDeviceScaleFactorInCompositor checks
179         added by http://trac.webkit.org/changeset/139356 because
180         Chrome for Android now sizes its screen and window in DIP
181         units (like other platforms), so they are no longer necessary.
182
183         No new tests, since this is just removing an unused codepath.
184
185         * platform/chromium/PlatformScreenChromium.cpp:
186         (WebCore::screenRect):
187         (WebCore::screenAvailableRect):
188         * rendering/TextAutosizer.cpp:
189         (WebCore::TextAutosizer::processSubtree):
190
191 2013-02-21  Beth Dakin  <bdakin@apple.com>
192
193         Out-of-view fixed position check should not be affected by page scale at all on Mac
194         https://bugs.webkit.org/show_bug.cgi?id=110294
195         -and corresponding-
196         <rdar://problem/13247582>
197
198         Reviewed by Simon Fraser.
199
200         Don't scale the layerBounds. Generally, the layerBounds should be relative to the 
201         viewBounds which are also unscaled. Chromium used to want this behavior, but it is 
202         covered by their pageScaleFactorAppliedInCompositor implementation now.
203
204         * rendering/RenderLayerCompositor.cpp:
205         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
206
207 2013-02-21  Philip Rogers  <pdr@google.com>
208
209         Stop starting animations when leaving a page
210         https://bugs.webkit.org/show_bug.cgi?id=110257
211
212         Reviewed by Stephen Chenney.
213
214         SVGImage::resetAnimation() incorrectly started animations which could cause a crash
215         when leaving the page. This patch fixes resetAnimation to only stop the animation,
216         similar to BitmapImage::resetAnimation().
217
218         Additionally, this patch removes an unneeded call to Document::updateStyleForAllDocuments()
219         that was present in the animation loop. This makes the animation code more resistant to
220         similar bugs in the future.
221
222         Both of these changes are functionally covered with existing tests.
223
224         Test: svg/animations/reset-animation-crash.html
225
226         * svg/animation/SMILTimeContainer.cpp:
227         (WebCore::SMILTimeContainer::updateAnimations):
228         * svg/graphics/SVGImage.cpp:
229         (WebCore::SVGImage::resetAnimation):
230
231 2013-02-19  Mark Hahnenberg  <mhahnenberg@apple.com>
232
233         Objective-C API: Need a way to use the Objective-C JavaScript API with WebKit
234         https://bugs.webkit.org/show_bug.cgi?id=106059
235
236         Reviewed by Geoffrey Garen.
237
238         * WebCore.exp.in:
239         * bindings/js/JSDOMWindowShell.cpp:
240         (WebCore::JSDOMWindowShell::setWindow): Since we're basically abandoning a JSDOMWindow here, we call
241         garbageCollectSoon().
242         * bindings/js/JSDOMWindowShell.h:
243         * bindings/js/ScriptController.h: New function to get the JSContext for the global object of the current main world.
244         * bindings/js/ScriptControllerMac.mm: 
245         (WebCore::ScriptController::javaScriptContext): Ditto.
246         * bindings/objc/WebScriptObject.h: Added ifdef guards. Also new convenience conversion function for the JSC Obj-C API.
247         * bindings/objc/WebScriptObject.mm: JSC::JSValue and JSValue conflict with one another, so we have to be more specific.
248         (-[WebScriptObject _globalContextRef]): Useful helper function for getting the JSGlobalContextRef of a particular WebScriptObject.
249         (-[WebScriptObject callWebScriptMethod:withArguments:]):
250         (-[WebScriptObject evaluateWebScript:]):
251         (-[WebScriptObject valueForKey:]):
252         (-[WebScriptObject webScriptValueAtIndex:]):
253         (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
254         (-[WebScriptObject JSValue]): Implementation of convenience WebScriptObject conversion function to new Objective-C API.
255         * bindings/objc/WebScriptObjectPrivate.h:
256
257 2013-02-21  Kentaro Hara  <haraken@chromium.org>
258
259         [V8] Rename add{Node,Object}ToGroup() to add{Node,Object}WrapperToGroup()
260         https://bugs.webkit.org/show_bug.cgi?id=110404
261
262         Reviewed by Adam Barth.
263
264         The current function name is confusing
265         (See discussion in bug 110396). We should rename the functions
266         so that it becomes clear that "Node"/"Object" refers to a type
267         of a wrapper in the second argument.
268
269         No tests. No change in behavior.
270
271         * bindings/v8/V8GCController.cpp:
272         (WebCore::WrapperGrouper::addObjectWrapperToGroup):
273         (WebCore::WrapperGrouper::addNodeWrapperToGroup):
274
275 2013-02-21  Vivek Galatage  <vivek.vg@samsung.com>
276
277         [JS Binding] ScriptObject default constructor should initialize the Script State to 0
278         https://bugs.webkit.org/show_bug.cgi?id=110177
279
280         Reviewed by Geoffrey Garen.
281
282         Adding the initialization of ScriptState to 0.
283
284         * bindings/js/ScriptObject.h:
285         (WebCore::ScriptObject::ScriptObject):
286
287 2013-02-21  Nate Chapin  <japhet@chromium.org>
288
289         REGRESSION: Crash in MainResourceLoader::setDataBufferingPolicy when sharing an html5 video via email
290         https://bugs.webkit.org/show_bug.cgi?id=110075
291
292         Reviewed by Alexey Proskuryakov.
293
294         Test: webarchive/loading/video-in-webarchive.html
295
296         * loader/MainResourceLoader.cpp:
297         (WebCore::MainResourceLoader::continueAfterContentPolicy): isStopping()
298             isn't accurate to determine whether a SubstituteData load should
299             continue, as this point in the code shouldn't be reachable from any point
300             where isStopping() would return true. DocumentLoader might have completely
301             stopped and believe that MainResourceLoader is complete, though. Don't
302             continue in that case. 
303         (WebCore::MainResourceLoader::setDataBufferingPolicy): m_resource can be null
304             in a reasonable case, handle it rather \1athan asserting that it can't be null.
305
306 2013-02-21  Sheriff Bot  <webkit.review.bot@gmail.com>
307
308         Unreviewed, rolling out r143616.
309         http://trac.webkit.org/changeset/143616
310         https://bugs.webkit.org/show_bug.cgi?id=110491
311
312         Caused a test failure on Chromium Mac. (Requested by vollick
313         on #webkit).
314
315         * page/FrameView.cpp:
316         (WebCore::FrameView::visibleContentsResized):
317         * page/FrameView.h:
318         (FrameView):
319         * page/Page.cpp:
320         (WebCore::Page::setPageScaleFactor):
321
322 2013-02-21  Robert Hogan  <robert@webkit.org>
323
324         Overflow can be cleared just before it is computed
325         https://bugs.webkit.org/show_bug.cgi?id=110361
326
327         Reviewed by David Hyatt.
328
329         Overflow can be cleared just before it is computed in a lot of places because overflow computation happens all at once
330         now rather than cumulatively during layout. Any object that doesn't use computeOverflow() will still need to clear it manually
331         though.
332
333         No new tests, refactoring.
334
335         * rendering/RenderBlock.cpp:
336         (WebCore::RenderBlock::layoutBlock):
337         (WebCore::RenderBlock::computeOverflow):
338         (WebCore::RenderBlock::simplifiedLayout):
339         * rendering/RenderBlockLineLayout.cpp:
340         (WebCore::RenderBlock::layoutInlineChildren):
341         * rendering/RenderDeprecatedFlexibleBox.cpp:
342         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
343         * rendering/RenderFlexibleBox.cpp:
344         (WebCore::RenderFlexibleBox::layoutBlock):
345         * rendering/RenderGrid.cpp:
346         (WebCore::RenderGrid::layoutBlock):
347         * rendering/RenderRubyRun.cpp:
348         (WebCore::RenderRubyRun::layout):
349         * rendering/RenderTable.cpp:
350         (WebCore::RenderTable::layout):
351         * rendering/RenderTextControlSingleLine.cpp:
352         (WebCore::RenderTextControlSingleLine::layout):
353
354 2013-02-21  Alok Priyadarshi  <alokp@chromium.org>
355
356         Mark GraphicsLayers as opaque when possible
357         https://bugs.webkit.org/show_bug.cgi?id=70634
358
359         Reviewed by Simon Fraser.
360
361         Mark layers as opaque in a very simple case - the main renderer has an
362         opaque background and covers the entire composited bounds.
363         RenderLayer::contentsOpaqueInRect has been implemented conservatively,
364         i.e. it errs towards returning false negative.
365
366         Tests: compositing/contents-opaque/contents-opaque-background-clip.html
367                compositing/contents-opaque/contents-opaque-background-color.html
368                compositing/contents-opaque/contents-opaque-layer-opacity.html
369                compositing/contents-opaque/contents-opaque-layer-transform.html
370
371         * rendering/RenderBox.cpp:
372         (WebCore::RenderBox::backgroundIsOpaqueInRect):
373         (WebCore):
374         * rendering/RenderBox.h:
375         (RenderBox):
376         * rendering/RenderBoxModelObject.h:
377         (WebCore::RenderBoxModelObject::backgroundIsOpaqueInRect):
378         (WebCore::RenderBoxModelObject::foregroundIsOpaqueInRect):
379         (RenderBoxModelObject):
380         * rendering/RenderLayer.cpp:
381         (WebCore::RenderLayer::contentsOpaqueInRect):
382         (WebCore):
383         (WebCore::RenderLayer::listContentsOpaqueInRect):
384         * rendering/RenderLayer.h:
385         (RenderLayer):
386         * rendering/RenderLayerBacking.cpp:
387         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
388         * rendering/RenderLayerModelObject.h:
389         (RenderLayerModelObject):
390
391 2013-02-21  Julien Chaffraix  <jchaffraix@webkit.org>
392
393         [CSS Grid Layout] Implement grid growth during auto placement
394         https://bugs.webkit.org/show_bug.cgi?id=110418
395
396         Reviewed by Ojan Vafai.
397
398         This change implements the last remaining piece of the auto placement algorithm:
399         growing the grid mid-placement. With that landed, we should handle all cases properly.
400
401         Change covered by : fast/css-grid-layout/grid-item-addition-auto-placement.html
402                             fast/css-grid-layout/grid-item-removal-auto-placement.html
403
404
405         * rendering/RenderGrid.cpp:
406         (WebCore::RenderGrid::growGrid):
407         Added this helper function to grow the grid one item in a direction.
408
409         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
410         Updated this function to grow in the minor axis direction and insert in the
411         newly created grid area.
412
413         (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
414         Updated this function to grow in the major axis direction and insert in the
415         newly create grid area. Unfortunately this code cannot use the iterator to find
416         the new position as the (auto, auto) case iterates orthogonally to the major axis
417         direction, which we just grew.
418
419         * rendering/RenderGrid.h:
420         Added growGrid.
421
422 2013-02-21  Martin Robinson  <mrobinson@igalia.com>
423
424         A couple more 'make dist' fixes for WebKitGTK+.
425
426         * GNUmakefile.list.am: Add a missing file to the source list.
427
428 2013-02-21  Andrei Bucur  <abucur@adobe.com>
429
430         -webkit-margin-collapse: separate doesn't work correctly for before margins
431         https://bugs.webkit.org/show_bug.cgi?id=109956
432
433         Reviewed by David Hyatt.
434
435         The collapsing code for "-webkit-margin-collapse: separate" assumed the margin value inside
436         marginInfo always contributes to the position of the child. This is valid only if the collapse
437         doesn't happen at the before side of the container. In that case, the child needs to be positioned 
438         at the margin value specified in the style sheet.
439
440         Test: fast/block/margin-collapse/webkit-margin-collapse-separate-position.html
441
442         * rendering/RenderBlock.cpp:
443         (WebCore::RenderBlock::collapseMargins):
444
445 2013-02-21  Tien-Ren Chen  <trchen@chromium.org>
446
447         Need to re-layout fixed position elements after scale when using settings()->fixedElementsLayoutRelativeToFrame()
448         https://bugs.webkit.org/show_bug.cgi?id=105486
449
450         Reviewed by James Robinson.
451
452         In settings()->fixedElementsLayoutRelativeToFrame() mode, fixed-position
453         elements are layout relative to the current visible viewport, which can
454         be different from the layout viewport when using fixed-layout mode.
455         We need to re-layout fixed-position elements in case of visible content
456         size changes.
457
458         The test is currently chromium-specific due to difficulties to make this
459         test works on Mac. The mac port seems to work very differently with
460         visible content size when a page is scaled. And there is no reliable way
461         to hide scrollbars in mac-wk1 that doesn't cause a side effect.
462
463         Test: platform/chromium/fast/repaint/relayout-fixed-position-after-scale.html
464
465         * page/FrameView.cpp:
466         (WebCore::FrameView::visibleContentsResized):
467         * page/FrameView.h:
468         (FrameView):
469         * page/Page.cpp:
470         (WebCore::Page::setPageScaleFactor):
471
472 2013-02-21  Xan Lopez  <xlopez@rim.com>
473
474         [BlackBerry] LayerFilterRenderer: fix inclusion of Vector.h
475         https://bugs.webkit.org/show_bug.cgi?id=110476
476
477         Reviewed by Rob Buis.
478
479         Added in r124242. The include line should be wtf/Vector.h
480
481         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
482
483 2013-02-21  David Hyatt  <hyatt@apple.com>
484
485         [New Multicolumn] Remove unneeded layout method in RenderMultiColumnFlowThread.
486         https://bugs.webkit.org/show_bug.cgi?id=110477.
487
488         Reviewed by Antti Koivisto.
489
490         I forgot that both the sets and the flow thread lay out before the containing
491         RenderMultiColumnBlock has finished. That means it hasn't computed its overflow yet.
492         Therefore there is no need to force it to compute its overflow from inside
493         RenderMultiColumnFlowThread::layout, because the minute RenderMultiColumnFlowThread
494         finishes its layout, the block will compute its overflow anyway.
495
496         * rendering/RenderMultiColumnFlowThread.cpp:
497         (WebCore):
498         * rendering/RenderMultiColumnFlowThread.h:
499         (RenderMultiColumnFlowThread):
500
501 2013-02-21  Martin Robinson  <mrobinson@igalia.com>
502
503         [GTK] Move feature overriding to the configure phase
504         https://bugs.webkit.org/show_bug.cgi?id=110293
505
506         Reviewed by Gustavo Noronha Silva.
507
508         * GNUmakefile.am: No longer include GNUmakefile.features.am. We don't
509         have to process the result of this file or do any modification of
510         feature_defines_override, because this variable is gone.
511
512 2013-02-21  Andrey Adaikin  <aandrey@chromium.org>
513
514         Unreviewed. Rolling out an unindented change from r143580.
515
516         * inspector/Inspector.json:
517
518 2013-02-21  Andreas Kling  <akling@apple.com>
519
520         GlyphPage: Bake per-glyph font data array into same allocation as GlyphPage.
521
522         A hopeful fix for REGRESSION(r143125): ~5% performance hit on Chromium's intl2 page cycler
523         <http://webkit.org/b/108835>
524
525         Reviewed by Antti Koivisto.
526
527         Rewire GlyphPage so that we have to decide at creation time whether there will be a per-glyph
528         array of SimpleFontData* or not. This removes one allocation and one step of indirection for
529         pages with glyphs from mixed fonts.
530
531         * platform/graphics/GlyphPage.h:
532         (WebCore::GlyphPage::createForMixedFontData):
533         (WebCore::GlyphPage::createForSingleFontData):
534         (WebCore::GlyphPage::createCopiedSystemFallbackPage):
535         (WebCore::GlyphPage::~GlyphPage):
536         (WebCore::GlyphPage::glyphDataForIndex):
537         (WebCore::GlyphPage::fontDataForCharacter):
538         (WebCore::GlyphPage::setGlyphDataForIndex):
539         (WebCore::GlyphPage::removeFontDataFromSystemFallbackPage):
540         (WebCore::GlyphPage::GlyphPage):
541         (WebCore::GlyphPage::hasPerGlyphFontData):
542         (GlyphPage):
543         * platform/graphics/GlyphPageTreeNode.cpp:
544         (WebCore::GlyphPageTreeNode::initializePage):
545
546 2013-02-21  Xan Lopez  <xlopez@rim.com>
547
548         [BlackBerry] MediaPlayerPrivateBlackBerry: include Logging.h
549         https://bugs.webkit.org/show_bug.cgi?id=110455
550
551         Reviewed by Eric Carlson.
552
553         LOG is used in this file, so it is needed.
554
555         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
556
557 2013-02-21  Keishi Hattori  <keishi@webkit.org>
558
559         Add animation class for new calendar picker
560         https://bugs.webkit.org/show_bug.cgi?id=110132
561
562         Reviewed by Kent Tamura.
563
564         Adding animation related classes as part of the calendar picker
565         redesign(Bug 109439).
566
567         No new tests. Code is not used yet.
568
569         * Resources/pagepopups/calendarPicker.js:
570         (AnimationTimingFunction.Linear): Parameter t should be a number between 0 and 1.
571         (AnimationTimingFunction.EaseInOut): Ditto.
572         (AnimationManager): All animators are managed by this class so we
573         can dispatch "animationFrameWillFinish" event after all the updates.
574         (AnimationManager.prototype._startAnimation):
575         (AnimationManager.prototype._stopAnimation):
576         (AnimationManager.prototype.add): Adds an animator to the list of running animators.
577         (AnimationManager.prototype.remove): Removes an animator.
578         (AnimationManager.prototype._animationFrameCallback): Callback for requestAnimationFrame.
579         (AnimationManager.prototype._needsAnimationFrame): Returns true if we should request the next animation frame.
580         (AnimationManager.prototype.on): If we add a callback, request animation frame.
581         (AnimationManager.prototype.removeListener):
582         (Animator): Animates between the from value and to value.
583         (Animator.prototype.setFrom): Sets the from value.
584         (Animator.prototype.setTo): Sets the to value.
585         (Animator.prototype.start):
586         (Animator.prototype.stop):
587         (Animator.prototype.onAnimationFrame): Called by AnimationManager.
588
589 2013-02-21  Andrey Adaikin  <aandrey@chromium.org>
590
591         Web Inspector: [Canvas] UI: more intuitive control buttons
592         https://bugs.webkit.org/show_bug.cgi?id=110327
593
594         Reviewed by Pavel Feldman.
595
596         Tweaks to the CanvasProfiler replay control buttons.
597         - NextDrawCall forward button (StepOver) should jump up to the last expanded node, otherwise a noop is not intuitive unless the last node is selected.
598         - NextDrawCall/PrevDrawCall buttons should not skip draw call nodes themselves.
599
600         * inspector/front-end/CanvasProfileView.js:
601         (WebInspector.CanvasProfileView.prototype._onReplayDrawingCallClick):
602
603 2013-02-21  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
604
605         Make SpellCheckRequest's constructor private.
606         https://bugs.webkit.org/show_bug.cgi?id=110462
607
608         Reviewed by Antonio Gomes.
609
610         It's no need to expose SpellCheckRequest's constructor.
611         There is SpellCheckRequest::create() method which is
612         responsible for creating SpellCheckRequest object.
613
614         No new tests, no behavior change.
615
616         * editing/SpellChecker.h:
617         (SpellCheckRequest):
618
619 2013-02-21  Andrey Adaikin  <aandrey@chromium.org>
620
621         Web Inspector: [Canvas] Remove arrays of DataGrid nodes from the View
622         https://bugs.webkit.org/show_bug.cgi?id=110325
623
624         Reviewed by Pavel Feldman.
625
626         Remove arrays of DataGrid nodes from the CanvasProfileView and use live DataGrid instead.
627         This is a prerequisite to support a non-fixed layered tree in the grid (for example, to hide
628         a single frame group node, or to combine several draw call groups into a pattern group).
629         Drive-by: added an assert to injected canvas module.
630
631         * inspector/InjectedScriptCanvasModuleSource.js:
632         * inspector/front-end/CanvasProfileView.js:
633         (WebInspector.CanvasProfileView):
634         (WebInspector.CanvasProfileView.prototype.dispose):
635         (WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
636         (WebInspector.CanvasProfileView.prototype._requestTraceLog):
637         (WebInspector.CanvasProfileView.prototype._selectedCallIndex):
638         (WebInspector.CanvasProfileView.prototype._peekLastRecursively):
639         (WebInspector.CanvasProfileView.prototype._appendCallNodes):
640         (WebInspector.CanvasProfileView.prototype.):
641         (WebInspector.CanvasProfileView.prototype.splitDrawCallGroup):
642         (WebInspector.CanvasProfileView.prototype._appendCallNodesToFrameNode):
643
644 2013-02-21  Alexander Pavlov  <apavlov@chromium.org>
645
646         Web Inspector: Local/session storage tree items in the Resources panel after page refresh are not shown
647         Re-landing r143581 with a build fix for Windows.
648         https://bugs.webkit.org/show_bug.cgi?id=109572
649
650         Reviewed by Vsevolod Vlasov.
651
652         This is a complete rework of the DOMStorage domain of the Web Inspector protocol. The most notable changes:
653         - Session and local DOM storages are considered to implicitly exist for each SecurityOrigin in the page
654           (previously, only those that were lazily created by DOMWindow would exist).
655         - Consequently, the addDOMStorage event is gone.
656         - StorageId is now an object rather than an opaque numeric identifier.
657         - DOM storage modifiers no longer return a boolean indicating if the operation was successful.
658           Clients should rely on the returned error message instead.
659
660         Implementation changes:
661         - InspectorDOMStorageResource would rely on the frame for which it was created throughout its lifetime.
662           As such, the frame removal from the page would break the respective DOM storage inspection.
663           Since this concept was entirely flawed, InspectorDOMStorageResource has been removed. Instead, a StorageArea
664           is retrieved based on the security origin specified by the client.
665         - DOM storages can now be dynamically removed (upon the respective SecurityOrigin removal) in the frontend.
666
667         * CMakeLists.txt: Remove InspectorDOMStorageResource.
668         * GNUmakefile.list.am: Ditto.
669         * Target.pri: Ditto.
670         * WebCore.gypi: Ditto.
671         * WebCore.order: Ditto.
672         * WebCore.vcproj/WebCore.vcproj: Ditto.
673         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
674         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
675         * WebCore.xcodeproj/project.pbxproj: Ditto.
676         * dom/WebCoreMemoryInstrumentation.cpp: Ditto.
677         * dom/WebCoreMemoryInstrumentation.h: Ditto.
678         * inspector/InjectedScriptSource.js: Account for the structured StorageId.
679         * inspector/Inspector.json: Update structures and API methods.
680           Do not return boolean success flag and make use of the error message instead.
681         * inspector/InspectorAllInOne.cpp: Remove InspectorDOMStorageResource.
682         * inspector/InspectorController.cpp:
683         (WebCore::InspectorController::InspectorController): Add InspectorPageAgent into InspectorDOMStorageAgent.
684         * inspector/InspectorDOMStorageAgent.cpp: Mostly remove InspectorDOMStorageResource usages.
685         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
686         (WebCore::InspectorDOMStorageAgent::clearFrontend):
687         (WebCore::InspectorDOMStorageAgent::isEnabled):
688         (WebCore::InspectorDOMStorageAgent::enable):
689         (WebCore::InspectorDOMStorageAgent::disable):
690         (WebCore::InspectorDOMStorageAgent::getDOMStorageItems): Renamed.
691         (WebCore::toErrorString): Stringify ExceptionCode.
692         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
693         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
694         (WebCore::InspectorDOMStorageAgent::storageId): Make it structured rather than a plain string.
695         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
696         (WebCore::InspectorDOMStorageAgent::findStorageArea): Added.
697         (WebCore::InspectorDOMStorageAgent::reportMemoryUsage): Remove InspectorDOMStorageResource map.
698         * inspector/InspectorDOMStorageAgent.h:
699         (WebCore::InspectorDOMStorageAgent::create): Update signature.
700         (InspectorDOMStorageAgent):
701         * inspector/InspectorDOMStorageResource.cpp: Removed.
702         * inspector/InspectorDOMStorageResource.h: Removed.
703         * inspector/InspectorInstrumentation.cpp:
704         (WebCore::InspectorInstrumentation::didCommitLoadImpl): Do not call the removed clearResources().
705         * inspector/InspectorInstrumentation.h:
706         * inspector/InspectorPageAgent.cpp:
707         (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin): Added.
708         * inspector/InspectorPageAgent.h:
709         (InspectorPageAgent):
710         * inspector/front-end/DOMStorage.js: Entirely reworked to use the SecurityOriginAdded/Removed events.
711         (WebInspector.DOMStorage):
712         (WebInspector.DOMStorage.storageId):
713         (WebInspector.DOMStorage.prototype.get id):
714         (WebInspector.DOMStorage.prototype.get securityOrigin):
715         (WebInspector.DOMStorage.prototype.getItems):
716         (WebInspector.DOMStorage.prototype.setItem):
717         (WebInspector.DOMStorage.prototype.removeItem):
718         (WebInspector.DOMStorageModel):
719         (WebInspector.DOMStorageModel.prototype._securityOriginAdded):
720         (WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
721         (WebInspector.DOMStorageModel.prototype._storageKey):
722         (WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
723         (WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
724         (WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
725         (WebInspector.DOMStorageModel.prototype.storageForId):
726         (WebInspector.DOMStorageModel.prototype.storages):
727         * inspector/front-end/DOMStorageItemsView.js: Rename Entries -> Items to avoid confusion.
728         (WebInspector.DOMStorageItemsView.prototype._update):
729         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageItems):
730         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageItems):
731         * inspector/front-end/ResourcesPanel.js: Follow the updated DOMStorage model.
732         (WebInspector.ResourcesPanel):
733         (WebInspector.ResourcesPanel.prototype._initialize):
734         (WebInspector.ResourcesPanel.prototype._domStorageAdded):
735         (WebInspector.ResourcesPanel.prototype._domStorageRemoved):
736         (WebInspector.ResourcesPanel.prototype._populateDOMStorageTree):
737         (WebInspector.DOMStorageTreeElement):
738         (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
739         * page/DOMWindow.cpp: Remove instrumentation calls.
740         (WebCore::DOMWindow::sessionStorage):
741         (WebCore::DOMWindow::localStorage):
742
743 2013-02-21  Carlos Garcia Campos  <cgarcia@igalia.com>
744
745         Unreviewed. Fix make distcheck.
746
747         * GNUmakefile.list.am: Add missing files to compilation.
748
749 2013-02-21  Alberto Garcia  <albgarcia@rim.com>
750
751         [BlackBerry] Fix access to ResourceHandle::context
752         https://bugs.webkit.org/show_bug.cgi?id=110443
753
754         Reviewed by Carlos Garcia Campos.
755
756         This changed in r141981.
757
758         * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
759         (WebCore::ResourceHandle::start):
760
761 2013-02-21  Alberto Garcia  <albgarcia@rim.com>
762
763         [BlackBerry] GraphicsLayerBlackBerry: rename showDebugBorder to isShowingDebugBorder
764         https://bugs.webkit.org/show_bug.cgi?id=110453
765
766         Reviewed by Carlos Garcia Campos.
767
768         This changed in r133517.
769
770         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
771         (WebCore::GraphicsLayerBlackBerry::setupContentsLayer):
772
773 2013-02-21  Peter Rybin  <prybin@chromium.org>
774
775         Web Inspector: take large strings out of CodeGeneratorInspector.py
776         https://bugs.webkit.org/show_bug.cgi?id=110159
777
778         Reviewed by Yury Semikhatsky.
779
780         Python script is refactored.
781
782         * inspector/CodeGeneratorInspector.py:
783         * inspector/CodeGeneratorInspectorStrings.py: Added.
784         (InspectorFrontend_h):
785         (InspectorFrontendChannel):
786         (InspectorArray):
787         (InspectorObject):
788         (String):
789         (InspectorFrontend):
790         (InspectorBackendDispatcher_h):
791         (InspectorAgent):
792         (InspectorBackendDispatcherImpl):
793         (InspectorBackendDispatcher):
794         (CallbackBase):
795         (void):
796         (HashMap):
797         (OptOutput):
798         (ExactlyInt):
799         (RuntimeCastHelper):
800         (provides):
801         (typename):
802         (Array):
803         (Builder):
804
805 2013-02-21  Sheriff Bot  <webkit.review.bot@gmail.com>
806
807         Unreviewed, rolling out r143581.
808         http://trac.webkit.org/changeset/143581
809         https://bugs.webkit.org/show_bug.cgi?id=110457
810
811         Breaks Windows builds (compile + link) (Requested by apavlov
812         on #webkit).
813
814         * CMakeLists.txt:
815         * GNUmakefile.list.am:
816         * Target.pri:
817         * WebCore.gypi:
818         * WebCore.order:
819         * WebCore.vcproj/WebCore.vcproj:
820         * WebCore.vcxproj/WebCore.vcxproj:
821         * WebCore.vcxproj/WebCore.vcxproj.filters:
822         * WebCore.xcodeproj/project.pbxproj:
823         * dom/WebCoreMemoryInstrumentation.cpp:
824         (WebCore):
825         * dom/WebCoreMemoryInstrumentation.h:
826         (WebCoreMemoryTypes):
827         * inspector/InjectedScriptSource.js:
828         (.):
829         * inspector/Inspector.json:
830         * inspector/InspectorAllInOne.cpp:
831         * inspector/InspectorController.cpp:
832         (WebCore::InspectorController::InspectorController):
833         * inspector/InspectorDOMStorageAgent.cpp:
834         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
835         (WebCore::InspectorDOMStorageAgent::clearFrontend):
836         (WebCore::InspectorDOMStorageAgent::restore):
837         (WebCore::InspectorDOMStorageAgent::enable):
838         (WebCore::InspectorDOMStorageAgent::disable):
839         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
840         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
841         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
842         (WebCore::InspectorDOMStorageAgent::storageId):
843         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
844         (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
845         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
846         (WebCore::InspectorDOMStorageAgent::clearResources):
847         (WebCore::InspectorDOMStorageAgent::reportMemoryUsage):
848         * inspector/InspectorDOMStorageAgent.h:
849         (WebCore):
850         (WebCore::InspectorDOMStorageAgent::create):
851         (InspectorDOMStorageAgent):
852         * inspector/InspectorDOMStorageResource.cpp: Added.
853         (WebCore):
854         (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
855         (WebCore::InspectorDOMStorageResource::isSameOriginAndType):
856         (WebCore::InspectorDOMStorageResource::bind):
857         (WebCore::InspectorDOMStorageResource::unbind):
858         (WebCore::InspectorDOMStorageResource::reportMemoryUsage):
859         * inspector/InspectorDOMStorageResource.h: Added.
860         (WebCore):
861         (InspectorDOMStorageResource):
862         (WebCore::InspectorDOMStorageResource::create):
863         (WebCore::InspectorDOMStorageResource::id):
864         (WebCore::InspectorDOMStorageResource::storageArea):
865         (WebCore::InspectorDOMStorageResource::frame):
866         * inspector/InspectorInstrumentation.cpp:
867         (WebCore):
868         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
869         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
870         * inspector/InspectorInstrumentation.h:
871         (InspectorInstrumentation):
872         (WebCore::InspectorInstrumentation::didUseDOMStorage):
873         (WebCore):
874         * inspector/InspectorPageAgent.cpp:
875         * inspector/InspectorPageAgent.h:
876         (InspectorPageAgent):
877         * inspector/front-end/DOMStorage.js:
878         (WebInspector.DOMStorage):
879         (WebInspector.DOMStorage.prototype.get id):
880         (WebInspector.DOMStorage.prototype.get domain):
881         (WebInspector.DOMStorage.prototype.getEntries):
882         (WebInspector.DOMStorage.prototype.setItem):
883         (WebInspector.DOMStorage.prototype.removeItem):
884         (WebInspector.DOMStorageModel):
885         (WebInspector.DOMStorageModel.prototype._addDOMStorage):
886         (WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
887         (WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
888         (WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
889         (WebInspector.DOMStorageModel.prototype.storageForId):
890         (WebInspector.DOMStorageModel.prototype.storages):
891         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
892         * inspector/front-end/DOMStorageItemsView.js:
893         (WebInspector.DOMStorageItemsView.prototype._update):
894         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
895         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
896         * inspector/front-end/ResourcesPanel.js:
897         (WebInspector.ResourcesPanel):
898         (WebInspector.ResourcesPanel.prototype._initialize):
899         (WebInspector.ResourcesPanel.prototype._domStorageAdded):
900         (WebInspector.ResourcesPanel.prototype._addDOMStorage):
901         (WebInspector.DOMStorageTreeElement):
902         (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
903         * page/DOMWindow.cpp:
904         (WebCore::DOMWindow::sessionStorage):
905         (WebCore::DOMWindow::localStorage):
906
907 2013-02-21  Vsevolod Vlasov  <vsevik@chromium.org>
908
909         Web Inspector: Get rid of parsedURL in uiSourceCode, use name and path for displayName instead.
910         https://bugs.webkit.org/show_bug.cgi?id=110335
911
912         Reviewed by Alexander Pavlov.
913
914         Replaced UISourceCode.parsedURL with UISourceCode.displayName().
915
916         * inspector/front-end/NavigatorView.js:
917         (WebInspector.NavigatorView.prototype._updateScriptTitle):
918         (WebInspector.NavigatorView.prototype.getOrCreateFolderTreeElement):
919         (WebInspector.NavigatorFolderTreeElement):
920         * inspector/front-end/ResourceUtils.js:
921         (WebInspector.displayNameForURL):
922         * inspector/front-end/RevisionHistoryView.js:
923         (WebInspector.RevisionHistoryView.prototype._createUISourceCodeItem):
924         * inspector/front-end/UISourceCode.js:
925         (WebInspector.UISourceCode):
926         (WebInspector.UISourceCode.prototype.displayName):
927         (WebInspector.UISourceCode.prototype.urlChanged):
928
929 2013-02-21  Alexander Pavlov  <apavlov@chromium.org>
930
931         Web Inspector: Local/session storage tree items in the Resources panel after page refresh are not shown
932         https://bugs.webkit.org/show_bug.cgi?id=109572
933
934         Reviewed by Vsevolod Vlasov.
935
936         * CMakeLists.txt:
937         * GNUmakefile.list.am:
938         * Target.pri:
939         * WebCore.gypi:
940         * WebCore.order:
941         * WebCore.vcproj/WebCore.vcproj:
942         * WebCore.vcxproj/WebCore.vcxproj:
943         * WebCore.vcxproj/WebCore.vcxproj.filters:
944         * WebCore.xcodeproj/project.pbxproj:
945         * dom/WebCoreMemoryInstrumentation.cpp:
946         (WebCore):
947         * dom/WebCoreMemoryInstrumentation.h:
948         (WebCoreMemoryTypes):
949         * inspector/InjectedScriptSource.js:
950         (.):
951         * inspector/Inspector.json:
952         * inspector/InspectorAllInOne.cpp:
953         * inspector/InspectorController.cpp:
954         (WebCore::InspectorController::InspectorController):
955         * inspector/InspectorDOMStorageAgent.cpp:
956         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
957         (WebCore::InspectorDOMStorageAgent::clearFrontend):
958         (WebCore::InspectorDOMStorageAgent::isEnabled):
959         (WebCore::InspectorDOMStorageAgent::enable):
960         (WebCore::InspectorDOMStorageAgent::disable):
961         (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
962         (WebCore::toErrorString):
963         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
964         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
965         (WebCore::InspectorDOMStorageAgent::storageId):
966         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
967         (WebCore::InspectorDOMStorageAgent::findStorageArea):
968         (WebCore::InspectorDOMStorageAgent::reportMemoryUsage):
969         * inspector/InspectorDOMStorageAgent.h:
970         (WebCore):
971         (WebCore::InspectorDOMStorageAgent::create):
972         (InspectorDOMStorageAgent):
973         * inspector/InspectorDOMStorageResource.cpp: Removed.
974         * inspector/InspectorDOMStorageResource.h: Removed.
975         * inspector/InspectorInstrumentation.cpp:
976         (WebCore):
977         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
978         * inspector/InspectorInstrumentation.h:
979         (InspectorInstrumentation):
980         * inspector/InspectorPageAgent.cpp:
981         (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
982         (WebCore):
983         * inspector/InspectorPageAgent.h:
984         (InspectorPageAgent):
985         * inspector/front-end/DOMStorage.js:
986         (WebInspector.DOMStorage):
987         (WebInspector.DOMStorage.storageId):
988         (WebInspector.DOMStorage.prototype.get id):
989         (WebInspector.DOMStorage.prototype.get securityOrigin):
990         (WebInspector.DOMStorage.prototype.getItems):
991         (WebInspector.DOMStorage.prototype.setItem):
992         (WebInspector.DOMStorage.prototype.removeItem):
993         (WebInspector.DOMStorageModel):
994         (WebInspector.DOMStorageModel.prototype._securityOriginAdded):
995         (WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
996         (WebInspector.DOMStorageModel.prototype._storageKey):
997         (WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
998         (WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
999         (WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
1000         (WebInspector.DOMStorageModel.prototype.storageForId):
1001         (WebInspector.DOMStorageModel.prototype.storages):
1002         * inspector/front-end/DOMStorageItemsView.js:
1003         (WebInspector.DOMStorageItemsView.prototype._update):
1004         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageItems):
1005         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageItems):
1006         * inspector/front-end/ResourcesPanel.js:
1007         (WebInspector.ResourcesPanel):
1008         (WebInspector.ResourcesPanel.prototype._initialize):
1009         (WebInspector.ResourcesPanel.prototype._domStorageAdded):
1010         (WebInspector.ResourcesPanel.prototype._domStorageRemoved):
1011         (WebInspector.ResourcesPanel.prototype._populateDOMStorageTree):
1012         (WebInspector.DOMStorageTreeElement):
1013         (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
1014         * page/DOMWindow.cpp:
1015         (WebCore::DOMWindow::sessionStorage):
1016         (WebCore::DOMWindow::localStorage):
1017
1018 2013-02-19  Eugene Klyuchnikov  <eustas@chromium.org>
1019
1020         Web Inspector: [Console] Add console API message types for profile/profileEnd.
1021         https://bugs.webkit.org/show_bug.cgi?id=109790
1022
1023         Reviewed by Pavel Feldman.
1024
1025         With profile/profileEnd message types we will gain more control over
1026         output messages.
1027
1028         * English.lproj/localizedStrings.js: Added corresponging strings.
1029         * inspector/ConsoleAPITypes.h: Added enum members.
1030         * inspector/Inspector.json: Ditto.
1031         * inspector/front-end/ConsoleModel.js: Ditto.
1032         * inspector/ConsoleMessage.cpp:
1033         (WebCore::messageTypeValue): Added cases.
1034         * inspector/InspectorProfilerAgent.cpp: Adopted changes.
1035         * inspector/front-end/inspector.js: Ditto.
1036         * inspector/front-end/ConsoleMessage.js:
1037         Added message generators for introduced message types.
1038         * inspector/front-end/ProfilesPanel.js:
1039         Turned showProfileForURL(url) to showProfile(typeId, uid).
1040         * inspector/front-end/ProfilesPanelDescriptor.js:
1041         (WebInspector.ProfilesPanelDescriptor.resolveProfileTitle): Added.
1042         * inspector/front-end/ResourceUtils.js: Removed linkifier plugins.
1043
1044 2013-02-21  Tamas Czene  <tczene@inf.u-szeged.hu>
1045
1046         OpenCL implementation of FEMerge filter.
1047         https://bugs.webkit.org/show_bug.cgi?id=110193
1048
1049         Reviewed by Zoltan Herczeg.
1050
1051         In case of odd number of parameters the first parameter is copied to the destination image and
1052         the rest of the parameters are merged in pairs.
1053
1054         * Target.pri:
1055         * platform/graphics/filters/FEMerge.h:
1056         (FEMerge):
1057         * platform/graphics/gpu/opencl/FilterContextOpenCL.h:
1058         (WebCore::FilterContextOpenCL::FilterContextOpenCL):
1059         (FilterContextOpenCL):
1060         * platform/graphics/gpu/opencl/OpenCLFEMerge.cpp: Added.
1061         (WebCore):
1062         (WebCore::FilterContextOpenCL::compileFEMerge):
1063         (WebCore::FilterContextOpenCL::copy): This is a simple copy method.
1064         (WebCore::FilterContextOpenCL::applyFEMerge):
1065         (WebCore::FEMerge::platformApplyOpenCL):
1066
1067 2013-02-21  Keishi Hattori  <keishi@webkit.org>
1068
1069         Add event dispatch class for the new calendar picker
1070         https://bugs.webkit.org/show_bug.cgi?id=110131
1071
1072         Reviewed by Kent Tamura.
1073
1074         Adding event dispatcher class as part of the new calendar picker patch at Bug 109439.
1075
1076         No new tests. Code is not yet used.
1077
1078         * Resources/pagepopups/calendarPicker.js:
1079         (EventEmitter):
1080         (EventEmitter.prototype.on): Adds a callback for an event.
1081         (EventEmitter.prototype.hasListener): Returns true if more than one listeners exist for an event type.
1082         (EventEmitter.prototype.removeListener): Removes an event listener.
1083         (EventEmitter.prototype.dispatchEvent): Dispatches an event to all callbacks. Takes variable number of arguments.
1084
1085 2013-02-21  Ken Kania  <kkania@chromium.org>
1086
1087         Web Inspector: Add command for selecting files for file input element
1088         https://bugs.webkit.org/show_bug.cgi?id=109308
1089
1090         Reviewed by Pavel Feldman.
1091
1092         Test: inspector-protocol/dom/setFileInputFiles.html
1093
1094         * inspector/Inspector.json:
1095         * inspector/InspectorClient.h:
1096         (WebCore::InspectorClient::canSetFileInputFiles):
1097         (InspectorClient):
1098         * inspector/InspectorController.cpp:
1099         (WebCore::InspectorController::InspectorController):
1100         * inspector/InspectorDOMAgent.cpp:
1101         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1102         (WebCore::InspectorDOMAgent::setFileInputFiles):
1103         (WebCore):
1104         * inspector/InspectorDOMAgent.h:
1105         (WebCore):
1106         (WebCore::InspectorDOMAgent::create):
1107         (InspectorDOMAgent):
1108
1109 2013-02-21  Pan Deng  <pan.deng@intel.com>
1110
1111         [Web Inspector]Add WebSocket networking events in Timeline panel.
1112         https://bugs.webkit.org/show_bug.cgi?id=105527.
1113
1114         Reviewed by Pavel Feldman.
1115
1116         This patch add four WebSocket networking events in Timeline panel. The Events
1117         are CreateWebSocket, SendWebSocketHandshakeRequest, ReceiveWebSocketHandShakeResponse
1118         and DestoryWebSocket. Thanks to Kitamura san's previous work.
1119
1120         Test: http/tests/inspector/websocket/timeline-websocket-event.html
1121
1122         * English.lproj/localizedStrings.js:
1123         * Modules/websockets/WebSocketChannel.cpp: Add protocol information
1124         (WebCore::WebSocketChannel::connect):
1125         * inspector/InspectorInstrumentation.cpp:
1126         (WebCore):
1127         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl): Add Timeline agent instrumentation for websocket
1128         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl): Ditto
1129         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl): Ditto
1130         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl): Ditto
1131         * inspector/InspectorInstrumentation.h:
1132         (InspectorInstrumentation):
1133         (WebCore::InspectorInstrumentation::didCreateWebSocket):
1134         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
1135         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
1136         (WebCore::InspectorInstrumentation::didCloseWebSocket):
1137         * inspector/InspectorTimelineAgent.cpp:
1138         (TimelineRecordType):
1139         (WebCore):
1140         (WebCore::InspectorTimelineAgent::didCreateWebSocket): Add Timeline record for websocket create
1141         (WebCore::InspectorTimelineAgent::addWebSocketRecord): Add general websocket record
1142         (WebCore::InspectorTimelineAgent::willSendWebSocketHandshakeRequest): Add Timeline record for websocket handshake request send
1143         (WebCore::InspectorTimelineAgent::didReceiveWebSocketHandshakeResponse): Add Timeline record for websocket handshake response receive
1144         (WebCore::InspectorTimelineAgent::didDestroyWebSocket): Add Timeline record for websocket destroy
1145         * inspector/InspectorTimelineAgent.h:
1146         (WebCore):
1147         (InspectorTimelineAgent):
1148         * inspector/TimelineRecordFactory.h:
1149         (TimelineRecordFactory):
1150         (WebCore::TimelineRecordFactory::createWebSocketCreateData):
1151         (WebCore::TimelineRecordFactory::createGenericWebSocketData):
1152         * inspector/front-end/TimelineModel.js: Add Timeline record type for websocket
1153         * inspector/front-end/TimelinePresentationModel.js:
1154         (WebInspector.TimelinePresentationModel._initRecordStyles):
1155         (WebInspector.TimelinePresentationModel.prototype.reset): Add slot to store WebSocket Create record
1156         (WebInspector.TimelinePresentationModel.Record):
1157         (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview): Add PopupContent for websocket record, including url and protocol
1158
1159 2013-02-21  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
1160
1161         [Qt] Fix pkg-config dependencies of QtWebKit itself
1162
1163         Reviewed by Simon Hausmann.
1164
1165         Don't override QMAKE_PKGCONFIG_REQUIRES needlessly.
1166
1167         * WebCore.pri:
1168
1169 2013-02-21  Nils Barth  <nbarth@google.com>
1170
1171         File upload control doesn't apply CSS vertical padding or border to file name
1172         https://bugs.webkit.org/show_bug.cgi?id=109011
1173
1174         Reviewed by Hajime Morrita.
1175
1176         Test: fast/forms/file/file-vertical-padding-border.html
1177
1178         * rendering/RenderFileUploadControl.cpp:
1179             Add borderTop() and paddingTop() when computing position.
1180         (WebCore::RenderFileUploadControl::paintObject):
1181
1182 2013-02-20  Alexey Proskuryakov  <ap@apple.com>
1183
1184         Stop hardcoding knowledge about blob protocol in ResourceHandle
1185         https://bugs.webkit.org/show_bug.cgi?id=110382
1186
1187         Reviewed by Anders Carlsson.
1188
1189         * platform/network/BlobRegistry.h:
1190         * platform/network/chromium/BlobRegistryProxy.h:
1191         Removed loadResourceSynchronously(). Chromium did not even implement it, and
1192         cross-platform code doesn't need it any more either.
1193
1194         * platform/network/BlobRegistryImpl.cpp:
1195         (WebCore::loadResourceSynchronously): A function to load a blob synchronously,
1196         suitable for being in a ResourceHandle map.
1197         (WebCore::registerBlobResourceHandleConstructor): Register loadResourceSynchronously too.
1198         (WebCore::BlobRegistryImpl::createResourceHandle): Don't make policy decisions here,
1199         it's just a registry. Moved code for checking request method down to BlobResourceHandle.
1200
1201         * platform/network/BlobRegistryImpl.h: Removed BlobRegistryImpl::loadResourceSynchronously().
1202         A registry shouldn't load resources, and it already has enough accessors to implement
1203         this externally.
1204
1205         * platform/network/BlobResourceHandle.h:
1206         * platform/network/BlobResourceHandle.cpp:
1207         (WebCore::BlobResourceHandle::createAsync): Renamed from create(), to make it clear
1208         that it's not OK to call from synchronous loader. Moved method check here.
1209         (WebCore::BlobResourceHandle::loadResourceSynchronously): Moved method check here.
1210         We used to fall through to NSURLConnection based loader when method was not GET,
1211         which of course resulted in an error eventually, but was just wrong.
1212
1213         * platform/network/ResourceHandle.cpp:
1214         (WebCore::builtinResourceHandleSynchronousLoaderMap): Added a map for synchronous case.
1215         (WebCore::ResourceHandle::registerBuiltinSynchronousLoader): Ditto.
1216         (WebCore::ResourceHandle::loadResourceSynchronously): We no longer need to hardcode
1217         knowledge about blobRegistry and blobs here.
1218
1219         * platform/network/ResourceHandle.h: Added registerBuiltinSynchronousLoader().
1220
1221         * platform/network/chromium/ResourceHandle.h: Removed loadResourceSynchronously(),
1222         which was not implemented for Chromium.
1223
1224 2013-02-20  Vsevolod Vlasov  <vsevik@chromium.org>
1225
1226         Web Inspector: TabbedEditorContainer and OpenResourceDialog should show uiSourceCode path and name instead of parsedURL
1227         https://bugs.webkit.org/show_bug.cgi?id=110334
1228
1229         Reviewed by Alexander Pavlov.
1230
1231         Introduced uiSourceCode.name() that returns a name based on uiSourceCode path.
1232         OpenResourceDialog now shows uiSourceCode workspace path as a subtitle.
1233         TabbedEditorContainer now shows uiSourceCode name in the tab header.
1234
1235         * inspector/front-end/FilteredItemSelectionDialog.js:
1236         (WebInspector.OpenResourceDialog.filterOutEmptyURLs):
1237         (WebInspector.OpenResourceDialog):
1238         (WebInspector.OpenResourceDialog.prototype.itemTitleAt):
1239         (WebInspector.OpenResourceDialog.prototype.itemSubtitleAt):
1240         (WebInspector.OpenResourceDialog.prototype.itemKeyAt):
1241         * inspector/front-end/NavigatorView.js:
1242         (WebInspector.NavigatorView.prototype._updateScriptTitle):
1243         * inspector/front-end/TabbedEditorContainer.js:
1244         (WebInspector.TabbedEditorContainer.prototype._titleForFile):
1245         * inspector/front-end/UISourceCode.js:
1246         (WebInspector.UISourceCode.prototype.name):
1247
1248 2013-02-20  Pavel Feldman  <pfeldman@chromium.org>
1249
1250         Web Inspector: debugger buttons are scrolled along with the sidebar content.
1251         https://bugs.webkit.org/show_bug.cgi?id=110434
1252
1253         Reviewed by Vsevolod Vlasov.
1254
1255         * inspector/front-end/scriptsPanel.css:
1256         (div.sidebar-pane-stack#scripts-debug-sidebar-contents, #scripts-sidebar-stack-pane):
1257
1258 2013-02-20  Wei James  <james.wei@intel.com>
1259
1260         ChannelMergerNode may need check for deferred updating of output channels
1261         https://bugs.webkit.org/show_bug.cgi?id=108863
1262
1263         There can in rare cases be a slight delay before the output bus is updated
1264         to the new number of channels because of tryLocks() in the context's
1265         updating system. So need to check the channel number before processing.
1266
1267         Reviewed by Chris Rogers.
1268
1269         * Modules/webaudio/ChannelMergerNode.cpp:
1270         (WebCore::ChannelMergerNode::ChannelMergerNode):
1271         (WebCore::ChannelMergerNode::process):
1272         (WebCore::ChannelMergerNode::checkNumberOfChannelsForInput):
1273         * Modules/webaudio/ChannelMergerNode.h:
1274         (ChannelMergerNode):
1275
1276 2013-02-20  Pan Deng  <pan.deng@intel.com>
1277
1278         [Web Inspector] Fix Sort by Initiator functionality of Network Panel.
1279         https://bugs.webkit.org/show_bug.cgi?id=109135.
1280
1281         Reviewed by Pavel Feldman.
1282
1283         A refactor for request initiator types, and the sort by Initiator functionality 
1284         was changed to sort by url and line number that displayed in initiator cell.
1285
1286         No new tests.
1287
1288         * inspector/front-end/NetworkPanel.js:
1289         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell): save initiator displayedURL and displayedLineNumber
1290         (WebInspector.NetworkDataGridNode.InitiatorComparator):
1291         * inspector/front-end/NetworkRequest.js:
1292
1293 2013-02-20  Eric Seidel  <eric@webkit.org>
1294
1295         WebVTTParser copies character buffer more often than necessary
1296         https://bugs.webkit.org/show_bug.cgi?id=103319
1297
1298         Reviewed by Eric Carlson.
1299
1300         Previously this codepath was creating a String just to parse the timestamp
1301         and then if the timestamp was valid, was creating a second string.
1302         I've fixed it to only create one string and use it in both places.
1303         I also fixed this codepath to use 8bit strings when possible, per the FIXME.
1304
1305         * html/track/WebVTTParser.cpp:
1306         (WebCore::WebVTTParser::constructTreeFromToken):
1307
1308 2013-02-20  Mike West  <mkwst@chromium.org>
1309
1310         Mouseup event does not fire on Scroll Bar
1311         https://bugs.webkit.org/show_bug.cgi?id=25811
1312
1313         Reviewed by Tony Chang.
1314
1315         Currently, clicking on a scrollbar fires a mousedown event, but not a
1316         mouseup event. This causes problems for code like jQuery UI's
1317         draggable[1], as the drag starts, but is never cancelled. Other use
1318         cases are noted in the slightly old Chromium bug[2].
1319
1320         If a mouseup event is received after a mousedown event on a scrollbar,
1321         this patch dispatches a mouseup event on the same node the mousedown
1322         event dispatched on. This matches Gecko's behavior.
1323
1324         [1]: http://bugs.jqueryui.com/ticket/6925
1325         [2]: http://crbug.com/14204
1326
1327         Tests: fast/scrolling/scrollbar-mousedown-mouseup.html
1328                fast/scrolling/scrollbar-mousedown-move-mouseup.html
1329
1330         * page/EventHandler.cpp:
1331         (WebCore::EventHandler::handleMouseReleaseEvent):
1332             If a mouseup event follow a mousedown event on a scrollbar,
1333             dispatch an event on the same node from which the mousedown event
1334             was triggered.
1335
1336 2013-02-20  Takashi Sakamoto  <tasak@google.com>
1337
1338         [Refactoring] Make m_state an on-stack object
1339         https://bugs.webkit.org/show_bug.cgi?id=109909
1340
1341         Reviewed by Antti Koivisto.
1342
1343         Mode m_state, an instance of StyleResolver::State, an on-stack object.
1344         The state is only required in styleForElement, styleForKeyframe and
1345         so on. No need to keep the state outside of those methods.
1346
1347         No new tests, because just refactoring.
1348
1349         * css/BasicShapeFunctions.cpp:
1350         (WebCore::convertToLength):
1351         (WebCore::basicShapeForValue):
1352         * css/BasicShapeFunctions.h:
1353         (WebCore):
1354         Replaced StyleResolver* with StyleResolver::State&.
1355         * css/CSSGradientValue.cpp:
1356         (WebCore::CSSGradientValue::gradientWithStylesResolved):
1357         * css/CSSGradientValue.h:
1358         (CSSGradientValue):
1359         Replaced StyleResolver* with StyleResolver::State&.
1360         * css/CSSToStyleMap.cpp:
1361         (WebCore::CSSToStyleMap::style):
1362         (WebCore::CSSToStyleMap::rootElementStyle):
1363         (WebCore::CSSToStyleMap::useSVGZoomRules):
1364         (WebCore::CSSToStyleMap::styleImage):
1365         * css/CSSToStyleMap.h:
1366         (WebCore):
1367         (WebCore::CSSToStyleMap::CSSToStyleMap):
1368         (CSSToStyleMap):
1369         Replaced StyleResolver* with StyleResolver::State&.
1370         * css/SVGCSSStyleSelector.cpp:
1371         (WebCore::StyleResolver::applySVGProperty):
1372         Replaced m_state with state which is given as an argument of
1373         applySVGProperty.
1374         * css/StyleBuilder.cpp:
1375         (WebCore::ApplyPropertyExpanding::applyInheritValue):
1376         (WebCore::ApplyPropertyExpanding::applyInitialValue):
1377         (WebCore::ApplyPropertyExpanding::applyValue):
1378         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
1379         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
1380         (WebCore::ApplyPropertyDefaultBase::applyValue):
1381         (WebCore::ApplyPropertyDefault::applyValue):
1382         (WebCore::ApplyPropertyNumber::applyValue):
1383         (WebCore::ApplyPropertyStyleImage::applyValue):
1384         (WebCore::ApplyPropertyAuto::applyInheritValue):
1385         (WebCore::ApplyPropertyAuto::applyInitialValue):
1386         (WebCore::ApplyPropertyAuto::applyValue):
1387         (WebCore::ApplyPropertyClip::convertToLength):
1388         (WebCore::ApplyPropertyClip::applyInheritValue):
1389         (WebCore::ApplyPropertyClip::applyInitialValue):
1390         (WebCore::ApplyPropertyClip::applyValue):
1391         (WebCore::ApplyPropertyColor::applyInheritValue):
1392         (WebCore::ApplyPropertyColor::applyInitialValue):
1393         (WebCore::ApplyPropertyColor::applyValue):
1394         (WebCore::ApplyPropertyColor::applyColorValue):
1395         (WebCore::ApplyPropertyDirection::applyValue):
1396         (WebCore::ApplyPropertyLength::applyValue):
1397         (WebCore::ApplyPropertyString::applyValue):
1398         (WebCore::ApplyPropertyBorderRadius::applyValue):
1399         (WebCore::ApplyPropertyFillLayer::applyInheritValue):
1400         (WebCore::ApplyPropertyFillLayer::applyInitialValue):
1401         (WebCore::ApplyPropertyFillLayer::applyValue):
1402         (WebCore::ApplyPropertyComputeLength::applyValue):
1403         (WebCore::ApplyPropertyFont::applyInheritValue):
1404         (WebCore::ApplyPropertyFont::applyInitialValue):
1405         (WebCore::ApplyPropertyFont::applyValue):
1406         (WebCore::ApplyPropertyFontSize::applyInheritValue):
1407         (WebCore::ApplyPropertyFontSize::applyInitialValue):
1408         (WebCore::ApplyPropertyFontSize::applyValue):
1409         (WebCore::ApplyPropertyFontWeight::applyValue):
1410         (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
1411         (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
1412         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
1413         (WebCore::ApplyPropertyBorderImage::applyValue):
1414         (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
1415         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
1416         (WebCore::ApplyPropertyBorderImageModifier::applyValue):
1417         (WebCore::ApplyPropertyBorderImageSource::applyValue):
1418         (WebCore::ApplyPropertyCounter::emptyFunction):
1419         (WebCore::ApplyPropertyCounter::applyInheritValue):
1420         (WebCore::ApplyPropertyCounter::applyValue):
1421         (WebCore::ApplyPropertyCursor::applyInheritValue):
1422         (WebCore::ApplyPropertyCursor::applyInitialValue):
1423         (WebCore::ApplyPropertyCursor::applyValue):
1424         (WebCore::ApplyPropertyTextAlign::applyValue):
1425         (WebCore::ApplyPropertyTextDecoration::applyValue):
1426         (WebCore::ApplyPropertyLineHeight::applyValue):
1427         (WebCore::ApplyPropertyPageSize::applyInheritValue):
1428         (WebCore::ApplyPropertyPageSize::applyInitialValue):
1429         (WebCore::ApplyPropertyPageSize::applyValue):
1430         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
1431         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
1432         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
1433         (WebCore::ApplyPropertyAnimation::map):
1434         (WebCore::ApplyPropertyAnimation::applyInheritValue):
1435         (WebCore::ApplyPropertyAnimation::applyInitialValue):
1436         (WebCore::ApplyPropertyAnimation::applyValue):
1437         (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
1438         (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
1439         (WebCore::ApplyPropertyOutlineStyle::applyValue):
1440         (WebCore::ApplyPropertyResize::applyValue):
1441         (WebCore::ApplyPropertyVerticalAlign::applyValue):
1442         (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
1443         (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
1444         (WebCore::ApplyPropertyAspectRatio::applyValue):
1445         (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
1446         (WebCore::ApplyPropertyZoom::applyInheritValue):
1447         (WebCore::ApplyPropertyZoom::applyInitialValue):
1448         (WebCore::ApplyPropertyZoom::applyValue):
1449         (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
1450         (WebCore::ApplyPropertyDisplay::applyInheritValue):
1451         (WebCore::ApplyPropertyDisplay::applyInitialValue):
1452         (WebCore::ApplyPropertyDisplay::applyValue):
1453         (WebCore::ApplyPropertyClipPath::applyValue):
1454         (WebCore::ApplyPropertyExclusionShape::applyValue):
1455         (WebCore::ApplyPropertyImageResolution::applyInheritValue):
1456         (WebCore::ApplyPropertyImageResolution::applyInitialValue):
1457         (WebCore::ApplyPropertyImageResolution::applyValue):
1458         * css/StyleBuilder.h:
1459         (WebCore):
1460         (PropertyHandler):
1461         (WebCore::PropertyHandler::applyInheritValue):
1462         (WebCore::PropertyHandler::applyInitialValue):
1463         (WebCore::PropertyHandler::applyValue):
1464         Replaced StyleResolver* with StyleResolver::State&.
1465         * css/StyleResolver.cpp:
1466         (WebCore):
1467         (WebCore::StyleResolver::StyleResolver):
1468         Removed m_styleMap. Now m_styleMap is an on-stack object.
1469         (WebCore::StyleResolver::collectMatchingRules):
1470         (WebCore::StyleResolver::collectMatchingRulesForRegion):
1471         (WebCore::StyleResolver::sortAndTransferMatchedRules):
1472         (WebCore::StyleResolver::matchScopedAuthorRules):
1473         (WebCore::StyleResolver::styleSharingCandidateMatchesHostRules):
1474         (WebCore::StyleResolver::matchHostRules):
1475         (WebCore::StyleResolver::matchAuthorRules):
1476         (WebCore::StyleResolver::matchUserRules):
1477         (WebCore::StyleResolver::matchUARules):
1478         (WebCore::StyleResolver::collectMatchingRulesForList):
1479         (WebCore::StyleResolver::sortMatchedRules):
1480         (WebCore::StyleResolver::matchAllRules):
1481         (WebCore::StyleResolver::initElement):
1482         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
1483         (WebCore::StyleResolver::canShareStyleWithControl):
1484         (WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
1485         (WebCore::StyleResolver::canShareStyleWithElement):
1486         (WebCore::StyleResolver::findSiblingForStyleSharing):
1487         (WebCore::StyleResolver::locateSharedStyle):
1488         (WebCore::StyleResolver::styleForElement):
1489         (WebCore::StyleResolver::styleForKeyframe):
1490         (WebCore::StyleResolver::keyframeStylesForAnimation):
1491         (WebCore::StyleResolver::pseudoStyleForElement):
1492         (WebCore::StyleResolver::styleForPage):
1493         (WebCore::StyleResolver::defaultStyleForElement):
1494         (WebCore::StyleResolver::adjustRenderStyle):
1495         (WebCore::StyleResolver::updateFont):
1496         (WebCore::StyleResolver::pseudoStyleRulesForElement):
1497         (WebCore::StyleResolver::ruleMatches):
1498         (WebCore::StyleResolver::checkRegionSelector):
1499         (WebCore::StyleResolver::applyProperties):
1500         (WebCore::StyleResolver::applyMatchedProperties):
1501         (WebCore::StyleResolver::isLeftPage):
1502         (WebCore::StyleResolver::applyPropertyWithNullCheck):
1503         (WebCore::StyleResolver::applyFontPropertyToStyle):
1504         (WebCore::StyleResolver::resolveVariables):
1505         (WebCore::StyleResolver::applyProperty):
1506         (WebCore::StyleResolver::styleImage):
1507         (WebCore::StyleResolver::cachedOrPendingFromValue):
1508         (WebCore::StyleResolver::generatedOrPendingFromValue):
1509         (WebCore::StyleResolver::setOrPendingFromValue):
1510         (WebCore::StyleResolver::cursorOrPendingFromValue):
1511         (WebCore::StyleResolver::checkForTextSizeAdjust):
1512         (WebCore::StyleResolver::checkForZoomChange):
1513         (WebCore::StyleResolver::checkForGenericFamilyChange):
1514         (WebCore::StyleResolver::initializeFontStyle):
1515         (WebCore::StyleResolver::setFontSize):
1516         (WebCore::StyleResolver::colorFromPrimitiveValue):
1517         (WebCore::StyleResolver::loadPendingSVGDocuments):
1518         (WebCore::StyleResolver::styleShader):
1519         (WebCore::StyleResolver::cachedOrPendingStyleShaderFromValue):
1520         (WebCore::StyleResolver::loadPendingShaders):
1521         (WebCore::StyleResolver::parseCustomFilterTransformParameter):
1522         (WebCore::StyleResolver::parseCustomFilterParameter):
1523         (WebCore::StyleResolver::parseCustomFilterParameterList):
1524         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
1525         (WebCore::StyleResolver::createCustomFilterOperation):
1526         (WebCore::StyleResolver::createFilterOperations):
1527         (WebCore::StyleResolver::loadPendingImage):
1528         (WebCore::StyleResolver::loadPendingImages):
1529         (WebCore::StyleResolver::loadPendingResources):
1530         Just replaced m_state with state and added one more parameter to
1531         provide the state.
1532         (WebCore::StyleResolver::reportMemoryUsage):
1533         Since m_state was removed, removed a code for reporting m_state's
1534         memory usage.
1535         * css/StyleResolver.h:
1536         (StyleResolver):
1537         (WebCore::StyleResolver::isRightPage):
1538         (WebCore::StyleResolver::State::State):
1539         (WebCore::StyleResolver::State::document):
1540         Since State::m_element is not always available (sometimes, 0),
1541         added m_document to State and modified to return the m_document.
1542         (WebCore::StyleResolver::State::useSVGZoomRules):
1543         Moved StyleResolver to State.
1544         (State):
1545         * html/canvas/CanvasRenderingContext2D.cpp:
1546         (WebCore::CanvasRenderingContext2D::setFont):
1547         Moved the code, updating a style by using a given StylePropertySet,
1548         to StyleResolver.
1549
1550 2013-02-20  Ojan Vafai  <ojan@chromium.org>
1551
1552         AutoTableLayout applies min-width redundantly with RenderTable
1553         https://bugs.webkit.org/show_bug.cgi?id=110426
1554
1555         Reviewed by Emil A Eklund.
1556
1557         * rendering/AutoTableLayout.cpp:
1558         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
1559         This code used to do something, but has since been superceded by
1560         code in RenderTable::computePreferredLogicalWidths.
1561
1562 2013-02-20  Dirk Schulze  <krit@webkit.org>
1563
1564         Enable CANVAS_PATH flag
1565         https://bugs.webkit.org/show_bug.cgi?id=108508
1566
1567         Uneviewed attempt to fix Qt minimal build.
1568
1569         * html/canvas/DOMPath.h:
1570         (WebCore::DOMPath::DOMPath):
1571
1572 \2013-02-20  Mark Lam  <mark.lam@apple.com>
1573
1574         Rename DatabaseBackendAsync to DatabaseBackend.
1575         https://bugs.webkit.org/show_bug.cgi?id=110422.
1576
1577         Reviewed by Geoffrey Garen.
1578
1579         This is a purely cosmetic change to make the naming consistent with
1580         the front-end Database.
1581
1582         No new tests.
1583
1584         * CMakeLists.txt:
1585         * GNUmakefile.list.am:
1586         * Modules/webdatabase/ChangeVersionWrapper.cpp:
1587         (WebCore::ChangeVersionWrapper::performPreflight):
1588         (WebCore::ChangeVersionWrapper::performPostflight):
1589         * Modules/webdatabase/Database.cpp:
1590         (WebCore::Database::Database):
1591         (WebCore::Database::from):
1592         (WebCore::Database::backend):
1593         * Modules/webdatabase/Database.h:
1594         * Modules/webdatabase/DatabaseBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackendAsync.cpp.
1595         (WebCore::DatabaseBackend::DatabaseBackend):
1596         (WebCore::DatabaseBackend::openAndVerifyVersion):
1597         (WebCore::DatabaseBackend::performOpenAndVerify):
1598         (WebCore::DatabaseBackend::close):
1599         (WebCore::DatabaseBackend::runTransaction):
1600         (WebCore::DatabaseBackend::inProgressTransactionCompleted):
1601         (WebCore::DatabaseBackend::scheduleTransaction):
1602         (WebCore::DatabaseBackend::scheduleTransactionStep):
1603         (WebCore::DatabaseBackend::transactionClient):
1604         (WebCore::DatabaseBackend::transactionCoordinator):
1605         * Modules/webdatabase/DatabaseBackend.h: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackendAsync.h.
1606         * Modules/webdatabase/DatabaseBackendAsync.cpp: Removed.
1607         * Modules/webdatabase/DatabaseBackendAsync.h: Removed.
1608         * Modules/webdatabase/DatabaseBackendBase.cpp:
1609         (WebCore::DatabaseBackendBase::~DatabaseBackendBase):
1610         * Modules/webdatabase/DatabaseManager.cpp:
1611         * Modules/webdatabase/DatabaseServer.cpp:
1612         * Modules/webdatabase/DatabaseTask.cpp:
1613         (WebCore::DatabaseTask::DatabaseTask):
1614         (WebCore::DatabaseBackend::DatabaseOpenTask::DatabaseOpenTask):
1615         (WebCore::DatabaseBackend::DatabaseOpenTask::doPerformTask):
1616         (WebCore::DatabaseBackend::DatabaseOpenTask::debugTaskName):
1617         (WebCore::DatabaseBackend::DatabaseCloseTask::DatabaseCloseTask):
1618         (WebCore::DatabaseBackend::DatabaseCloseTask::doPerformTask):
1619         (WebCore::DatabaseBackend::DatabaseCloseTask::debugTaskName):
1620         (WebCore::DatabaseBackend::DatabaseTransactionTask::DatabaseTransactionTask):
1621         (WebCore::DatabaseBackend::DatabaseTransactionTask::~DatabaseTransactionTask):
1622         (WebCore::DatabaseBackend::DatabaseTransactionTask::doPerformTask):
1623         (WebCore::DatabaseBackend::DatabaseTransactionTask::debugTaskName):
1624         (WebCore::DatabaseBackend::DatabaseTableNamesTask::DatabaseTableNamesTask):
1625         (WebCore::DatabaseBackend::DatabaseTableNamesTask::doPerformTask):
1626         (WebCore::DatabaseBackend::DatabaseTableNamesTask::debugTaskName):
1627         * Modules/webdatabase/DatabaseTask.h:
1628         (WebCore::DatabaseTask::database):
1629         (DatabaseTask):
1630         (WebCore::DatabaseBackend::DatabaseOpenTask::create):
1631         (DatabaseBackend::DatabaseOpenTask):
1632         (WebCore::DatabaseBackend::DatabaseCloseTask::create):
1633         (DatabaseBackend::DatabaseCloseTask):
1634         (WebCore::DatabaseBackend::DatabaseTableNamesTask::create):
1635         (DatabaseBackend::DatabaseTableNamesTask):
1636         * Modules/webdatabase/DatabaseThread.cpp:
1637         (WebCore::DatabaseThread::recordDatabaseOpen):
1638         (WebCore::DatabaseThread::recordDatabaseClosed):
1639         (WebCore::SameDatabasePredicate::SameDatabasePredicate):
1640         (SameDatabasePredicate):
1641         (WebCore::DatabaseThread::unscheduleDatabaseTasks):
1642         * Modules/webdatabase/DatabaseThread.h:
1643         * Modules/webdatabase/SQLStatementBackend.cpp:
1644         (WebCore::SQLStatementBackend::execute):
1645         (WebCore::SQLStatementBackend::setDatabaseDeletedError):
1646         (WebCore::SQLStatementBackend::setVersionMismatchedError):
1647         (WebCore::SQLStatementBackend::setFailureDueToQuota):
1648         * Modules/webdatabase/SQLStatementBackend.h:
1649         * Modules/webdatabase/SQLTransactionBackend.cpp:
1650         (WebCore::SQLTransactionBackend::create):
1651         (WebCore::SQLTransactionBackend::SQLTransactionBackend):
1652         * Modules/webdatabase/SQLTransactionBackend.h:
1653         (WebCore::SQLTransactionBackend::database):
1654         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
1655         (WebCore::getDatabaseIdentifier):
1656         * Target.pri:
1657         * WebCore.gypi:
1658         * WebCore.vcproj/WebCore.vcproj:
1659         * WebCore.vcxproj/WebCore.vcxproj:
1660         * WebCore.vcxproj/WebCore.vcxproj.filters:
1661         * WebCore.xcodeproj/project.pbxproj:
1662
1663 2013-02-20  David Kilzer  <ddkilzer@apple.com>
1664
1665         Upstream SharedTimerIOS.mm
1666         <http://webkit.org/b/110161>
1667
1668         Reviewed by Benjamin Poulain.
1669
1670         * Configurations/WebCore.xcconfig:
1671         (EXCLUDED_SOURCE_FILE_NAMES_iphoneos): Add SharedTimerMac.mm.
1672         * WebCore.xcodeproj/project.pbxproj: Add SharedTimerIOS.mm.
1673         * platform/ios/SharedTimerIOS.mm: Add.
1674         (WebCore):
1675         (-[WebCoreResumeNotifierIOS init]):
1676         (-[WebCoreResumeNotifierIOS dealloc]):
1677         (-[WebCoreResumeNotifierIOS didWake]):
1678         (WebCore::setSharedTimerFiredFunction):
1679         (WebCore::timerFired):
1680         (WebCore::setSharedTimerFireInterval):
1681         (WebCore::stopSharedTimer):
1682
1683 2013-02-20  Ojan Vafai  <ojan@chromium.org>
1684
1685         Speculative fix for EFL and Windows compilers not realizing
1686         that all possible cases have a return value from this switch.
1687
1688         * rendering/RenderBox.cpp:
1689         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
1690
1691 2013-02-20  David Hyatt  <hyatt@apple.com>
1692
1693         [New Multicolumn] Fix overflow computation for column blocks.
1694         https://bugs.webkit.org/show_bug.cgi?id=110392.
1695
1696         Reviewed by Simon Fraser.
1697
1698         * rendering/RenderBox.cpp:
1699         (WebCore::RenderBox::addOverflowFromChild):
1700         Exclude in-flow RenderFlowThreads from overflow propagation.
1701
1702         * rendering/RenderMultiColumnSet.h:
1703         * rendering/RenderRegion.h:
1704         (WebCore::RenderRegion::shouldHaveAutoLogicalHeight):
1705          * rendering/RenderRegionSet.h:
1706         (RenderRegionSet):
1707         Override shouldHaveAutoLogicalHeight to always be false
1708         for region sets and for columns. Eventually we're going to try
1709         to leverage this code to do column balancing, and that's why
1710         RenderMultiColumnSet has a unique override.
1711
1712 2013-02-20  Brandon Jones  <bajones@google.com>
1713  
1714         Printing WebGL canvases in Chrome uses stale data after first print
1715         https://bugs.webkit.org/show_bug.cgi?id=110003
1716  
1717         Reviewed by Kenneth Russell.
1718  
1719         Unable to validate printed content automatically. No regression in existing WebGL tests.
1720  
1721          * html/canvas/WebGLRenderingContext.cpp:
1722          (WebCore):
1723          (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
1724
1725 2013-02-20  Christian Biesinger  <cbiesinger@chromium.org>
1726
1727         Incorrect rendering for flex boxes with percentage height in a table cell
1728         https://bugs.webkit.org/show_bug.cgi?id=110389
1729
1730         Reviewed by Tony Chang.
1731
1732         Tests: css3/flexbox/flex-percentage-height-in-table-standards-mode.html
1733                css3/flexbox/flex-percentage-height-in-table.html
1734
1735         * rendering/RenderFlexibleBox.cpp:
1736         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
1737         Always update the logical height of the flex box, not just when it is
1738         auto. If necessary, the later updateLogicalHeight() call will adjust
1739         it.
1740
1741 2013-02-20  Philip Rogers  <pdr@google.com>
1742
1743         Account for transform in SVG background images
1744         https://bugs.webkit.org/show_bug.cgi?id=110295
1745
1746         Reviewed by Dirk Schulze.
1747
1748         Tiled SVG background images are rendererd by drawing the SVG content into a temporary
1749         image buffer, then stamping out a tiled pattern using this buffer. Previously the
1750         image buffer did not account for CSS transforms which could result in pixelated backgrounds.
1751
1752         This patch takes advantage of the context's transform when sizing the temporary tiling
1753         image buffer. Because the context's transform also includes scale, this patch simplifies
1754         the SVG image code to no longer track scale.
1755
1756         Test: svg/as-background-image/svg-transformed-background.html
1757
1758         * loader/cache/CachedImage.cpp:
1759         (WebCore):
1760         (WebCore::CachedImage::imageForRenderer):
1761
1762             CachedImage::lookupOrCreateImageForRenderer no longer creates images so it has been
1763             refactored into just "imageForRenderer". Previously there were two versions of
1764             lookupOrCreateImageForRenderer; these have been folded into imageForRenderer.
1765
1766         * loader/cache/CachedImage.h:
1767         * svg/graphics/SVGImage.cpp:
1768         (WebCore::SVGImage::drawPatternForContainer):
1769
1770             To create the temporary tiling image buffer, the final size in screen coordinates is
1771             needed. This is now computed using the current context's CTM. Because the CTM
1772             already includes the page scale, all page scale tracking can be removed.
1773
1774             The adjustments to srcRect and the pattern transform are the same as before, just
1775             refactored to use imageBufferScale which has x and y components.
1776
1777         * svg/graphics/SVGImage.h:
1778         * svg/graphics/SVGImageCache.cpp:
1779         (WebCore::SVGImageCache::setContainerSizeForRenderer):
1780
1781             Because the page scale needed to be cached between calls to
1782             setContainerSizeForRenderer, this function was written to modify an existing cache
1783             entry. Because the page scale no longer needs to be tracked, this code has been
1784             simplified to re-write any existing cache entry.
1785
1786         (WebCore::SVGImageCache::imageSizeForRenderer):
1787
1788             This function has been simplified by calling SVGImageForContainer::size() instead
1789             of computing this value manually. The value returned remains the same, containing
1790             the container size multiplied by zoom.
1791
1792         (WebCore::SVGImageCache::imageForRenderer):
1793
1794             Previously we set the page scale on every call to imageForRenderer. Because page scale
1795             no longer needs to be tracked, this function has been simplified to simply return
1796             the cached SVGImageForContainer.
1797
1798         * svg/graphics/SVGImageForContainer.cpp:
1799         (WebCore::SVGImageForContainer::drawPattern):
1800         * svg/graphics/SVGImageForContainer.h:
1801         (WebCore::SVGImageForContainer::create):
1802         (WebCore::SVGImageForContainer::SVGImageForContainer):
1803         (SVGImageForContainer):
1804
1805 2013-02-20  Jer Noble  <jer.noble@apple.com>
1806
1807         Crash in com.apple.WebKit2.WebProcessService at com.apple.avfoundation: __73-[AVAssetResourceLoader _attemptDelegateHandlingOfRequestWithDictionary:]_block_invoke + 51
1808         https://bugs.webkit.org/show_bug.cgi?id=110385
1809
1810         Reviewed by Eric Carlson.
1811
1812         Ensure AVFoundation does not attempt to message a dead object by explicitly disassociating
1813         the AVAssetResourceLoaderDelegate on MediaPlayerPrivateAVFoundationObjC destruction.
1814
1815         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1816         (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
1817
1818 2013-02-20  Ojan Vafai  <ojan@chromium.org>
1819
1820         Positioned, replaced elements with intrinsic width keywords compute the wrong width
1821         https://bugs.webkit.org/show_bug.cgi?id=110393
1822
1823         Reviewed by Emil A Eklund.
1824
1825         Test: fast/css-intrinsic-dimensions/intrinsic-sized-replaced-absolutes.html
1826
1827         * rendering/RenderBox.cpp:
1828         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
1829         Add the intrinsic size keywords to the switch. Confusingly, we have to
1830         subtract the border and padding since the callers expect the content width.
1831
1832         * rendering/RenderReplaced.cpp:
1833         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
1834         Don't do the intrinsic ratio calculation if the width is an
1835         intrinsic width keyword, as per, http://dev.w3.org/csswg/css3-sizing/#replaced-intrinsic.
1836
1837         (WebCore::RenderReplaced::computeIntrinsicLogicalWidths):
1838         (WebCore::RenderReplaced::computePreferredLogicalWidths):
1839         The old code was trying to apply the intrinsic ratio calculation to
1840         the intrinsic width, which is wrong per spec.
1841
1842 2013-02-20  Alec Flett  <alecflett@chromium.org>
1843
1844         LevelDB: Remove excess vector copy
1845         https://bugs.webkit.org/show_bug.cgi?id=110399
1846
1847         Reviewed by Tony Chang.
1848
1849         Remove an extra copy introduced by the makeVector function.
1850
1851         No new tests, this is covered by existing tests.
1852
1853         * platform/leveldb/LevelDBDatabase.cpp:
1854         (WebCore::LevelDBDatabase::safeGet):
1855
1856 2013-02-20  Simon Fraser  <simon.fraser@apple.com>
1857
1858         Zoomed, slow-scrolling pages keep recreating tiles when scrolled
1859         https://bugs.webkit.org/show_bug.cgi?id=110379
1860
1861         Reviewed by Tim Horton.
1862
1863         On slow-scrolling pages the TileCache makes the tiles the size of
1864         the visible rect to minimize per-tile painting overhead. If the size
1865         of that rect changes, the TileCache re-creates all the tiles.
1866         
1867         This was a problem whem zoomed, because mapping the visible rect
1868         through the scale transform and then rounding it would cause the
1869         size to keep changing, causing lots of tile re-creation.
1870         
1871         Fix by carrying the visibleRect around as a FloatRect, and doing
1872         the same for the exposedRect. We then only expand to integers
1873         when computing the tile size. This also fixes an issue where we could
1874         sometimes make extra tiles because of fractional bits of tiles at the edges,
1875         as shown by the test result change.
1876
1877         * platform/graphics/TiledBacking.h:
1878         * platform/graphics/ca/GraphicsLayerCA.cpp:
1879         (WebCore::GraphicsLayerCA::updateVisibleRect):
1880         * platform/graphics/ca/mac/TileCache.h:
1881         * platform/graphics/ca/mac/TileCache.mm:
1882         (WebCore::TileCache::setVisibleRect):
1883         (WebCore::TileCache::setExposedRect):
1884         (WebCore::TileCache::prepopulateRect):
1885         (WebCore::TileCache::computeTileCoverageRect):
1886         (WebCore::TileCache::tileSizeForCoverageRect):
1887         (WebCore::TileCache::blankPixelCountForTiles):
1888         (WebCore::TileCache::revalidateTiles):
1889         (WebCore::TileCache::ensureTilesForRect):
1890         * platform/graphics/ca/mac/WebTileLayer.mm:
1891         (-[WebTileLayer logFilledFreshTile]):
1892
1893 2013-02-20  Julien Chaffraix  <jchaffraix@webkit.org>
1894
1895         [CSS Grid Layout] Implement the auto-placement algorithm without grid growth
1896         https://bugs.webkit.org/show_bug.cgi?id=110277
1897
1898         Reviewed by Tony Chang.
1899
1900         Tests: fast/css-grid-layout/grid-item-addition-auto-placement-update.html
1901                fast/css-grid-layout/grid-item-removal-auto-placement-update.html
1902                fast/css-grid-layout/grid-auto-flow-resolution.html (extended to cover more cases)
1903
1904         This change implements most of the auto-placement algorithm per
1905         http://dev.w3.org/csswg/css3-grid-layout/#auto-placement-algo
1906
1907         To limit the size of the code change, it doesn't implement growing the grid if there
1908         are no empty grid areas. If we don't find any empty grid areas, we just insert in the first
1909         one, like what grid-auto-flow: none would do (which explains the test failures).
1910
1911         * rendering/RenderGrid.cpp:
1912         (WebCore::RenderGrid::GridIterator::nextEmptyGridArea):
1913         Added this function to return the GridCoordinate of the next empty grid area along
1914         the iterator's direction.
1915
1916         (WebCore::RenderGrid::placeItemsOnGrid):
1917         Split this function into the different steps below. For efficiency, collect the auto vs specified
1918         major axis grid items in different Vectors.
1919
1920         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
1921         Added this function that implements part of step 1 of the algorithm (the grid items without
1922         auto row / column are already handled in placeItemsOnGrid).
1923
1924         (WebCore::RenderGrid::placeAutoMajorAxisItemsOnGrid):
1925         Added this function that iterates over the auto grid items and call placeAutoMajorAxisItemOnGrid.
1926
1927         (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
1928         Added this method to handle the step 4 of the algorithm. Based on the minor axis's position,
1929         it either walks along the major axis once or several times until it finds an empty grid area
1930         for the grid item.
1931
1932         (WebCore::RenderGrid::autoPlacementMajorAxisPositionForChild):
1933         (WebCore::RenderGrid::autoPlacementMinorAxisPositionForChild):
1934         (WebCore::RenderGrid::autoPlacementMajorAxisDirection):
1935         (WebCore::RenderGrid::autoPlacementMinorAxisDirection):
1936         Added these helper functions that return minor / major axis positions & direction.
1937
1938         * rendering/RenderGrid.h:
1939         Added the previous new RenderGrid functions.
1940
1941 2013-02-20  Vincent Scheib  <scheib@chromium.org>
1942
1943         Accept 'allowfullscreen' in addition to 'webkitallowfullscreen'.
1944         https://bugs.webkit.org/show_bug.cgi?id=110374
1945
1946         Reviewed by Adam Barth.
1947
1948         The fullscreen API also includes a new HTML attribute for iframes
1949         which permits its use. That attribute, 'allowfullcreen' is now
1950         included in the HTML specification [1] and is stable enough
1951         to remove the webkit prefix.
1952
1953         [1] http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-allowfullscreen
1954
1955         Tests: fullscreen/full-screen-enabled-prefixed.html
1956                fullscreen/full-screen-iframe-allowed-prefixed.html
1957                fullscreen/full-screen-iframe-with-mixed-allow-webkitallow-attribute.html
1958
1959         * dom/Document.cpp:
1960         (WebCore::isAttributeOnAllOwners):
1961         (WebCore::Document::fullScreenIsAllowedForElement):
1962         (WebCore::Document::webkitFullscreenEnabled):
1963         * html/HTMLAttributeNames.in:
1964
1965 2013-02-20  Roger Fong  <roger_fong@apple.com>
1966
1967         Unreviewed. Remove references to SAFARI_THEME from Windows Solution.
1968         <rdar://problem/13258710>
1969
1970         * config.h:
1971         * page/Settings.cpp:
1972         * page/Settings.h:
1973         * platform/win/ScrollbarThemeWin.cpp:
1974         * rendering/RenderThemeWin.cpp:
1975
1976 2013-02-20  Roger Fong  <roger_fong@apple.com>
1977
1978         Get VS2010 Solution B&I ready.
1979         <rdar://problem/1322988>
1980
1981         Rubberstamped by Timothy Horton.
1982
1983         Add Production configuration. 
1984         Add a WebCore submit solution with a DebugSuffix configuration. 
1985         Modify WebCore.make as necessary.
1986         
1987         * DerivedSources.make:
1988         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj:
1989         * WebCore.vcxproj/QTMovieWin/QTMovieWinCommon.props:
1990         * WebCore.vcxproj/QTMovieWin/QTMovieWinProduction.props: Added.
1991         * WebCore.vcxproj/QTMovieWin/QTMovieWinRelease.props:
1992         * WebCore.vcxproj/WebCore.make: Added.
1993         * WebCore.vcxproj/WebCore.sln: Removed.
1994         * WebCore.vcxproj/WebCore.submit.sln: Copied from Source/WebCore/WebCore.vcxproj/WebCore.sln.
1995         * WebCore.vcxproj/WebCore.vcxproj:
1996         * WebCore.vcxproj/WebCoreGenerated.vcxproj:
1997         * WebCore.vcxproj/WebCoreGeneratedProduction.props: Added.
1998         * WebCore.vcxproj/WebCoreGeneratedRelease.props:
1999         * WebCore.vcxproj/WebCoreProduction.props: Added.
2000         * WebCore.vcxproj/WebCoreRelease.props:
2001         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
2002
2003 2013-02-20  Adam Klein  <adamk@chromium.org>
2004
2005         [v8] Fix an erroneous WrapperGrouper call in preparation for refactoring
2006         https://bugs.webkit.org/show_bug.cgi?id=110396
2007
2008         Reviewed by Kentaro Hara.
2009
2010         This is in preparation for a refactor to expose a simplified
2011         WrapperGrouper interface to V8 wrapper classes enabling them to
2012         specify multiple roots per wrapper object. 
2013
2014         * bindings/v8/V8GCController.cpp: Since MutationObservers are not Nodes, the correct call here is addObjectToGroup, as it is for all other non-Node wrappers.
2015
2016 2013-02-20  Levi Weintraub  <leviw@chromium.org>
2017
2018         Line layout (but not pref widths) double-counts word spacing when between inlines
2019         https://bugs.webkit.org/show_bug.cgi?id=110381
2020
2021         Reviewed by Emil A Eklund.
2022
2023         When a word break with a space occurs between inlines and word-spacing is non-zero,
2024         line layout incorrectly committed the word-spacing value to the line twice, causing
2025         wrapping in inline-blocks. To fix this, clear the word-spacing value when between
2026         words and ignoring spaces, as we will already have added the word-spacing to the
2027         line.
2028
2029         Test: fast/text/word-space-between-inlines.html
2030
2031         * rendering/RenderBlockLineLayout.cpp:
2032         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
2033
2034 2013-02-20  Nate Chapin  <japhet@chromium.org>
2035
2036         Crash in WebCore::FrameLoader::checkCompleted()
2037         https://bugs.webkit.org/show_bug.cgi?id=110237
2038
2039         Reviewed by Abhishek Arya.
2040
2041         Test: http/tests/misc/delete-frame-during-readystatechange.html
2042
2043         * loader/FrameLoader.cpp:
2044         (WebCore::FrameLoader::checkCompleted): Protect before setReadyState() is called.
2045
2046 2013-02-20  David Grogan  <dgrogan@chromium.org>
2047
2048         IndexedDB: Limit LevelDB's max open files
2049         https://bugs.webkit.org/show_bug.cgi?id=109993
2050
2051         Reviewed by Tony Chang.
2052
2053         LevelDB keeps up to 1000 (by default) data files open at a time to
2054         avoid having to open() them. This has caused chromium to hit the
2055         process-wide open file limit. This patch changes max_open_files to 20,
2056         as that's the minimum permitted by LevelDB and we have no reason to
2057         think that performance will suffer because of the extra open calls.
2058
2059         No new tests - a chromium browser test that tracks the open LevelDB
2060         files is plausible but is blocked on http://crbug.com/177249/.
2061
2062         * platform/leveldb/LevelDBDatabase.cpp:
2063         (WebCore::openDB):
2064
2065 2013-02-20  David Hyatt  <hyatt@apple.com>
2066
2067         [New Multicolumn] Resize RenderMultiColumnSets around their columns.
2068         https://bugs.webkit.org/show_bug.cgi?id=110378.
2069
2070         Reviewed by Dirk Schulze.
2071
2072         Test: fast/multicol/newmulticol/positioned-with-constrained-height.html.
2073
2074         * rendering/RenderBlock.h:
2075         (RenderBlock):
2076         Make computeOverflow public so that RenderMultiColumnFlowThread can
2077         access it.
2078
2079         * rendering/RenderMultiColumnFlowThread.cpp:
2080         (WebCore::RenderMultiColumnFlowThread::layout):
2081         Subclass layout to recompute the overflow for RenderMultiColumnBlock
2082         after the flow thread has finished layout. This way it can account
2083         for changes in RenderMultiColumnSets without having to do a second
2084         layout pass.
2085
2086         * rendering/RenderMultiColumnFlowThread.h:
2087         (RenderMultiColumnFlowThread):
2088         Override layout().
2089
2090         * rendering/RenderMultiColumnSet.cpp:
2091         (WebCore::RenderMultiColumnSet::columnCount):
2092         Clean up a comment that referred to portions as region rects still.
2093
2094         (WebCore::RenderMultiColumnSet::setFlowThreadPortionRect):
2095         * rendering/RenderMultiColumnSet.h:
2096         * rendering/RenderRegion.h:
2097         (WebCore::RenderRegion::setFlowThreadPortionRect):
2098         Make setFlowThreadPortionRect virtual and actually mutate the size
2099         and position of RenderMultiColumnSets so that they enclose their
2100         column rects.
2101
2102 2013-02-20  Dirk Schulze  <krit@webkit.org>
2103
2104         Enable CANVAS_PATH flag
2105         https://bugs.webkit.org/show_bug.cgi?id=108508
2106
2107         Reviewed by Simon Fraser.
2108
2109         Enable CANVAS_PATH flag on trunk.
2110
2111         Existing tests cover the feature.
2112
2113         * Configurations/FeatureDefines.xcconfig:
2114
2115 2013-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2116
2117         Unreviewed, rolling out r143441.
2118         http://trac.webkit.org/changeset/143441
2119         https://bugs.webkit.org/show_bug.cgi?id=110376
2120
2121         May be causing chromium content_browsertests failures.
2122         (Requested by vollick on #webkit).
2123
2124         * bindings/v8/ScriptValue.cpp:
2125         (WebCore::ScriptValue::serialize):
2126         (WebCore::ScriptValue::getString):
2127         (WebCore::ScriptValue::toString):
2128         (WebCore::ScriptValue::toInspectorValue):
2129         * bindings/v8/ScriptValue.h:
2130         (WebCore::ScriptValue::ScriptValue):
2131         (WebCore::ScriptValue::operator=):
2132         (WebCore::ScriptValue::operator==):
2133         (WebCore::ScriptValue::isEqual):
2134         (WebCore::ScriptValue::isFunction):
2135         (WebCore::ScriptValue::isNull):
2136         (WebCore::ScriptValue::isUndefined):
2137         (WebCore::ScriptValue::isObject):
2138         (WebCore::ScriptValue::hasNoValue):
2139         (WebCore::ScriptValue::clear):
2140         (WebCore::ScriptValue::v8Value):
2141         (ScriptValue):
2142         * bindings/v8/SharedPersistent.h:
2143         (WebCore):
2144         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2145         (WebCore::InjectedScriptHost::scriptValueAsNode):
2146         * bindings/v8/custom/V8MessageEventCustom.cpp:
2147         (WebCore::V8MessageEvent::dataAttrGetterCustom):
2148
2149 2013-02-15  Dirk Schulze  <krit@webkit.org>
2150
2151         [Chromium] Add runtime flag for CanvasPath
2152         https://bugs.webkit.org/show_bug.cgi?id=109997
2153
2154         Reviewed by Adam Barth.
2155
2156         Add runtime flag for Chromium.
2157
2158         * bindings/generic/RuntimeEnabledFeatures.cpp:
2159         (WebCore):
2160         * bindings/generic/RuntimeEnabledFeatures.h:
2161         (RuntimeEnabledFeatures):
2162         (WebCore::RuntimeEnabledFeatures::setCanvasPathEnabled):
2163         (WebCore::RuntimeEnabledFeatures::canvasPathEnabled):
2164         * html/canvas/DOMPath.idl:
2165         * page/DOMWindow.idl:
2166
2167 2013-02-20  Laszlo Gombos  <l.gombos@samsung.com>
2168
2169         Remove unnecessary includes for Platform.h from headers
2170         https://bugs.webkit.org/show_bug.cgi?id=110300
2171
2172         Reviewed by Alexey Proskuryakov.
2173
2174         wtf/Platform.h only need to be included in a few places directly
2175         as it is included in config.h. Remove the unnecessay duplicate as
2176         it can be confusing.
2177
2178         No new tests, no change in functionality.
2179
2180         * platform/SecureTextInput.h:
2181         * platform/audio/Biquad.h:
2182         * platform/audio/FFTFrame.h:
2183         * platform/graphics/cpu/arm/filters/FEBlendNEON.h:
2184         * platform/graphics/cpu/arm/filters/NEONHelpers.h:
2185         * platform/graphics/filters/FELighting.h:
2186
2187 2013-02-20  Florin Malita  <fmalita@chromium.org>
2188
2189         [SVG] Update of element referenced by multiple 'use' nodes is absurdly slow
2190         https://bugs.webkit.org/show_bug.cgi?id=97905
2191
2192         Reviewed by Dirk Schulze.
2193
2194         Rebuilding the shadow and instance trees of dependent use nodes recursively can be
2195         extremely inefficient with non-trivial dependency graphs (the trees are not constructed
2196         in topological order).
2197
2198         To avoid redundant buildShadowAndInstanceTree() invokations, separate the invalidation
2199         phase from the actual tree (re)building phase, and only descend into the dependency DAG
2200         during the invalidation phase (recursion also stops at nodes that have been previously
2201         invalidated).
2202
2203         No new tests: functional coverage provided by existing tests, perfomance tracked by
2204         PerformanceTests/SVG/SvgNestedUse.html.
2205
2206         * svg/SVGUseElement.cpp:
2207         (WebCore::SVGUseElement::buildPendingResource):
2208         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
2209         (WebCore::SVGUseElement::invalidateShadowTree):
2210         (WebCore):
2211         (WebCore::SVGUseElement::invalidateDependentShadowTrees):
2212         * svg/SVGUseElement.h:
2213         (SVGUseElement):
2214
2215 2013-02-20  Tim Horton  <timothy_horton@apple.com>
2216
2217         RenderLayerBacking should initialize TiledBacking's isInWindow state with Page's isInWindow, not isOnscreen
2218         https://bugs.webkit.org/show_bug.cgi?id=110370
2219         <rdar://problem/13254006>
2220
2221         Reviewed by Simon Fraser.
2222
2223         * rendering/RenderLayerBacking.cpp:
2224         (WebCore::RenderLayerBacking::RenderLayerBacking):
2225
2226 2013-02-20  Mark Lam  <mark.lam@apple.com>
2227
2228         Cleanup the SQLTransaction and SQLTransactionBackend state dispatch
2229         to only honor a state transition request if the associated database
2230         hasn't been interrupted.
2231         https://bugs.webkit.org/show_bug.cgi?id=110247.
2232
2233         Reviewed by Antti Koivisto.
2234
2235         No new tests.
2236
2237         * Modules/webdatabase/SQLTransaction.cpp:
2238         (WebCore::SQLTransaction::performPendingCallback):
2239         (WebCore::SQLTransaction::computeNextStateAndCleanupIfNeeded):
2240         * Modules/webdatabase/SQLTransaction.h:
2241         * Modules/webdatabase/SQLTransactionBackend.cpp:
2242         (WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
2243         (WebCore::SQLTransactionBackend::performNextStep):
2244         * Modules/webdatabase/SQLTransactionBackend.h:
2245
2246 2013-02-20  Alexey Proskuryakov  <ap@apple.com>
2247
2248         ResourceHandle::loadResourceSynchronously should have blob support in cross-platform code
2249         https://bugs.webkit.org/show_bug.cgi?id=110364
2250
2251         Reviewed by Anders Carlsson.
2252
2253         * platform/network/ResourceHandle.h:
2254         * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::loadResourceSynchronously):
2255         Added a cross-platform version to keep blob-related logic in one place.
2256
2257         * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
2258         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
2259         * platform/network/cf/ResourceHandleCFNet.cpp:
2260         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
2261         * platform/network/curl/ResourceHandleCurl.cpp:
2262         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
2263         * platform/network/mac/ResourceHandleMac.mm:
2264         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
2265         * platform/network/qt/ResourceHandleQt.cpp:
2266         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
2267         * platform/network/soup/ResourceHandleSoup.cpp:
2268         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
2269         * platform/network/win/ResourceHandleWin.cpp:
2270         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
2271         Renamed loadResourceSynchronously to platformLoadResourceSynchronously,
2272         removed blob handling from platforms that had it.
2273
2274 2013-02-20  David Hyatt  <hyatt@apple.com>
2275
2276         [New Multicolumn] RenderMultiColumnFlowThreads should establish a BFC.
2277         https://bugs.webkit.org/show_bug.cgi?id=110366.
2278
2279         Reviewed by Antti Koivisto.
2280
2281         RenderFlowThreads should establish a block formatting context always.
2282         CSS Regions have named flow thread that they absolutely position, and so
2283         they got this for free by being absolutely positioned.
2284         
2285         RenderMultiColumnFlowThreads, however, are relative positioned, so we need
2286         to just add an isRenderFlowThread case specifically so we're not dependent
2287         on the positioning scheme used for the flow thread to establish the BFC.
2288         
2289         Test: fast/multicol/newmulticol/float-*.html.
2290
2291         * rendering/RenderBlock.cpp:
2292         (WebCore::RenderBlock::MarginInfo::MarginInfo):
2293
2294 2013-02-20  David Hyatt  <hyatt@apple.com>
2295
2296         [New Multicolumn] Column gap is computed incorrectly.
2297         https://bugs.webkit.org/show_bug.cgi?id=110360.
2298
2299         Reviewed by Simon Fraser.
2300
2301         Test: fast/multicol/newmulticol/layers-split-across-columns.html.
2302
2303         * rendering/RenderMultiColumnSet.cpp:
2304         (WebCore::RenderMultiColumnSet::columnGap):
2305         Make sure we ask the RenderMultiColumnBlock for the gap rather than our
2306         own style, since we don't actually have the gap value in our style.
2307         
2308         (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
2309         * rendering/RenderMultiColumnSet.h:
2310         Fix another spot where the columnGap was an int. It should be a LayoutUnit.
2311
2312 2013-02-20  Robert Hogan  <robert@webkit.org>
2313
2314         No caret on empty contenteditable element with negative text-indent
2315         https://bugs.webkit.org/show_bug.cgi?id=108633
2316
2317         Reviewed by Ryosuke Niwa.
2318
2319         Test: fast/repaint/paint-caret-in-div-with-negative-indent.html
2320
2321         When an editable element has a negative text indent we won't paint the caret when the
2322         element is empty because it falls outside the element's border box. To ensure the caret is painted,
2323         account for any negative indent with our overflow.
2324
2325         * rendering/RenderBlock.cpp:
2326         (WebCore::RenderBlock::computeOverflow):
2327
2328 2013-02-20  Ojan Vafai  <ojan@chromium.org>
2329
2330         Remove stretchesToMinIntrinsicLogicalWidth
2331         https://bugs.webkit.org/show_bug.cgi?id=110266
2332
2333         Reviewed by Emil Eklund.
2334
2335         This was only used by fieldsets and now we have a way to express this
2336         concept in CSS.
2337
2338         * WebCore.order:
2339         * css/html.css:
2340         Make fieldsets min-width: -webkit-min-content.
2341
2342         * rendering/RenderBox.cpp:
2343         (WebCore::RenderBox::computeLogicalWidthInRegion):
2344         (WebCore::RenderBox::computePositionedLogicalWidth):
2345         * rendering/RenderBox.h:
2346         Remove all calls to stretchesToMinIntrinsicLogicalWidth.
2347
2348 2013-02-20  Ojan Vafai  <ojan@chromium.org>
2349
2350         Make intrinsic width values work for positioned elements
2351         https://bugs.webkit.org/show_bug.cgi?id=110264
2352
2353         Reviewed by Tony Chang.
2354
2355         Tests: fast/css-intrinsic-dimensions/intrinsic-sized-absolutes.html
2356                fast/css-intrinsic-dimensions/width-shrinks-avoid-floats.html
2357
2358         * rendering/RenderBox.cpp:
2359         (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
2360         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
2361         Move the computation of intrinsic widths out into a helper function so that
2362         computePositionedLogicalWidthUsing can use it. As per the current spec,
2363         fill-available measures shrink to avoid floats. http://dev.w3.org/csswg/css3-sizing/
2364
2365         (WebCore::RenderBox::computePositionedLogicalWidth):
2366         Compute intrinsic min-widths in addition to non-zero ones. Intrinsic widths
2367         return true for isZero. width and max-width don't need modifying since they already
2368         call computePositionedLogicalWidthUsing for intrinsic widths.
2369
2370         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
2371         Compute intrinsic widths and use a Fixed length for the rest of the positioned width
2372         computation. Doesn't include bordersPlusPadding because the caller, expected the content
2373         width and adds in the bordersPlusPadding later.
2374
2375         * rendering/RenderBox.h:
2376
2377 2013-02-20  Robert Hogan  <robert@webkit.org>
2378
2379         input element with placeholder text and width set to 100% on focus causes overflow even after losing focus
2380         https://bugs.webkit.org/show_bug.cgi?id=109020
2381
2382         Reviewed by David Hyatt.
2383
2384         Tests: fast/forms/input-placeholder-layout-view.html
2385                fast/forms/textarea-placeholder-layout-view.html
2386
2387         Placeholder elements don't affect layout so shouldn't contribute overflow either.
2388
2389         * rendering/RenderTextControlSingleLine.cpp:
2390         (WebCore::RenderTextControlSingleLine::layout):
2391
2392 2013-02-20  Mark Lam  <mark.lam@apple.com>
2393
2394         Rename DatabaseBackend to DatabaseBackendBase.
2395         https://bugs.webkit.org/show_bug.cgi?id=110303.
2396
2397         Rubber stamped by Alexey Proskuryakov.
2398
2399         This is a purely cosmetic change to make the naming consistent with
2400         the front-end DatabaseBase.
2401
2402         No new tests.
2403
2404         * CMakeLists.txt:
2405         * GNUmakefile.list.am:
2406         * Modules/webdatabase/AbstractDatabaseServer.h:
2407         * Modules/webdatabase/Database.cpp:
2408         (WebCore::Database::create):
2409         (WebCore::Database::version):
2410         * Modules/webdatabase/Database.h:
2411         (Database):
2412         * Modules/webdatabase/DatabaseBackend.cpp: Removed.
2413         * Modules/webdatabase/DatabaseBackend.h: Removed.
2414         * Modules/webdatabase/DatabaseBackendAsync.cpp:
2415         (WebCore::DatabaseBackendAsync::DatabaseBackendAsync):
2416         (WebCore::DatabaseBackendAsync::performOpenAndVerify):
2417         * Modules/webdatabase/DatabaseBackendAsync.h:
2418         * Modules/webdatabase/DatabaseBackendBase.cpp: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackend.cpp.
2419         (WebCore::DatabaseBackendBase::databaseInfoTableName):
2420         (WebCore::DatabaseBackendBase::DatabaseBackendBase):
2421         (WebCore::DatabaseBackendBase::~DatabaseBackendBase):
2422         (WebCore::DatabaseBackendBase::closeDatabase):
2423         (WebCore::DatabaseBackendBase::version):
2424         (WebCore::DoneCreatingDatabaseOnExitCaller::DoneCreatingDatabaseOnExitCaller):
2425         (DoneCreatingDatabaseOnExitCaller):
2426         (WebCore::DatabaseBackendBase::performOpenAndVerify):
2427         (WebCore::DatabaseBackendBase::securityOrigin):
2428         (WebCore::DatabaseBackendBase::stringIdentifier):
2429         (WebCore::DatabaseBackendBase::displayName):
2430         (WebCore::DatabaseBackendBase::estimatedSize):
2431         (WebCore::DatabaseBackendBase::fileName):
2432         (WebCore::DatabaseBackendBase::details):
2433         (WebCore::DatabaseBackendBase::getVersionFromDatabase):
2434         (WebCore::DatabaseBackendBase::setVersionInDatabase):
2435         (WebCore::DatabaseBackendBase::setExpectedVersion):
2436         (WebCore::DatabaseBackendBase::getCachedVersion):
2437         (WebCore::DatabaseBackendBase::setCachedVersion):
2438         (WebCore::DatabaseBackendBase::getActualVersionForTransaction):
2439         (WebCore::DatabaseBackendBase::disableAuthorizer):
2440         (WebCore::DatabaseBackendBase::enableAuthorizer):
2441         (WebCore::DatabaseBackendBase::setAuthorizerReadOnly):
2442         (WebCore::DatabaseBackendBase::setAuthorizerPermissions):
2443         (WebCore::DatabaseBackendBase::lastActionChangedDatabase):
2444         (WebCore::DatabaseBackendBase::lastActionWasInsert):
2445         (WebCore::DatabaseBackendBase::resetDeletes):
2446         (WebCore::DatabaseBackendBase::hadDeletes):
2447         (WebCore::DatabaseBackendBase::resetAuthorizer):
2448         (WebCore::DatabaseBackendBase::maximumSize):
2449         (WebCore::DatabaseBackendBase::incrementalVacuumIfNeeded):
2450         (WebCore::DatabaseBackendBase::interrupt):
2451         (WebCore::DatabaseBackendBase::isInterrupted):
2452         (WebCore::DatabaseBackendBase::reportOpenDatabaseResult):
2453         (WebCore::DatabaseBackendBase::reportChangeVersionResult):
2454         (WebCore::DatabaseBackendBase::reportStartTransactionResult):
2455         (WebCore::DatabaseBackendBase::reportCommitTransactionResult):
2456         (WebCore::DatabaseBackendBase::reportExecuteStatementResult):
2457         (WebCore::DatabaseBackendBase::reportVacuumDatabaseResult):
2458         * Modules/webdatabase/DatabaseBackendBase.h: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackend.h.
2459         (DatabaseBackendBase):
2460         * Modules/webdatabase/DatabaseBackendSync.cpp:
2461         (WebCore::DatabaseBackendSync::DatabaseBackendSync):
2462         * Modules/webdatabase/DatabaseBackendSync.h:
2463         * Modules/webdatabase/DatabaseBase.h:
2464         * Modules/webdatabase/DatabaseManager.cpp:
2465         (WebCore::DatabaseManager::openDatabaseBackend):
2466         (WebCore::DatabaseManager::openDatabase):
2467         (WebCore::DatabaseManager::openDatabaseSync):
2468         (WebCore::DatabaseManager::getMaxSizeForDatabase):
2469         * Modules/webdatabase/DatabaseManager.h:
2470         (DatabaseManager):
2471         * Modules/webdatabase/DatabaseServer.cpp:
2472         (WebCore::DatabaseServer::openDatabase):
2473         (WebCore::DatabaseServer::createDatabase):
2474         (WebCore::DatabaseServer::getMaxSizeForDatabase):
2475         * Modules/webdatabase/DatabaseServer.h:
2476         * Modules/webdatabase/DatabaseSync.cpp:
2477         (WebCore::DatabaseSync::create):
2478         * Modules/webdatabase/DatabaseSync.h:
2479         (DatabaseSync):
2480         * Modules/webdatabase/DatabaseTracker.cpp:
2481         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
2482         (WebCore::DatabaseTracker::databaseChanged):
2483         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
2484         (WebCore::DatabaseTracker::doneCreatingDatabase):
2485         (WebCore::DatabaseTracker::addOpenDatabase):
2486         (WebCore::DatabaseTracker::removeOpenDatabase):
2487         (WebCore::DatabaseTracker::getOpenDatabases):
2488         (WebCore::DatabaseTracker::deleteDatabaseFile):
2489         * Modules/webdatabase/DatabaseTracker.h:
2490         (DatabaseTracker):
2491         * Modules/webdatabase/OriginQuotaManager.cpp:
2492         (WebCore::OriginQuotaManager::markDatabase):
2493         * Modules/webdatabase/OriginQuotaManager.h:
2494         (OriginQuotaManager):
2495         * Modules/webdatabase/SQLTransactionClient.cpp:
2496         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
2497         (WebCore::SQLTransactionClient::didExecuteStatement):
2498         (WebCore::SQLTransactionClient::didExceedQuota):
2499         * Modules/webdatabase/SQLTransactionClient.h:
2500         (SQLTransactionClient):
2501         * Modules/webdatabase/chromium/DatabaseObserver.h:
2502         (DatabaseObserver):
2503         * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
2504         (WebCore::DatabaseTracker::addOpenDatabase):
2505         (WebCore::NotifyDatabaseObserverOnCloseTask::create):
2506         (WebCore::NotifyDatabaseObserverOnCloseTask::NotifyDatabaseObserverOnCloseTask):
2507         (NotifyDatabaseObserverOnCloseTask):
2508         (WebCore::DatabaseTracker::removeOpenDatabase):
2509         (WebCore::DatabaseTracker::prepareToOpenDatabase):
2510         (WebCore::DatabaseTracker::failedToOpenDatabase):
2511         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
2512         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::create):
2513         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::CloseOneDatabaseImmediatelyTask):
2514         (DatabaseTracker::CloseOneDatabaseImmediatelyTask):
2515         (WebCore::DatabaseTracker::closeOneDatabaseImmediately):
2516         * Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp:
2517         (WebCore::NotifyDatabaseChangedTask::create):
2518         (WebCore::NotifyDatabaseChangedTask::NotifyDatabaseChangedTask):
2519         (NotifyDatabaseChangedTask):
2520         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
2521         (WebCore::SQLTransactionClient::didExecuteStatement):
2522         (WebCore::SQLTransactionClient::didExceedQuota):
2523         * Target.pri:
2524         * WebCore.gypi:
2525         * WebCore.vcproj/WebCore.vcproj:
2526         * WebCore.vcxproj/WebCore.vcxproj:
2527         * WebCore.vcxproj/WebCore.vcxproj.filters:
2528         * WebCore.xcodeproj/project.pbxproj:
2529
2530 2013-02-20  Eric Carlson  <eric.carlson@apple.com>
2531
2532         iOS does not use CaptionUserPreferencesMac
2533         https://bugs.webkit.org/show_bug.cgi?id=110259
2534
2535         Reviewed by Dean Jackson.
2536
2537         * page/CaptionUserPreferencesMac.h: Add PLATFORM(IOS) guard
2538         * page/CaptionUserPreferencesMac.mm: Ditto.
2539
2540         * page/PageGroup.cpp:
2541         (WebCore::PageGroup::captionPreferences): Ditto.
2542
2543 2013-02-19  David Hyatt  <hyatt@apple.com>
2544
2545         [New Multicolumn] Make layers paint properly in columns.
2546         https://bugs.webkit.org/show_bug.cgi?id=110296.
2547
2548         Reviewed by Sam Weinig.
2549
2550         Construct the style for the RenderMultiColumnFlowThread such that it
2551         establishes a stacking context (by being position:relative
2552         with a z-index of 0). This causes the layer collection code
2553         to correctly ignore the RenderFlowThread layers during normal
2554         painting.
2555         
2556         Fix more clipping bugs to eliminate subpixel layout differences
2557         between old and new multicolumn.
2558
2559         Test: fast/multicol/newmulticol/layers-in-multicol.html
2560
2561         * rendering/RenderMultiColumnBlock.cpp:
2562         (WebCore::createMultiColumnFlowThreadStyle):
2563         (WebCore):
2564         (WebCore::RenderMultiColumnBlock::addChild):
2565         Use a custom style (similar to what normal RenderFlowThreads do)
2566         for the RenderMultiColumnFlowThread that makes it a stacking
2567         context.
2568         
2569         * rendering/RenderMultiColumnSet.cpp:
2570         (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
2571         Fix the overflow calculations out the leftmost and rightmost
2572         columns to actually look at the physical placement of the columns.
2573         The old code was backwards for RTL.
2574         
2575         * rendering/RenderRegion.cpp:
2576         (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
2577         Fix the clipping done by overflowRectForFlowThreadPortion to min
2578         and max with the passed-in portion rect so that subclasses that
2579         inflate the rect prior to passing it into the method don't have that
2580         inflation discarded.
2581
2582 2013-02-20  Alexander Pavlov  <apavlov@chromium.org>
2583
2584         Web Inspector: CSSProperty.status defaults to "style" not "active"
2585         https://bugs.webkit.org/show_bug.cgi?id=110348
2586
2587         Reviewed by Timothy Hatcher.
2588
2589         * inspector/Inspector.json: Fix the default property status to be "style" in the description.
2590
2591 2013-02-20  Dan Carney  <dcarney@google.com>
2592
2593         [v8] potentially disposed handle returned for npapi object
2594         https://bugs.webkit.org/show_bug.cgi?id=110331
2595
2596         Reviewed by Kentaro Hara.
2597
2598         No new tests. No change in functionality.
2599
2600         * bindings/v8/V8NPUtils.cpp:
2601         (WebCore::convertNPVariantToV8Object):
2602
2603 2013-02-20  Xabier Rodriguez Calvar  <calvaris@igalia.com>  and  Martin Robinson  <mrobinson@igalia.com>
2604
2605         [Gtk] HTML5 Media controls require a design refresh
2606         https://bugs.webkit.org/show_bug.cgi?id=83869
2607
2608         Created new controls that depend less on Gtk and more in CSS.
2609
2610         Reviewed by Philippe Normand.
2611
2612         * GNUmakefile.list.am: Added compilation for MediaControlsGtk.cpp
2613         and MediaControlsGtk.h
2614         * css/mediaControlsGtk.css: Taken from Chromium and adapted for
2615         WebKitGtk+.
2616         * html/shadow/MediaControlsGtk.cpp: Added.
2617         (WebCore): Added MediaControlsGtk class.
2618         (WebCore::MediaControlsGtk::MediaControlsGtk): Class constructor
2619         (WebCore::MediaControls::create): Creates the Gtk+ controls
2620         components.
2621         (WebCore::MediaControlsGtk::createControls): Creates the Gtk+
2622         controls components.
2623         (WebCore::MediaControlsGtk::initializeControls): Initializes all
2624         media controls.
2625         (WebCore::MediaControlsGtk::setMediaController): Sets the media
2626         controller.
2627         (WebCore::MediaControlsGtk::reset): Resets the controllers.
2628         (WebCore::MediaControlsGtk::playbackStarted): Invoked when the
2629         playback starts
2630         (WebCore::MediaControlsGtk::updateCurrentTimeDisplay): Updates the
2631         controls when the current time shall be updated.
2632         (WebCore::MediaControlsGtk::changedMute): Updates the controls
2633         then the mute changes.
2634         (WebCore::MediaControlsGtk::showVolumeSlider): Invoked when the
2635         volume slider is meant to be shown.
2636         (WebCore::MediaControlsGtk::createTextTrackDisplay): Creates the
2637         track display. Though it is not used by us, it needs to be created
2638         to prevent immediate crashes when loading a video.
2639         * html/shadow/MediaControlsGtk.h: Added.
2640         (WebCore): Added the MediaControlsGtk class.
2641         (MediaControlsGtk): Added the MediaControlsGtk class.
2642         * platform/gtk/RenderThemeGtk.cpp:
2643         (WebCore): Added getStockSymbolicIconForWidgetType function
2644         signature to load symbolic icons.
2645         (WebCore::supportsFocus): Added media control widgets to support
2646         focus so that the focus ring is not painted by WebCore.
2647         (WebCore::RenderThemeGtk::paintMediaButton): Added the symbolic
2648         icon support. It supports now normal and symbolic icons at the
2649         same time.
2650         (WebCore::RenderThemeGtk::paintMediaFullscreenButton): Added the
2651         symbolic icon support.
2652         (WebCore::RenderThemeGtk::paintMediaMuteButton): Added the
2653         symbolic icon support.
2654         (WebCore::RenderThemeGtk::paintMediaPlayButton): Added the
2655         symbolic icon support.
2656         (WebCore::RenderThemeGtk::paintMediaSeekBackButton): Added the
2657         symbolic icon support.
2658         (WebCore::RenderThemeGtk::paintMediaSeekForwardButton): Added the
2659         symbolic icon support.
2660         (WebCore::borderRadiiFromStyle): Created the radii info from the
2661         style.
2662         (WebCore::RenderThemeGtk::paintMediaSliderTrack): Removed the
2663         background and the Gtk widget support as it is painted with
2664         CSS. Also paint the time ranges with the CSS style.
2665         (WebCore::RenderThemeGtk::paintMediaSliderThumb): Paint slider
2666         thumb according to the CSS parameters.
2667         (WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer):
2668         Delegates in the CSS.
2669         (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack): Fills the
2670         track up to the volume level and delegates the border in the CSS.
2671         (WebCore::RenderThemeGtk::paintMediaVolumeSliderThumb): Delegates
2672         in the paintMediaSliderThumb method so the thumb is painted the
2673         same with the CSS parameters.
2674         (WebCore::RenderThemeGtk::paintMediaCurrentTime): Removed the Gtk
2675         background to use only CSS.
2676         * platform/gtk/RenderThemeGtk.h:
2677         (RenderThemeGtk): Changed paintMediaButton to support the symbolic
2678         and normal icons at the same time.
2679         * platform/gtk/RenderThemeGtk2.cpp:
2680         (WebCore::RenderThemeGtk::adjustSliderThumbSize): Not adjusting
2681         the thumb size and letting the CSS decide that for media slider.
2682         (WebCore::getStockSymbolicIconForWidgetType): Implemented as a
2683         fallback to the normal stock icons.
2684         * platform/gtk/RenderThemeGtk3.cpp:
2685         (WebCore):
2686         (WebCore::RenderThemeGtk::adjustSliderThumbSize): Not adjusting
2687         the thumb size and letting the CSS decide that for the media
2688         sliders.
2689         (WebCore::getStockSymbolicIconForWidgetType): Added this function
2690         to load symbolic icons. It falls back to normal icons if the
2691         symbolic is not found.
2692
2693 2013-02-20  Andras Becsi  <andras.becsi@digia.com>
2694
2695         [Qt] Rename AncestorChainWalker.h to EventPathWalker.h in the project file.
2696
2697         Unreviewed gardening.
2698
2699         AncestorChainWalker has been renamed to EventPathWalker in r143422.
2700         Rename the header in the project file as well so that it shows up in QtCreator.
2701
2702         No new tests needed.
2703
2704         * Target.pri:
2705
2706 2013-02-20  Ilya Tikhonovsky  <loislo@chromium.org>
2707
2708         Web Inspector: fix for frontend closure compile errors.
2709         https://bugs.webkit.org/show_bug.cgi?id=110329
2710
2711         Reviewed by Vsevolod Vlasov.
2712
2713         It has no tests because it has no code changes.
2714
2715         * inspector/front-end/HeapSnapshot.js:
2716         (HeapSnapshotMetainfo):
2717         * inspector/front-end/NativeMemorySnapshotView.js:
2718         (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
2719         (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked):
2720
2721 2013-02-20  Florin Malita  <fmalita@chromium.org>
2722
2723         Clear SVGPathSeg role on removal.
2724         https://bugs.webkit.org/show_bug.cgi?id=110058
2725
2726         Reviewed by Dirk Schulze.
2727
2728         SVGPathSegListPropertyTearOff::initialize() and SVGPathSegListPropertyTearOff::replaceItem()
2729         need to clear the context and role for segments being expunged from the list, similarly to
2730         removeItem(). Otherwise, processIncomingListItemValue() can get confused and attempt to
2731         remove stale segments.
2732
2733         Test: svg/dom/SVGPathSegList-crash.html
2734
2735         * svg/properties/SVGPathSegListPropertyTearOff.cpp:
2736         (WebCore::SVGPathSegListPropertyTearOff::clearContextAndRoles):
2737         (WebCore::SVGPathSegListPropertyTearOff::clear):
2738         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
2739         (WebCore):
2740         * svg/properties/SVGPathSegListPropertyTearOff.h:
2741         (WebCore::SVGPathSegListPropertyTearOff::initialize):
2742         (SVGPathSegListPropertyTearOff):
2743
2744 2013-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2745
2746         Unreviewed, rolling out r143434.
2747         http://trac.webkit.org/changeset/143434
2748         https://bugs.webkit.org/show_bug.cgi?id=110326
2749
2750         added reftest fails on chromium mac 10.6 (Requested by
2751         toyoshim on #webkit).
2752
2753         * rendering/RenderFileUploadControl.cpp:
2754         (WebCore::RenderFileUploadControl::paintObject):
2755
2756 2013-02-19  Vsevolod Vlasov  <vsevik@chromium.org>
2757
2758         Web Inspector: Make UISourceCode.path() an array of path segments.
2759         https://bugs.webkit.org/show_bug.cgi?id=110229
2760
2761         Reviewed by Pavel Feldman.
2762
2763         * inspector/front-end/FileSystemProjectDelegate.js:
2764         (WebInspector.FileSystemProjectDelegate.prototype._filePathForPath):
2765         (WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
2766         (WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
2767         (WebInspector.FileSystemProjectDelegate.prototype._contentTypeForPath):
2768         (WebInspector.FileSystemProjectDelegate.prototype.populate.filesLoaded):
2769         (WebInspector.FileSystemProjectDelegate.prototype.populate):
2770         * inspector/front-end/SimpleWorkspaceProvider.js:
2771         (WebInspector.SimpleProjectDelegate.prototype.requestFileContent):
2772         (WebInspector.SimpleProjectDelegate.prototype.searchInFileContent):
2773         (WebInspector.SimpleProjectDelegate.prototype.addFile):
2774         (WebInspector.SimpleProjectDelegate.prototype._ensureUniquePath):
2775         (WebInspector.SimpleProjectDelegate.prototype.removeFile):
2776         (WebInspector.SimpleWorkspaceProvider.pathForSplittedURL):
2777         (WebInspector.SimpleWorkspaceProvider.prototype.addFileByName):
2778         (WebInspector.SimpleWorkspaceProvider.prototype.removeFileByName):
2779         * inspector/front-end/UISourceCode.js:
2780         (WebInspector.UISourceCode.prototype.uri):
2781         * inspector/front-end/Workspace.js:
2782         (WebInspector.Project.prototype._fileAdded):
2783         (WebInspector.Project.prototype._fileRemoved):
2784         (WebInspector.Project.prototype.uiSourceCode):
2785         (WebInspector.Workspace.prototype.uiSourceCodeForURL):
2786         (WebInspector.Workspace.prototype.urlForPath):
2787
2788 2013-02-20  Yury Semikhatsky  <yurys@chromium.org>
2789
2790         Web Inspector: fix message for non-existent domain warning
2791         https://bugs.webkit.org/show_bug.cgi?id=110315
2792
2793         Reviewed by Alexander Pavlov.
2794
2795         Only send (Heap)Profiler.resetProfiles event if the client has
2796         requested profile headers before.
2797
2798         * inspector/InspectorHeapProfilerAgent.cpp:
2799         (HeapProfilerAgentState):
2800         (WebCore):
2801         (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
2802         (WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
2803         (WebCore::InspectorHeapProfilerAgent::clearFrontend):
2804         (WebCore::InspectorHeapProfilerAgent::restore):
2805         (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
2806         * inspector/InspectorHeapProfilerAgent.h:
2807         (InspectorHeapProfilerAgent):
2808         * inspector/InspectorProfilerAgent.cpp:
2809         (ProfilerAgentState):
2810         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
2811         (WebCore::InspectorProfilerAgent::addProfile):
2812         (WebCore::InspectorProfilerAgent::disable):
2813         (WebCore::InspectorProfilerAgent::getProfileHeaders):
2814         (WebCore):
2815         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
2816         (WebCore::InspectorProfilerAgent::restore):
2817         * inspector/InspectorProfilerAgent.h:
2818         (InspectorProfilerAgent):
2819
2820 2013-02-19  Vsevolod Vlasov  <vsevik@chromium.org>
2821
2822         Web Inspector: Move workspace specific code from FileMapping to workspace.
2823         https://bugs.webkit.org/show_bug.cgi?id=110219
2824
2825         Reviewed by Pavel Feldman.
2826
2827         Extracted workspace specific code from FileMapping to Workspace.
2828         This allows to reduce usage of uri and eventually make UISourceCode.path an array of path segments.
2829
2830         Test: inspector/workspace-mapping.html
2831
2832         * inspector/front-end/CSSStyleModel.js:
2833         (WebInspector.CSSStyleModel.prototype.rawLocationToUILocation):
2834         * inspector/front-end/CompilerScriptMapping.js:
2835         (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
2836         (WebInspector.CompilerScriptMapping.prototype.get addScript.get this):
2837         (WebInspector.CompilerScriptMapping.prototype.get addScript):
2838         * inspector/front-end/FileMapping.js:
2839         (WebInspector.FileMapping):
2840         (WebInspector.FileMapping.prototype.mappingEntryForURL):
2841         (WebInspector.FileMapping.prototype.mappingEntryForPath):
2842         * inspector/front-end/FileSystemMapping.js:
2843         (WebInspector.FileSystemMapping.prototype.fileSystemPathForPrefix):
2844         (WebInspector.FileSystemMappingImpl.prototype.addFileSystemMapping):
2845         (WebInspector.FileSystemMappingImpl.prototype.removeFileSystemMapping):
2846         (WebInspector.FileSystemMappingImpl.prototype.fileSystemPathForPrefix):
2847         * inspector/front-end/FileSystemProjectDelegate.js:
2848         (WebInspector.FileSystemProjectDelegate):
2849         (WebInspector.FileSystemProjectDelegate.prototype.populate.filesLoaded):
2850         (WebInspector.FileSystemProjectDelegate.prototype.populate):
2851         (WebInspector.FileSystemWorkspaceProvider):
2852         (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemAdded):
2853         * inspector/front-end/IsolatedFileSystemManager.js:
2854         (WebInspector.IsolatedFileSystemManager):
2855         * inspector/front-end/NetworkUISourceCodeProvider.js:
2856         (WebInspector.NetworkUISourceCodeProvider):
2857         (WebInspector.NetworkUISourceCodeProvider.prototype._addFile):
2858         * inspector/front-end/ResourceScriptMapping.js:
2859         (WebInspector.ResourceScriptMapping.prototype._workspaceUISourceCodeForScript):
2860         * inspector/front-end/ResourceUtils.js:
2861         (WebInspector.displayNameForURL):
2862         * inspector/front-end/SASSSourceMapping.js:
2863         (WebInspector.SASSSourceMapping.prototype._reloadCSS):
2864         (WebInspector.SASSSourceMapping.prototype._bindUISourceCode):
2865         (WebInspector.SASSSourceMapping.prototype.rawLocationToUILocation):
2866         * inspector/front-end/ScriptsPanel.js:
2867         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
2868         * inspector/front-end/SimpleWorkspaceProvider.js:
2869         (WebInspector.SimpleWorkspaceProvider.pathForSplittedURL):
2870         (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
2871         * inspector/front-end/StylesSourceMapping.js:
2872         (WebInspector.StylesSourceMapping.prototype.rawLocationToUILocation):
2873         (WebInspector.StylesSourceMapping.prototype._resourceAdded):
2874         (WebInspector.StylesSourceMapping.prototype._mainFrameCreatedOrNavigated):
2875         (WebInspector.StyleContentBinding):
2876         (WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):
2877         * inspector/front-end/Workspace.js:
2878         (WebInspector.Workspace):
2879         (WebInspector.Workspace.prototype.hasMappingForURL):
2880         (WebInspector.Workspace.prototype._fileSystemPathForEntry):
2881         (WebInspector.Workspace.prototype.uiSourceCodeForURL):
2882         (WebInspector.Workspace.prototype.urlForPath):
2883         * inspector/front-end/inspector.js:
2884
2885 2013-02-20  Alexander Pavlov  <apavlov@chromium.org>
2886
2887         Web Inspector: Introduce SecurityOriginAdded and SecurityOriginRemoved events into ResourceTreeModel
2888         https://bugs.webkit.org/show_bug.cgi?id=110232
2889
2890         Reviewed by Vsevolod Vlasov.
2891
2892         * inspector/front-end/ResourceTreeModel.js:
2893         (WebInspector.ResourceTreeModel):
2894         (WebInspector.ResourceTreeModel.prototype._addFrame):
2895         (WebInspector.ResourceTreeModel.prototype._addSecurityOrigin): Added.
2896         (WebInspector.ResourceTreeModel.prototype._removeSecurityOrigin): Added.
2897         (WebInspector.ResourceTreeModel.prototype._handleMainFrameDetached): Added.
2898         (WebInspector.ResourceTreeModel.prototype._frameNavigated):
2899         (WebInspector.ResourceTreeModel.prototype._frameDetached):
2900
2901 2013-02-20  Dan Carney  <dcarney@google.com>
2902
2903         [v8] ScriptValue has dangerous copy semantics
2904         https://bugs.webkit.org/show_bug.cgi?id=110206
2905
2906         Reviewed by Kentaro Hara.
2907
2908         Update ScriptValue to used a SharedPersistent,
2909         making it impossible to return dead references.
2910
2911         No new tests. No change in functionality.
2912
2913         * bindings/v8/ScriptValue.cpp:
2914         (WebCore::ScriptValue::serialize):
2915         (WebCore::ScriptValue::getString):
2916         (WebCore::ScriptValue::toString):
2917         (WebCore::ScriptValue::toInspectorValue):
2918         * bindings/v8/ScriptValue.h:
2919         (WebCore::ScriptValue::ScriptValue):
2920         (WebCore::ScriptValue::operator=):
2921         (WebCore::ScriptValue::operator==):
2922         (WebCore::ScriptValue::isEqual):
2923         (WebCore::ScriptValue::isFunction):
2924         (WebCore::ScriptValue::isNull):
2925         (WebCore::ScriptValue::isUndefined):
2926         (WebCore::ScriptValue::isObject):
2927         (WebCore::ScriptValue::hasNoValue):
2928         (WebCore::ScriptValue::clear):
2929         (ScriptValue):
2930         (WebCore::ScriptValue::v8Value):
2931         (WebCore::ScriptValue::v8ValueRaw):
2932         * bindings/v8/SharedPersistent.h:
2933         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2934         (WebCore::InjectedScriptHost::scriptValueAsNode):
2935         * bindings/v8/custom/V8MessageEventCustom.cpp:
2936         (WebCore::V8MessageEvent::dataAttrGetterCustom):
2937
2938 2013-02-20  Andrey Lushnikov  <lushnikov@chromium.org>
2939
2940         Web Inspector: highlight undefined word in JavaScript
2941         https://bugs.webkit.org/show_bug.cgi?id=109585
2942
2943         Reviewed by Vsevolod Vlasov.
2944
2945         Test enhancement: inspector/syntax-highlight-javascript.html
2946
2947         Add global object value properties to tokenizer and add a css style
2948         class to highlight "undefined" with gray color.
2949
2950         * inspector/front-end/SourceJavaScriptTokenizer.js:
2951         (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
2952         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
2953         * inspector/front-end/inspectorSyntaxHighlight.css:
2954         (.webkit-javascript-undef):
2955
2956 2013-02-20  Mike West  <mkwst@chromium.org>
2957
2958         Use EventPathWalker rather than parentNode() to normalize event targets in EventHandler.
2959         https://bugs.webkit.org/show_bug.cgi?id=110037
2960
2961         Reviewed by Ryosuke Niwa.
2962
2963         We need to teach EventHandler about Shadow DOM in a few places in order
2964         to ensure that we properly target events dispatched upon text nodes.
2965         Rather than naively grabbing the text node's direct parent via
2966         parentNode(), we need to account for the case in which the text node is
2967         distributed[1] to an insertion point inside a shadow host.
2968         EventPathWalker::parent understands these relationships, and should
2969         be used when dealing with mouse, drag, and touch events.
2970
2971         [1]: http://www.w3.org/TR/shadow-dom/#dfn-distribution
2972
2973         * page/EventHandler.cpp:
2974         (WebCore::EventHandler::handleMouseDraggedEvent):
2975         (WebCore::EventHandler::handleTouchEvent):
2976         (WebCore::EventHandler::passGestureEventToWidgetIfPossible):
2977         (WebCore::EventHandler::updateDragAndDrop):
2978             Refactor parentNode callsites to use EventPathWalker::parent().
2979
2980 2013-02-20  Vsevolod Vlasov  <vsevik@chromium.org>
2981
2982         Web Inspector: [Regression] Search in ProfilesPanel is broken
2983         https://bugs.webkit.org/show_bug.cgi?id=110312
2984
2985         Reviewed by Pavel Feldman.
2986
2987         * inspector/front-end/CPUProfileView.js:
2988         (WebInspector.CPUProfileView.prototype.matchesQuery):
2989         (WebInspector.CPUProfileView.prototype.performSearch):
2990
2991 2013-02-20  Eugene Klyuchnikov  <eustas@chromium.org>
2992
2993         Web Inspector: View.markAsRoot should never be invoked on attached view.
2994         https://bugs.webkit.org/show_bug.cgi?id=110224
2995
2996         Reviewed by Pavel Feldman.
2997
2998         This will cause CSS loading problems after "show".
2999
3000         * inspector/front-end/Drawer.js:
3001         Ensure child view is detached before marked as root.
3002         * inspector/front-end/View.js:
3003         (WebInspector.View.prototype.markAsRoot): Added assertion.
3004
3005 2013-02-20  Nils Barth  <nbarth@google.com>
3006
3007         File upload control doesn't apply CSS vertical padding or border to file name
3008         https://bugs.webkit.org/show_bug.cgi?id=109011
3009
3010         Reviewed by Hajime Morrita.
3011
3012         Test: fast/forms/file/file-vertical-padding-border.html
3013
3014         * rendering/RenderFileUploadControl.cpp:
3015             Add borderTop() and paddingTop() when computing position.
3016         (WebCore::RenderFileUploadControl::paintObject):
3017
3018 2013-02-19  Andrey Adaikin  <aandrey@chromium.org>
3019
3020         Few methods in WebGLRenderingContext.idl have incorrect signatures
3021         https://bugs.webkit.org/show_bug.cgi?id=110305
3022
3023         Reviewed by Kentaro Hara.
3024
3025         * html/canvas/WebGLRenderingContext.idl:
3026
3027 2013-02-19  Tim Horton  <timothy_horton@apple.com>
3028
3029         Clarify isInWindow vs. isVisible path through to RenderLayerCompositor
3030         https://bugs.webkit.org/show_bug.cgi?id=110261
3031         <rdar://problem/13196122>
3032
3033         Reviewed by Simon Fraser.
3034
3035         Remove RenderLayerCompositor::willMoveOffscreen/didMoveOnscreen.
3036         Add RenderLayerCompositor::setIsInWindow, and pipe in-window changes through from Page::setIsInWindow.
3037         Adjust a few Document functions that previously called RenderView::didMoveOnscreen/willMoveOffscreen to use setIsInWindow instead, since in-window state changes are occurring when attaching and detaching documents.
3038
3039         * WebCore.exp.in: Export Page::setIsInWindow.
3040         * dom/Document.cpp:
3041         (WebCore::Document::attach): Use setIsInWindow instead of didMoveOnscreen.
3042         (WebCore::Document::documentWillBecomeInactive): Use setIsInWindow instead of willMoveOffscreen.
3043         (WebCore::Document::documentDidResumeFromPageCache): Use setIsInWindow instead of didMoveOnscreen.
3044         * page/FrameView.cpp:
3045         (WebCore::FrameView::didMoveOnscreen):
3046         (WebCore::FrameView::willMoveOffscreen):
3047         RenderView doesn't care about moving on/offscreen, just in-window state.
3048         (WebCore::FrameView::setIsInWindow): Added. Forward isInWindow changes to our RenderView.
3049         * page/FrameView.h:
3050         (FrameView): Add setIsInWindow.
3051         * page/Page.cpp:
3052         (WebCore::Page::setIsInWindow): Added. Forward isInWindow changes to the Page's FrameViews.
3053         * page/Page.h:
3054         (Page): Add setIsInWindow.
3055         (WebCore::Page::isInWindow):
3056         * rendering/RenderLayerCompositor.cpp:
3057         (WebCore::RenderLayerCompositor::setIsInWindow): Added. Replace willMoveOffscreen/didMoveOnscreen with setIsInWindow,
3058         since that's the only change we actually care about.
3059         * rendering/RenderLayerCompositor.h:
3060         (RenderLayerCompositor): Add setIsInWindow.
3061         * rendering/RenderView.cpp:
3062         (WebCore::RenderView::setIsInWindow): Added. Replace willMoveOffscreen/didMoveOnscreen with setIsInWindow,
3063         since that's the only change RenderLayerCompositor actually cares about.
3064         * rendering/RenderView.h:
3065         (RenderView): Add setIsInWindow.
3066
3067 2013-02-19  Eugene Klyuchnikov  <eustas@chromium.org>
3068
3069         Web Inspector: Cleanup and add JSDocs to SuggestBox
3070         https://bugs.webkit.org/show_bug.cgi?id=110202
3071
3072         Reviewed by Pavel Feldman.
3073
3074         SuggestBox contains some obsolete/unused code and not fully
3075         covered with JSDocs.
3076
3077         * inspector/front-end/SuggestBox.js:
3078         (WebInspector.SuggestBox.prototype.visible):
3079         Replaced getter with function.
3080         (WebInspector.SuggestBox.prototype._onScrollOrResize):
3081         Use camel-case for function names.
3082         (WebInspector.SuggestBox.prototype._onBoxMouseDown): Ditto.
3083         (WebInspector.SuggestBox.prototype.updateSuggestions):
3084         Removed unused code.
3085         (WebInspector.SuggestBox.prototype.hide): Adopt changes.
3086         (WebInspector.SuggestBox.prototype._applySuggestion): Ditto.
3087         * inspector/front-end/TextPrompt.js:
3088         (WebInspector.TextPrompt.prototype.isSuggestBoxVisible): Ditto.
3089
3090 2013-02-19  Hayato Ito <hayato@chromium.org>
3091
3092         Calculate EventPath in EventDispatcher's constructor.
3093         https://bugs.webkit.org/show_bug.cgi?id=109905
3094
3095         Reviewed by Dimitri Glazkov.
3096
3097         This patch calculates an EventPath in EventDispatcher's
3098         constructor and removes EventDispatcher::ensureEventPath().
3099         We don't have any reason to initialize an EventPath lazily.
3100
3101         No tests. No change in behavior.
3102
3103         * dom/EventDispatcher.cpp:
3104         (WebCore::EventDispatcher::EventDispatcher):
3105         (WebCore::EventDispatcher::dispatch):
3106         * dom/EventDispatcher.h:
3107         (WebCore::EventDispatcher::eventPath):
3108         (EventDispatcher):
3109         * dom/FocusEvent.cpp:
3110         (WebCore::FocusEventDispatchMediator::dispatchEvent):
3111         (WebCore::BlurEventDispatchMediator::dispatchEvent):
3112         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
3113         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
3114         * dom/MouseEvent.cpp:
3115         (WebCore::MouseEventDispatchMediator::dispatchEvent):
3116
3117 2013-02-19  Simon Fraser  <simon.fraser@apple.com>
3118
3119         Fix TileCache tile size when zoomed on slow-scrolling site
3120         https://bugs.webkit.org/show_bug.cgi?id=110289
3121
3122         Reviewed by Tim Horton.
3123         
3124         In slow scrolling mode, we use the tile coverage rect as the tile size
3125         (so a single tile covers the viewport). When zoomed, the tile coverage rect
3126         shrinks relative to the TileCache, so scale the tile size back up.
3127
3128         Test: platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed.html
3129
3130         * platform/graphics/ca/mac/TileCache.mm:
3131         (WebCore::TileCache::tileSizeForCoverageRect):
3132
3133 2013-02-19  Hayato Ito  <hayato@chromium.org>
3134
3135         Rename AncestorChainWalker.
3136         https://bugs.webkit.org/show_bug.cgi?id=110146
3137
3138         Reviewed by Dimitri Glazkov.
3139
3140         Rename AncestorChainWalker to EventPathWalker.
3141         The term of EventPath is used in DOM Core spec.  EventPath was
3142         already introduced into a EventContext.h in r112055. We should
3143         spread this term into the Walker class since they share the same
3144         purpose.
3145
3146         No new tests, no behavior change.
3147
3148         * CMakeLists.txt:
3149         * GNUmakefile.list.am:
3150         * Target.pri:
3151         * WebCore.gypi:
3152         * WebCore.xcodeproj/project.pbxproj:
3153         * dom/DOMAllInOne.cpp:
3154         * dom/EventDispatcher.cpp:
3155         * dom/EventPathWalker.cpp: Renamed from Source/WebCore/dom/AncestorChainWalker.cpp.
3156         (WebCore):
3157         (WebCore::EventPathWalker::EventPathWalker):
3158         (WebCore::EventPathWalker::parent): parent() is now a static function to cover simple use cases.
3159         (WebCore::EventPathWalker::moveToParent): Renamed from parent().
3160         * dom/EventPathWalker.h: Renamed from Source/WebCore/dom/AncestorChainWalker.h.
3161         (WebCore):
3162         (EventPathWalker):
3163         (WebCore::EventPathWalker::node):
3164         (WebCore::EventPathWalker::isVisitingInsertionPointInReprojection): Renamed from isCrossingInsertionPoint().
3165         * dom/EventRetargeter.cpp:
3166         (WebCore::EventRetargeter::calculateEventPath):
3167         (WebCore::EventRetargeter::buildRelatedNodeMap):
3168         * dom/TreeScope.cpp:
3169         (WebCore::TreeScope::focusedNode):
3170         * html/HTMLLIElement.cpp:
3171         (WebCore::HTMLLIElement::attach):
3172         * page/EventHandler.cpp:
3173         (WebCore::EventHandler::updateMouseEventTargetNode):
3174         (WebCore::EventHandler::handleWheelEvent):
3175
3176 2013-02-19  Dean Jackson  <dino@apple.com>
3177
3178         Snapshotted plugin label should not be selectable
3179         https://bugs.webkit.org/show_bug.cgi?id=110286
3180
3181         Reviewed by Simon Fraser.
3182
3183         Update the CSS to make it clear that you should click
3184         on a snapshot (use the finger pointer) and disable
3185         text selection.
3186
3187         * css/plugIns.css:
3188         (embed::-webkit-snapshotted-plugin-content .snapshot-container .snapshot-label):
3189
3190 2013-02-19  Hans Muller  <hmuller@adobe.com>
3191
3192         [CSS Exclusions] Enable shape-inside support for ellipses
3193         https://bugs.webkit.org/show_bug.cgi?id=109868
3194
3195         Reviewed by Dirk Schulze.
3196
3197         This change is very similar to the one recently made for circles:
3198         removed the test that disabled ellipse values for shape-inside.
3199         The remaining support for ellipses, which is based on rounded rectangles
3200         whose width/height is equal to their radiusX/radiusY, has not changed.
3201
3202         Test: fast/exclusions/shape-inside/shape-inside-ellipse.html
3203
3204         * rendering/ExclusionShapeInsideInfo.h:
3205         (WebCore::ExclusionShapeInsideInfo::isEnabledFor): No longer disallows any BasicShape type.
3206
3207 2013-02-19  Uday Kiran  <udaykiran@motorola.com>
3208
3209         'round' not implemented in border-image
3210         https://bugs.webkit.org/show_bug.cgi?id=14185
3211
3212         Reviewed by David Hyatt.
3213
3214         Add rendering support for 'round' keyword of border-image-repeat CSS property
3215         http://dev.w3.org/csswg/css3-background/#border-image-repeat
3216         Rebased original patch by Benjamin Otte <otte@gnome.org> and made few fixes.
3217
3218         Test: fast/borders/border-image-02.html
3219
3220         * platform/graphics/GraphicsContext.cpp:
3221         (WebCore::GraphicsContext::drawTiledImage):
3222         * platform/graphics/GraphicsContext.h:
3223         (GraphicsContext):
3224         * platform/graphics/Image.cpp:
3225         (WebCore::Image::drawTiled):
3226         * platform/graphics/Image.h:
3227         (Image):
3228         * rendering/RenderBoxModelObject.cpp:
3229         (WebCore::RenderBoxModelObject::paintNinePieceImage): For 'round' keyword,
3230         the image is tiled (repeated) to fill the area. If it does not fill the area
3231         with a whole number of tiles, the image is rescaled so that it does.
3232
3233 2013-02-19  Conrad Shultz  <conrad_shultz@apple.com>
3234
3235         Allow UI clients to handle vertical wheel events.
3236         https://bugs.webkit.org/show_bug.cgi?id=110006
3237
3238         Reviewed by Tim Horton.
3239
3240         Add API to allow matching changes in WebKit2 to control rubber-banding behavior at vertical page extrema.
3241         If rubber-banding is disabled during a scroll event that would otherwise trigger rubber-banding, dispatch
3242         didNotHandleWheelEvent() to the page UI client.
3243
3244         * WebCore.exp.in:
3245         Export new rubber-banding API.
3246
3247         * page/Page.cpp:
3248         (WebCore):
3249         (WebCore::Page::rubberBandsAtBottom):
3250         Proxy for the corresponding function in ScrollingCoordinator.
3251         (WebCore::Page::setRubberBandsAtBottom):
3252         Ditto.
3253         (WebCore::Page::rubberBandsAtTop):
3254         Ditto.
3255         (WebCore::Page::setRubberBandsAtTop):
3256         Ditto.
3257
3258         * page/Page.h:
3259         (Page):
3260         Declare new rubber-banding API (above).
3261
3262         * page/scrolling/ScrollingCoordinator.h:
3263         (WebCore::ScrollingCoordinator::rubberBandsAtBottom):
3264         Stub API implementation.
3265         (WebCore::ScrollingCoordinator::setRubberBandsAtBottom):
3266         Ditto.
3267         (WebCore::ScrollingCoordinator::rubberBandsAtTop):
3268         Ditto.
3269         (WebCore::ScrollingCoordinator::setRubberBandsAtTop):
3270         Ditto.
3271
3272         * page/scrolling/ScrollingTree.cpp:
3273         (WebCore::ScrollingTree::ScrollingTree):
3274         Initialize new member variables.
3275         (WebCore::ScrollingTree::setMainFramePinState):
3276         Set top/bottom pinned states.
3277         (WebCore::ScrollingTree::rubberBandsAtBottom):
3278         New accessor function.
3279         (WebCore::ScrollingTree::setRubberBandsAtBottom):
3280         New mutator function.
3281         (WebCore::ScrollingTree::rubberBandsAtTop):
3282         New accessor function.
3283         (WebCore::ScrollingTree::setRubberBandsAtTop):
3284         New mutator function.
3285         (WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
3286         Start a vertical swipe event if the frame is pinned at the top or bottom and associated rubber-banding is disabled.
3287
3288         * page/scrolling/ScrollingTree.h:
3289         (ScrollingTree):
3290         Declare new rubber-banding API and associated member variables.
3291
3292         * page/scrolling/mac/ScrollingCoordinatorMac.h:
3293         (ScrollingCoordinatorMac):
3294         Declare API overrides.
3295
3296         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3297         (WebCore::ScrollingCoordinatorMac::rubberBandsAtBottom):
3298         Method override; proxy to corresponding function in ScrollingTree.
3299         (WebCore::ScrollingCoordinatorMac::setRubberBandsAtBottom):
3300         Ditto.
3301         (WebCore::ScrollingCoordinatorMac::rubberBandsAtTop):
3302         Ditto.
3303         (WebCore::ScrollingCoordinatorMac::setRubberBandsAtTop):
3304         Ditto.
3305
3306         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3307         (WebCore::ScrollingTreeScrollingNodeMac::pinnedInDirection):
3308         Remove trailing whitespace.
3309         (WebCore::ScrollingTreeScrollingNodeMac::updateMainFramePinState):
3310         Calculate and pass vertical pinning state to ScrollingTree::setMainFramePinState().
3311
3312 2013-02-19  Simon Fraser  <simon.fraser@apple.com>
3313
3314         Rubber-banding should not affect the visibleRect of the TileCache
3315         https://bugs.webkit.org/show_bug.cgi?id=110278
3316
3317         Reviewed by Beth Dakin.
3318         
3319         When rubber-banding a slow-scrolling page, or image document, we would constantly re-create
3320         the bottom tile because of the logic that adapts the tile size to the visible rect when slow
3321         scrolling.
3322         
3323         Avoid that by ensuring that the visibleRect is not affected by rubber-banding. This is done
3324         via a GraphicsLayerClient function that allows RenderLayerCompositor to provide a custom
3325         position for the scroll layer. We constrain that scroll position to remove the overhang that
3326         results from rubber-banding.
3327
3328         I wasn't able to make a test for this, even with internals.setScrollViewPosition().
3329
3330         * platform/graphics/GraphicsLayerClient.h:
3331         (GraphicsLayerClient):
3332         (WebCore::GraphicsLayerClient::customPositionForVisibleRectComputation):
3333         * platform/graphics/ca/GraphicsLayerCA.cpp:
3334         (WebCore::GraphicsLayerCA::computeVisibleRect):
3335         * rendering/RenderLayerCompositor.cpp:
3336         (WebCore::RenderLayerCompositor::customPositionForVisibleRectComputation):
3337         * rendering/RenderLayerCompositor.h:
3338
3339 2013-02-19  Tony Gentilcore  <tonyg@chromium.org>
3340
3341         Fix crash in preloading scanning base tags with no href attribute for background parser
3342         https://bugs.webkit.org/show_bug.cgi?id=110276
3343
3344         Reviewed by Eric Seidel.
3345
3346         Previously a <base> tag without an href attribute (like the one in fast/dom/HTMLAnchorElement/set-href-attribute-rebase.html)
3347         would crash the background parser's preload scanner.
3348
3349         To fix that, we only call stripLeadingAndTrailingHTMLSpaces() if the href attribute is non-null. This matches the main thread parser.
3350
3351         Along with this, I decided to templatize updatePredictedBaseURL() so that the main and background parser can share the same impl.
3352
3353         This required making CompactHTMLToken and HTMLToken a little more similar:
3354         1. Give HTMLToken a getAttributeItem() method.
3355         2. Move CompactAttribute to CompactHTMLToken::Attribute and make it a struct.
3356
3357         No new tests because covered by existing tests.
3358
3359         * html/parser/AtomicHTMLToken.h:
3360         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
3361         * html/parser/CompactHTMLToken.cpp:
3362         (SameSizeAsCompactHTMLToken):
3363         (WebCore::CompactHTMLToken::CompactHTMLToken):
3364         (WebCore::CompactHTMLToken::getAttributeItem):
3365         (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
3366         * html/parser/CompactHTMLToken.h:
3367         (WebCore::CompactHTMLToken::Attribute::Attribute):
3368         (Attribute):
3369         (WebCore::CompactHTMLToken::attributes):
3370         (CompactHTMLToken):
3371         (WebCore::CompactHTMLToken::publicIdentifier):
3372         (WebCore::CompactHTMLToken::systemIdentifier):
3373         * html/parser/HTMLParserIdioms.h:
3374         (WebCore):
3375         (WebCore::stripLeadingAndTrailingHTMLSpaces):
3376         * html/parser/HTMLPreloadScanner.cpp:
3377         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
3378         (WebCore):
3379         (WebCore::TokenPreloadScanner::updatePredictedBaseURL):
3380         * html/parser/HTMLPreloadScanner.h:
3381         * html/parser/HTMLToken.h:
3382         (WebCore::HTMLToken::getAttributeItem):
3383         (HTMLToken):
3384
3385 2013-02-19  Mark Lam  <mark.lam@apple.com>
3386
3387         Introducing AbstractSQLTransaction and AbstractSQLTransactionBackend.
3388         https://bugs.webkit.org/show_bug.cgi?id=110273.
3389
3390         Reviewed by Anders Carlsson.
3391
3392         This is part of the webdatabase refactoring for webkit2.
3393         - Also changed the frontend and backend to only refer to the
3394           abstract interface of each other.
3395
3396         No new tests.
3397
3398         * Modules/webdatabase/AbstractSQLTransaction.h: Added.
3399         (AbstractSQLTransaction):
3400         (WebCore::AbstractSQLTransaction::~AbstractSQLTransaction):
3401         * Modules/webdatabase/AbstractSQLTransactionBackend.h: Added.
3402         (AbstractSQLTransactionBackend):
3403         (WebCore::AbstractSQLTransactionBackend::~AbstractSQLTransactionBackend):
3404         * Modules/webdatabase/SQLTransaction.cpp:
3405         (WebCore::SQLTransaction::hasCallback):
3406         (WebCore::SQLTransaction::hasSuccessCallback):
3407         (WebCore::SQLTransaction::hasErrorCallback):
3408         (WebCore::SQLTransaction::setBackend):
3409         * Modules/webdatabase/SQLTransaction.h:
3410         (SQLTransaction):
3411         * Modules/webdatabase/SQLTransactionBackend.cpp:
3412         (WebCore::SQLTransactionBackend::create):
3413         (WebCore::SQLTransactionBackend::SQLTransactionBackend):
3414         * Modules/webdatabase/SQLTransactionBackend.h:
3415         (SQLTransactionBackend):
3416         * Modules/webdatabase/SQLTransactionStateMachine.h:
3417
3418 2013-02-19  Emil A Eklund  <eae@chromium.org>
3419
3420         Change computeStickyPositionConstraints to use LayoutBoxExtent for margins
3421         https://bugs.webkit.org/show_bug.cgi?id=108872
3422
3423         Reviewed by Levi Weintraub.
3424         
3425         Change RenderBoxModelObject::computeStickyPositionConstraints to
3426         use a LayoutBoxExtent to represent margins.
3427
3428         No new tests, no change in functionality.
3429
3430         * platform/graphics/LayoutRect.h:
3431         (WebCore::LayoutRect::contract):
3432         Add version contract methods that takes a LayoutBoxExtent object.
3433         
3434         * platform/graphics/LayoutSize.h:
3435         (WebCore::LayoutSize::shrink):
3436         Add shrink method.
3437         
3438         * rendering/RenderBoxModelObject.cpp:
3439         (WebCore::RenderBoxModelObject::computeStickyPositionConstraints):
3440         Change to use a LayoutBoxExtent object to represent margins.
3441
3442 2013-02-19  Tony Gentilcore  <tonyg@chromium.org>
3443
3444         Disable ASSERT(!hasInsertionPoint()) for background parser
3445         https://bugs.webkit.org/show_bug.cgi?id=110251
3446
3447         Reviewed by Adam Barth.