e6adf7b5ed15d6d0eb7b2e125668be06b64c303f
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-22  Kentaro Hara  <haraken@chromium.org>
2
3         Unreviewed build fix. Added missing #if PLATFORM(CHROMIUM).
4
5         * dom/Document.cpp:
6         (WebCore::Document::recalcStyle):
7         * page/FrameView.cpp:
8         (WebCore::FrameView::layout):
9
10 2013-02-22  Kentaro Hara  <haraken@chromium.org>
11
12         Document::styleRecalc() and FrameView::layout() should be traced
13         https://bugs.webkit.org/show_bug.cgi?id=110646
14
15         Reviewed by Ojan Vafai.
16
17         Document::styleRecalc() and FrameView::layout() are key factors
18         for web page rendering performance. We should add TRACE_EVENT()
19         macros to these functions.
20
21         * dom/Document.cpp:
22         (WebCore::Document::recalcStyle):
23         * page/FrameView.cpp:
24         (WebCore::FrameView::layout):
25
26 2013-02-22  Eric Seidel  <eric@webkit.org>
27
28         Teach the html5lib tests how to test the threaded HTML parser
29         https://bugs.webkit.org/show_bug.cgi?id=110643
30
31         Reviewed by Adam Barth.
32
33         This adds a way to force data: url parsing to go through
34         the threaded parser, to enable us to test the threaded parser
35         using the html5lib test harness.
36
37         * html/parser/HTMLParserOptions.cpp:
38         (WebCore::HTMLParserOptions::HTMLParserOptions):
39         * page/Settings.in:
40
41 2013-02-21  Ojan Vafai  <ojan@chromium.org>
42
43         Increase the max preferred width of tables to 1000000
44         https://bugs.webkit.org/show_bug.cgi?id=110545
45
46         Reviewed by Emil A Eklund.
47
48         Test: fast/table/large-shrink-wrapped-width.html
49
50         The old limit of 15000 was picked arbitrarily to avoid overflow.
51         No need to pick such a small number.
52
53         * rendering/AutoTableLayout.cpp:
54         (WebCore::AutoTableLayout::computeInstrinsicLogicalWidths):
55         As best I can tell, this code is just wrong. Removing this makes the
56         new test pass and doesn't cause any test failure. While we have many
57         tests that hit this codepath, this code would only
58         show a difference in the cases where the available container width is
59         greater then 15000, and I don't think we have any tests that hit that case
60         other than this new one.
61         * rendering/TableLayout.h:
62
63 2013-02-22  Adam Barth  <abarth@webkit.org>
64
65         Threaded HTML parser should pass fast/parser/iframe-sets-parent-to-javascript-url.html
66         https://bugs.webkit.org/show_bug.cgi?id=110637
67
68         Reviewed by Eric Seidel.
69
70         With the main thread parser, we always parse the first chunk of content
71         returned as the result of evaluating a JavaScript URL synchronously. In
72         particular, if the first chunk has an inline script, we'll execute it
73         synchronously.
74
75         Previous to this patch, the threaded parser would always parse this
76         content asynchronously. It's conceivable that there could be some
77         content relying on the synchronous behavior, so this patch introduces
78         the notion of "pinning" a parser to the main thread and uses that
79         concept to force the result of JavaScript URLs to be parsed on the main
80         thread (which is probably desirable anyway because they're likely to be
81         quite short).
82
83         This patch fixes fast/parser/iframe-sets-parent-to-javascript-url.html
84         and fast/dom/javascript-url-crash-function.html with the threaded
85         parser with --enable-threaded-html-parser.
86
87         * dom/DocumentParser.h:
88         (WebCore::DocumentParser::pinToMainThread):
89         (DocumentParser):
90         * html/parser/HTMLDocumentParser.cpp:
91         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
92         (WebCore):
93         (WebCore::HTMLDocumentParser::pinToMainThread):
94         * html/parser/HTMLDocumentParser.h:
95         (HTMLDocumentParser):
96         (WebCore::HTMLDocumentParser::shouldUseThreading):
97         * loader/DocumentWriter.cpp:
98         (WebCore::DocumentWriter::replaceDocument):
99
100 2013-02-22  Joe Mason  <jmason@rim.com>
101
102         [BlackBerry] Reread cookies when retrying a request with new auth credentials
103         https://bugs.webkit.org/show_bug.cgi?id=110628
104
105         Reviewed by George Staikos.
106
107         Internal PR: 298805
108         Internally Reviewed By: Leo Yang
109
110         The "isRedirect" parameter of initializePlatformRequest is only used to decide whether to
111         reread cookies. Since we must reread cookies when resending a request with new auth
112         credentials as well, rename this to "rereadCookies".
113
114         The only caller which sets this parameter rather than using the default value is
115         NetworkManager::startJob, which also has other processing on redirect. So add a new
116         "rereadCookies" parameter to startJob and ensure it is always set to true on a redirect, but
117         can also be set to true on a non-redirect. And when startJob is called due to new auth
118         credentials, set it to true.
119
120         * platform/network/blackberry/NetworkJob.cpp:
121         (WebCore::NetworkJob::startNewJobWithRequest): Add rereadCookies parameter, pass it to
122         startJob.
123         (WebCore::NetworkJob::handleRedirect): Set new rereadCookies param of startNewJob to true.
124         (WebCore::NetworkJob::notifyChallengeResult): Set new rereadCookies param of startNewJob to
125         true.
126         * platform/network/blackberry/NetworkJob.h:
127         (NetworkJob): Add rereadCookies parameter to startNewJobWithRequest.
128         * platform/network/blackberry/NetworkManager.cpp:
129         (WebCore::NetworkManager::startJob): Add rereadCookies parameter, pass it instead of
130         redirectCount to initializePlatformRequest.
131         * platform/network/blackberry/NetworkManager.h:
132         (NetworkManager): Add rereadCookies parameter to startJob.
133         * platform/network/blackberry/ResourceRequest.h:
134         (ResourceRequest): Rename isRedirect parameter to rereadCookies.
135         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
136         (WebCore::ResourceRequest::initializePlatformRequest): Rename isRedirect to rereadCookies.
137
138 2013-02-22  Benjamin Poulain  <bpoulain@apple.com>
139
140         Use CFNotificationCenter instead of NSNotificationCenter for SharedTimerIOS
141         https://bugs.webkit.org/show_bug.cgi?id=110544
142
143         Reviewed by Daniel Bates.
144
145         Previously, we were instantiating the Obj-C object WebCoreResumeNotifierIOS
146         with the only purpose of forwarding one notification to a C function.
147
148         This patch updates the code to use CFNotificationCenter to dispatch the notification
149         without the intermediary object.
150
151         * platform/ios/SharedTimerIOS.mm:
152         (WebCore::applicationDidBecomeActive):
153         (WebCore::setSharedTimerFireInterval):
154
155 2013-02-22  Kenneth Russell  <kbr@google.com>
156
157         Uint8ClampedArray constructor is wrong in WorkerContext.idl
158         https://bugs.webkit.org/show_bug.cgi?id=110634
159
160         Reviewed by Adam Barth.
161
162         Tests: fast/canvas/webgl/typed-arrays-in-workers.html
163                webgl/conformance/typedarrays/typed-arrays-in-workers.html
164
165         * workers/WorkerContext.idl:
166
167 2013-02-21  Mark Lam  <mark.lam@apple.com>
168
169         Add some checks to DatabaseTracker::getMaxSizeForDatabase() to ensure
170         that it returns a sane value.
171         https://bugs.webkit.org/show_bug.cgi?id=110557.
172
173         Reviewed by Geoffrey Garen.
174
175         No layout test, but there is a quota-test.html attached to bugzilla.
176         The test is a webpage that can be loaded into multiple tabs to
177         consuming storage space. Once the test webpages are loaded, you will
178         need to monitor the database directory and its files to confirm that
179         growth is bounded. Also try reloading the test in the tabs. At no
180         time should any database file ever exceed the quota.
181
182         * Modules/webdatabase/DatabaseTracker.cpp:
183         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
184
185 2013-02-22  James Simonsen  <simonjam@chromium.org>
186
187         Preloads should be cleared when JavaScript cancels loading prematurely.
188         https://bugs.webkit.org/show_bug.cgi?id=110388
189
190         Reviewed by Antti Koivisto.
191
192         If a page preloads a resource, but JavaScript aborts parsing for any reason (for example, a
193         redirect or document.write()), the resource is forever marked a preload and won't be reloaded
194         even if it's explicitly marked no-cache and the page is reloaded.
195
196         Test: http/tests/cache/preload-cleared-after-parrsing-canceled-by-js.html
197
198         * dom/Document.cpp:
199         (WebCore::Document::implicitClose):
200         (WebCore::Document::finishedParsing):
201
202 2013-02-22  Antoine Quint  <graouts@apple.com>
203
204         Expose a list of all reasons that qualify a RenderLayer to be composited
205         https://bugs.webkit.org/show_bug.cgi?id=110505
206
207         Expose the various reasons that can qualify a RenderLayer to be composited
208         via a new bitmask returned by the reasonForCompositing() method on
209         RenderLayerCompositor. This method already existed and was used for logging
210         purposes, but the previous functionality is now accessed via the
211         logReasonForCompositing() method.
212
213         This will allow the the InspectorLayerTreeAgent to provide this information
214         to the front-end on a per-layer basis as requested by the front-end.
215
216         Reviewed by Simon Fraser.
217
218         No new tests.
219
220         * rendering/RenderLayerCompositor.cpp:
221         (WebCore::RenderLayerCompositor::logLayerInfo):
222         (WebCore::RenderLayerCompositor::reasonsForCompositing):
223         (WebCore):
224         (WebCore::RenderLayerCompositor::logReasonsForCompositing):
225         * rendering/RenderLayerCompositor.h:
226         (RenderLayerCompositor):
227
228 2013-02-22  Beth Dakin  <bdakin@apple.com>
229
230         ScrollingStateTree::rootStateNode() should be null-checked since it can be null
231         https://bugs.webkit.org/show_bug.cgi?id=110631
232
233         Reviewed by Simon Fraser.
234
235         This is a speculative fix for <rdar://problem/13233090> and 
236         <rdar://problem/12519348>. It is totally possible for rootStateNode() to be null, 
237         so we should null-check it.
238
239         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
240         (WebCore::ScrollingCoordinatorMac::setShouldUpdateScrollLayerPositionOnMainThread):
241         (WebCore::ScrollingCoordinatorMac::syncChildPositions):
242
243 2013-02-22  Mike Reed  <reed@google.com>
244
245         Check for null-device when calling createCompatibleDevice
246         https://bugs.webkit.org/show_bug.cgi?id=107981
247
248         Reviewed by James Robinson.
249
250         No new tests. Current tests provided coverage. Site in the wild triggered the failure
251         (cairo failed to allocate a huge surface).
252
253         * platform/graphics/skia/ImageBufferSkia.cpp:
254         (WebCore::ImageBuffer::ImageBuffer):
255
256 2013-02-22  Chris Rogers  <crogers@google.com>
257
258         AudioDestination::create() needs extra device identification information for live/local input streams
259         https://bugs.webkit.org/show_bug.cgi?id=109494
260
261         Reviewed by James Robinson.
262
263         AudioDestination::create() supports live/local audio input.  But, since there may be multiple
264         audio input devices available, an identifier for the requested input device needs to be
265         passed in.  The embedder may then use this information so that the proper audio hardware is
266         accessed.
267
268         * Modules/webaudio/AudioContext.cpp:
269         (WebCore::AudioContext::createMediaStreamSource):
270         * Modules/webaudio/AudioDestinationNode.h:
271         (AudioDestinationNode):
272         * Modules/webaudio/DefaultAudioDestinationNode.cpp:
273         (WebCore::DefaultAudioDestinationNode::initialize):
274         (WebCore::DefaultAudioDestinationNode::createDestination):
275         (WebCore::DefaultAudioDestinationNode::enableInput):
276         * Modules/webaudio/DefaultAudioDestinationNode.h:
277         (DefaultAudioDestinationNode):
278         * Modules/webaudio/OfflineAudioDestinationNode.h:
279         * platform/audio/AudioDestination.h:
280         (AudioDestination):
281         * platform/audio/chromium/AudioDestinationChromium.cpp:
282         (WebCore::AudioDestination::create):
283         (WebCore::AudioDestinationChromium::AudioDestinationChromium):
284         * platform/audio/chromium/AudioDestinationChromium.h:
285         (AudioDestinationChromium):
286         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
287         (WebCore::AudioDestination::create):
288         * platform/audio/mac/AudioDestinationMac.cpp:
289         (WebCore::AudioDestination::create):
290         * platform/chromium/support/WebMediaStreamSource.cpp:
291         (WebKit::WebMediaStreamSource::deviceId):
292         (WebKit):
293         (WebKit::WebMediaStreamSource::setDeviceId):
294         * platform/mediastream/MediaStreamSource.h:
295         (WebCore::MediaStreamSource::deviceId):
296         (WebCore::MediaStreamSource::setDeviceId):
297         (MediaStreamSource):
298
299 2013-02-22  Ryosuke Niwa  <rniwa@webkit.org>
300
301         Binding tests rebaseline after r143737.
302
303         * bindings/scripts/test/V8/V8Float64Array.cpp:
304         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
305         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
306         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
307         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
308         * bindings/scripts/test/V8/V8TestException.cpp:
309         * bindings/scripts/test/V8/V8TestInterface.cpp:
310         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
311         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
312         * bindings/scripts/test/V8/V8TestNode.cpp:
313         * bindings/scripts/test/V8/V8TestObj.cpp:
314         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
315         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
316         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
317
318 2013-02-22  Kunihiko Sakamoto  <ksakamoto@chromium.org>
319
320         INPUT_MULTIPLE_FIELDS_UI: Unable to enter "24" to hour field
321         https://bugs.webkit.org/show_bug.cgi?id=110431
322
323         Reviewed by Kent Tamura.
324
325         Fixed a bug that hour-field does not accept "24" as a valid input when hour format is 1-24.
326         To test <input> against different time formats, added "pattern" attribute to DateTimeEditElement.
327
328         Test: fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html
329
330         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
331         (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue): Overwrites layoutParameters.dateTimeFormat by pattern attribute of DateTimeEditElement (if exists).
332         * html/shadow/DateTimeFieldElements.cpp:
333         (WebCore::DateTimeHourFieldElement::populateDateTimeFieldsState): Fixed a bug where AM/PM value was passed to setHour().
334         (WebCore::DateTimeHourFieldElement::setValueAsInteger): Clamps the given value to 0-24 when the range of the field is 1-12 or 1-24. Renamed the parameter as it may not be an hour23 value (0-23).
335
336 2013-02-21  Zoltan Horvath  <zoltan@webkit.org>
337
338         [CSS Regions] Region boxes should respect -shape-inside CSS property
339         https://bugs.webkit.org/show_bug.cgi?id=107880
340
341         Reviewed by David Hyatt.
342
343         The shape-inside CSS property modifies the shape of the inner inline flow content from rectangular content box
344         to an arbitrary geometry. The detailed documentation is located in the CSS-Exclusions specification:
345         http://dev.w3.org/csswg/css3-exclusions/#shape-inside-property. This change adds support for the shape-inside property
346         on CSS Regions.
347
348         Test: fast/regions/shape-inside-on-regions.html
349
350         * rendering/ExclusionShapeInfo.cpp:
351         (WebCore):
352         (WebCore::::logicalTopOffset): Shape dimension should be relative to the current region.
353         * rendering/ExclusionShapeInfo.h:
354         (ExclusionShapeInfo):
355         (WebCore::::logicalTopOffset): Move the implementation to ExclusionShapeInfo.cpp.
356         * rendering/RenderBlockLineLayout.cpp:
357         (WebCore::logicalHeightForLine): Move the function prior to layoutExclusionShapeInsideInfo, since we need to use it there.
358         (WebCore):
359         (WebCore::layoutExclusionShapeInsideInfo): Add support for cases when shape-inside is a region-block property.
360         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Update the exclusion shape information for every line, since the content
361         could flow through several region containers which can have different shape-inside properties.
362
363 2013-02-21  Ojan Vafai  <ojan@chromium.org>
364
365         Add computeInstrinsicLogicalWidths functions to TableLayout subclasses
366         https://bugs.webkit.org/show_bug.cgi?id=110520
367
368         Reviewed by Tony Chang.
369
370         This is just a refactor in preparation for adding RenderTable::computeIntinsicLogicalWidths.
371         No change in behavior.
372
373         Split the computePreferredLogicalWidths functions into a computeIntinsicLogicalWidths
374         and a applyPreferredLogicalWidthQuirks. Also, move the addition of bordersPaddingAndSpacing
375         into RenderTable since both TableLayout subclasses need this.
376
377         This has the added readability benefit of better isolating the quirks that each table layout
378         mode requires.
379
380         * rendering/AutoTableLayout.cpp:
381         (WebCore::AutoTableLayout::computeIntrinsicLogicalWidths):
382         (WebCore::AutoTableLayout::applyPreferredLogicalWidthQuirks):
383         * rendering/AutoTableLayout.h:
384         (AutoTableLayout):
385         * rendering/FixedTableLayout.cpp:
386         (WebCore::FixedTableLayout::computeIntrinsicLogicalWidths):
387         (WebCore::FixedTableLayout::applyPreferredLogicalWidthQuirks):
388         * rendering/FixedTableLayout.h:
389         (FixedTableLayout):
390         * rendering/RenderTable.cpp:
391         (WebCore::RenderTable::computePreferredLogicalWidths):
392         * rendering/TableLayout.h:
393         (TableLayout):
394
395 2013-02-22  David Hyatt  <hyatt@apple.com>
396
397         [New Multicolumn] Correctly track whether or not a layer is paginated.
398         https://bugs.webkit.org/show_bug.cgi?id=110625.
399
400         Taking the first step towards implementing the correct spec-compliant painting
401         model for the new multi-column layout. Add code to make sure the paginated
402         bits in RenderLayer get propagated correctly for the new layout.
403         
404         The main difference in bit propagation between the old multicolumn layout and
405         the new multicolumn layout is that the old layout only tracked pagination "roots",
406         since it has a broken layer painting model. It incorrectly treats a pagination
407         "root" inside a multi-column block as establishing a stacking context in each
408         column. This is incorrect.
409         
410         The new multicolumn code is going to paint each paginated layer individually,
411         and this means the bits can't just be about roots. Instead they have to be set
412         on every layer that may be split across columns, without regard for whether parent
413         layers are also split or not. This is actually a simpler bit propagation model
414         than the old code.
415
416         Reviewed by Beth Dakin.
417
418         * rendering/RenderLayer.cpp:
419         (WebCore::RenderLayer::updateLayerPositions):
420         Add code to set the m_isPaginated bit for in-flow RenderFlowThreads. This includes
421         only RenderMultiColumnFlowThread for now, but eventually it will also include
422         RenderPageFlowThread.
423
424         (WebCore::RenderLayer::useRegionBasedColumns):
425         Add a helper method to check if region-based columns are turned on, since we're
426         not attempting to alter the old column pagination model.
427
428         (WebCore::RenderLayer::updatePagination):
429         Added the code to propagate bits under the new model. Whether or not you're paginated
430         just depends on whether or not your enclosing layer along the containing block chain
431         is paginated.
432
433         (WebCore::RenderLayer::paintList):
434         (WebCore::RenderLayer::hitTestList):
435         Add code that avoids the old multi-column pagination model when the new column model
436         is enabled. For now there is no code in the new model that does anything with the bits,
437         but we're avoiding calling the old code, since it is broken for the new columns.
438
439         * rendering/RenderLayer.h:
440         (RenderLayer):
441         Added the useRegionBasedColumns method to check the Setting.
442
443         * rendering/RenderMultiColumnFlowThread.h:
444         * rendering/RenderObject.h:
445         (WebCore::RenderObject::isInFlowRenderFlowThread):
446         (RenderObject):
447         Implement isInFlowRenderFlowThread, a virtual function for asking if a renderer is
448         an in-flow RenderFlowThread, which means that it is going to need paginated layers
449         because the flow thread has to split across "pages" that do not establish stacking
450         contexts.
451
452 2013-02-22  Bem Jones-Bey  <bjonesbe@adobe.com>
453
454         text-overflow:ellipsis is not applied when the block contains nested blocks
455         https://bugs.webkit.org/show_bug.cgi?id=101879
456
457         Reviewed by Eric Seidel.
458
459         Since text-overflow is not an inherited property, the anonymous blocks
460         don't know they should ellipse. This causes the anonymous blocks
461         created in the nested block situation to check their parent to find
462         out if they should ellipse.
463
464         Test: fast/css/text-overflow-ellipsis-anonymous-blocks.html
465
466         * rendering/RenderBlockLineLayout.cpp:
467         (WebCore::RenderBlock::layoutInlineChildren):
468
469 2013-02-22  Eric Seidel  <eric@webkit.org>
470
471         REGRESSION(r143664, r143681): http/tests/security/feed-urls-from-remote.html fails
472         https://bugs.webkit.org/show_bug.cgi?id=110554
473
474         Reviewed by Adam Barth.
475
476         Will fix http/tests/security/feed-urls-from-remote.html for Mac WK1.
477
478         * loader/DocumentLoader.cpp:
479         (WebCore::DocumentLoader::isLoading):
480
481 2013-02-22  Mark Rowe  <mrowe@apple.com>
482
483         Build fix after r143637.
484
485         * WebCore.exp.in: Unconditionally export ScriptController::javaScriptContext.
486         * bindings/js/ScriptController.h: Unconditionally define javaScriptContext for Mac builds.
487         * bindings/js/ScriptControllerMac.mm:
488         (WebCore::ScriptController::javaScriptContext): Move the #if inside the function, and return 0 when false.
489
490 2013-02-22  Anton Vayvod  <avayvod@chromium.org>
491
492         [TextAutosizing] Refactoring to eliminate boolean parameter.
493         https://bugs.webkit.org/show_bug.cgi?id=110490
494
495         Reviewed by Julien Chaffraix.
496
497         A follow-up to the recent change that introduced a boolean parameter to
498         processClusterInternal method of TextAutosizer. Boolean parameters are discouraged by the
499         WebKit style guide. See http://trac.webkit.org/changeset/142866
500
501         Refactoring so no new tests.
502
503         * rendering/TextAutosizer.cpp:
504         (WebCore::TextAutosizer::clusterMultiplier):
505
506                 Calculates the font size multiplier for the specified cluster.
507
508         (WebCore::TextAutosizer::processClusterInternal):
509
510                 Accepts the font size multiplier instead of |shouldBeAutosized|.
511
512         (WebCore::TextAutosizer::processCluster):
513         (WebCore::TextAutosizer::processCompositeCluster):
514
515                 Both methods above now calculate the multiplier and then pass it to
516                 processClusterInternal.
517
518         * rendering/TextAutosizer.h:
519
520                 Updated method declarations.
521
522 2013-02-22  Carlos Garcia Campos  <cargarcia@rim.com>
523
524         [BlackBerry] Use KURL::protocolIsInHTTPFamily instead of KURL::protocolInHTTPFamily
525         https://bugs.webkit.org/show_bug.cgi?id=110581
526
527         Reviewed by Rob Buis.
528
529         KURL::protocolInHTTPFamily() was removed in r109670.
530
531         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
532         (WebCore::ResourceRequest::clearHTTPContentLength):
533         (WebCore::ResourceRequest::clearHTTPContentType):
534
535 2013-02-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
536
537         Unreviewed build-fix after r143744.
538
539         * dom/Document.cpp:
540         (WebCore::Document::updateHoverActiveState):
541
542 2013-02-22  Andrey Adaikin  <aandrey@chromium.org>
543
544         Web Inspector: [Canvas] throttle replayTraceLog messages to backend
545         https://bugs.webkit.org/show_bug.cgi?id=110591
546
547         Reviewed by Pavel Feldman.
548
549         The replayTraceLog message may be quite expensive. So, while such a request is processed by the
550         backend, user may well generate a dozen of new ones simply by walking through the DataGrid.
551         We should actually send to the backend only the last event from the queue.
552
553         * inspector/front-end/CanvasProfileView.js:
554         (WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
555         (WebInspector.CanvasProfileView.prototype._replayTraceLog):
556
557 2013-02-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
558
559         Multiple Layout Test crashes (ASSERT) on chromium linux debug after r143727
560         https://bugs.webkit.org/show_bug.cgi?id=110609
561
562         Reviewed by Antonio Gomes.
563
564         Revert r128869. InnerNode may now again be from a child document, 
565         and should be handled and not asserted against.
566
567         * dom/Document.cpp:
568         (WebCore::Document::updateHoverActiveState):
569
570 2013-02-22  Andreas Kling  <akling@apple.com>
571
572         Element: Make updateName/updateId/updateLabel private.
573         <http://webkit.org/b/110603>
574
575         Reviewed by Antti Koivisto.
576
577         These methods are only called from inside Element so make them private and
578         move them to the .cpp file.
579
580         * dom/Element.cpp:
581         (WebCore::Element::updateName):
582         (WebCore::Element::updateId):
583         * dom/Element.h:
584
585 2013-02-21  Zhenyao Mo  <zmo@google.com>
586
587         Roll ANGLE to r1833
588         https://bugs.webkit.org/show_bug.cgi?id=110513
589
590         Reviewed by Kenneth Russell.
591
592         * CMakeLists.txt:
593         * GNUmakefile.list.am:
594
595 2013-02-22  Carlos Garcia Campos  <cargarcia@rim.com>
596
597         [BlackBerry] Rename first/second to key/value in HashMap iterators
598         https://bugs.webkit.org/show_bug.cgi?id=110577
599
600         Reviewed by Rob Buis.
601
602         Iterators were renamed to key/value in r130612.
603
604         * platform/blackberry/AuthenticationChallengeManager.cpp:
605         (WebCore::AuthenticationChallengeManager::pageVisibilityChanged):
606         * platform/network/blackberry/NetworkJob.cpp:
607         (WebCore::NetworkJob::handleNotifyMultipartHeaderReceived):
608
609 2013-02-22  Kentaro Hara  <haraken@chromium.org>
610
611         [V8] Add comments to checkTypeOrDieTrying()
612         https://bugs.webkit.org/show_bug.cgi?id=110553
613
614         Reviewed by Adam Barth.
615
616         It is mysterious how the check is helpful. We need comments.
617
618         No tests. Just added comments.
619
620         * bindings/scripts/CodeGeneratorV8.pm:
621         (GenerateImplementation):
622         * bindings/v8/ScriptWrappable.h:
623         (ScriptWrappable):
624
625 2013-02-22  Jessie Berlin  <jberlin@apple.com>
626
627         32-bit build fix after r143706
628
629         * fileapi/FileReaderLoader.cpp:
630         (WebCore::FileReaderLoader::didReceiveData):
631
632 2013-02-22  Andrey Adaikin  <aandrey@chromium.org>
633
634         Web Inspector: [Canvas] do no show a single frame node in data grid
635         https://bugs.webkit.org/show_bug.cgi?id=110473
636
637         Reviewed by Pavel Feldman.
638
639         In a single canvas frame capture mode do not show the single "Frame #1" node.
640         Drive-by: Fix a wrong "this" pointer.
641
642         * inspector/front-end/CanvasProfileView.js:
643         (WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
644         (WebInspector.CanvasProfileView.prototype.appendDrawCallGroup):
645         (WebInspector.CanvasProfileView.prototype._flattenSingleFrameNode):
646
647 2013-02-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
648
649         Multiple Layout Test crashes (ASSERT) on chromium linux debug after r143727
650         https://bugs.webkit.org/show_bug.cgi?id=110609
651
652         Reviewed by Antonio Gomes.
653
654         Point based hit tests should not append but assign HitTestResults.
655
656         * rendering/RenderFrameBase.cpp:
657         (WebCore::RenderFrameBase::nodeAtPoint):
658
659 2013-02-22  Andrey Lushnikov  <lushnikov@chromium.org>
660
661         Web Inspector: show source location after drawer views
662         https://bugs.webkit.org/show_bug.cgi?id=110156
663
664         Reviewed by Pavel Feldman.
665
666         - Add statusBarText method
667         - Add #drawer-view-anchor, which determines layout position of
668         drawerView
669         - Fix layout in #panel-status-bar to avoid floating elements.
670
671         No new tests.
672
673         * inspector/front-end/Panel.js:
674         (WebInspector.Panel.prototype.wasShown): Add statusBarItems before
675         drawer-view-anchor and statusBarText after.
676         (WebInspector.Panel.prototype.willHide): Remove statusBarText from DOM in the
677         way it's done for statusBarItems
678         * inspector/front-end/ScriptsPanel.js:
679         (WebInspector.ScriptsPanel.prototype.statusBarText): Added.
680         * inspector/front-end/SourceFrame.js:
681         (WebInspector.SourceFrame.prototype.statusBarText): Added.
682         (WebInspector.SourceFrame.prototype.statusBarItems):
683         * inspector/front-end/TimelinePanel.js:
684         (WebInspector.TimelinePanel.prototype.get statusBarItems):
685         * inspector/front-end/View.js:
686         (WebInspector.View.prototype.statusBarText):
687         * inspector/front-end/inspector.css:
688         (#drawer-view-anchor):
689         (.source-frame-cursor-position):
690         * inspector/front-end/inspector.html:
691         * inspector/front-end/inspector.js:
692         (WebInspector.showViewInDrawer):
693         * inspector/front-end/timelinePanel.css:
694         (.timeline-records-stats):
695         (.timeline-records-stats-container):
696
697 2013-02-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
698
699         Allow child-frame content in hit-tests.
700         https://bugs.webkit.org/show_bug.cgi?id=95204
701
702         Reviewed by Julien Chaffraix.
703
704         Refactors how EventHandler::hitTestResultAtPoint handles child-frame content,
705         it is now handled by the hit test itself controlled by the AllowChildFrameContent
706         flag in HitTestRequest.
707
708         This means that area-based hit-tests can now return elements from all the child frames
709         they intersect instead of just the one frame containing the center point. The improved
710         results from area-based hit-tests will among other things also improve touch adjustment
711         near frame boundaries.
712
713         Tests: fast/dom/nodesFromRect/nodesFromRect-child-frame-content.html
714
715         * page/EventHandler.cpp:
716         (WebCore::EventHandler::hitTestResultAtPoint):
717             Recursion into child-frames have been moved to RenderFrameBase::nodeAtPoint, so
718             now hitTestResultAtPoint just needs to set AllowChildFrameContent.
719         * page/TouchAdjustment.cpp:
720         (WebCore::TouchAdjustment::parentShadowHostOrOwner):
721             New function to iterate up across frame boundaries.
722         (WebCore::TouchAdjustment::compileSubtargetList):
723             We need to iterate up across frame boundaries to avoid iframes competing with their
724             own content for touch adjustment.
725         * rendering/HitTestRequest.h:
726         (WebCore::HitTestRequest::allowsChildFrameContent):
727         (WebCore::HitTestRequest::isChildFrameHitTest):
728         * rendering/HitTestResult.cpp:
729         (WebCore::HitTestResult::HitTestResult):
730         (WebCore::HitTestResult::operator=):
731         (WebCore::HitTestResult::append):
732         (WebCore::HitTestResult::dictationAlternatives):
733         * rendering/HitTestResult.h:
734         (WebCore::HitTestResult::pointInMainFrame):
735         (WebCore::HitTestResult::pointInInnerNodeFrame):
736         (HitTestResult):
737             m_hitTestLocation is now in main frame coordinates, which make m_pointInMainFrame
738             unnecessary, but requires the introduction of m_pointInInnerFrame, to remember
739             the coordinates of inner-node in its own frame.
740         * rendering/RenderFrameBase.cpp:
741         (WebCore::RenderFrameBase::nodeAtPoint):
742             The recursion into child-frames is now handled here instead of in hitTestResultAtPoint, this
743             allows us to recurse into multiple frames, instead of just one.
744         * rendering/RenderFrameBase.h:
745         (RenderFrameBase):
746         * rendering/RenderLayer.cpp:
747         (WebCore::RenderLayer::hitTest):
748             RenderLayer should not lie about being hit if the request is child-frame request.
749         * testing/Internals.cpp:
750         (WebCore::Internals::nodesFromRect):
751         * testing/Internals.h:
752         (Internals):
753         * testing/Internals.idl:
754             Extended so nodesFromRect with child-frame content can be tested.
755
756 2013-02-22  Andreas Kling  <akling@apple.com>
757
758         ShareableElementData should use zero-length array for storage.
759         <http://webkit.org/b/109959>
760
761         Reviewed by Anders Carlsson.
762
763         Use a zero-length Attribute array instead of always casting from void* to an array.
764         It was done this way originally because I didn't know we could sidestep the MSVC
765         build error with some #pragma hackery and a default constructor for Attribute.
766
767         * dom/Attribute.cpp:
768         (WebCore::Attribute::Attribute):
769         * dom/DocumentSharedObjectPool.cpp:
770         (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
771         * dom/Element.cpp:
772         (WebCore::sizeForShareableElementDataWithAttributeCount):
773         (WebCore::ShareableElementData::ShareableElementData):
774         (WebCore::ShareableElementData::~ShareableElementData):
775         (WebCore::UniqueElementData::UniqueElementData):
776         * dom/Element.h:
777         (ShareableElementData):
778         (WebCore::ElementData::attributeItem):
779
780 2013-02-22  Andreas Kling  <akling@apple.com>
781
782         Remove unused declaration: Element::removeCachedHTMLCollection()
783
784         Not reviewed by Antti Koivisto.
785
786         * dom/Element.h:
787         (Element):
788
789 2013-02-22  Keishi Hattori  <keishi@webkit.org>
790
791         Add scroll view for new calendar picker
792         https://bugs.webkit.org/show_bug.cgi?id=110137
793
794         Reviewed by Kent Tamura.
795
796         Adding a scroll view class as part of the new calendar picker (Bug 109439).
797
798         No new tests. Code not yet used.
799
800         * Resources/pagepopups/calendarPicker.js:
801         (View):
802         (View.prototype.offsetRelativeTo): Returns the offset position of this view relative to the given ancestor element.
803         (View.prototype.attachTo): Attaches view to a node or view.
804         (View.prototype.bindCallbackMethods): Binds all methods starting with "on" to this.
805         (ScrollView): A custom scroll view that can contain extremely long content. CSS values have a limit. This can go beyond that.
806         (ScrollView.prototype.setWidth): Sets the view width.
807         (ScrollView.prototype.width):
808         (ScrollView.prototype.setHeight):Sets the view height.
809         (ScrollView.prototype.height):
810         (ScrollView.prototype.onScrollAnimatorStep): Callback for scroll animator step.
811         (ScrollView.prototype.scrollTo): Scrolls to a certain offset.
812         (ScrollView.prototype.scrollBy): Scrolls by a certain amount.
813         (ScrollView.prototype.contentOffset): Current content offset.
814         (ScrollView.prototype.onMouseWheel): Scroll with the mouse wheel.
815         (ScrollView.prototype.setContentOffset): Sets the content offset.
816         (ScrollView.prototype.contentPositionForContentOffset): Returns where the content element should be positioned.
817
818 2013-02-22  Alexander Pavlov  <apavlov@chromium.org>
819
820         Web Inspector: InspectorPageAgent::disable() should not update view metrics regardless of the override state
821         https://bugs.webkit.org/show_bug.cgi?id=110593
822
823         Reviewed by Vsevolod Vlasov.
824
825         InspectorPageAgent::disable() now checks if the device metrics are overridden before
826         telling the client to disable the override.
827
828         * inspector/InspectorPageAgent.cpp:
829         (WebCore::InspectorPageAgent::disable):
830         (WebCore::InspectorPageAgent::setDeviceMetricsOverride):
831         (WebCore::InspectorPageAgent::deviceMetricsChanged):
832         * inspector/InspectorPageAgent.h:
833         (InspectorPageAgent):
834
835 2013-02-22  Zan Dobersek  <zdobersek@igalia.com>
836
837         Unreviewed, rolling out r143695.
838         http://trac.webkit.org/changeset/143695
839         https://bugs.webkit.org/show_bug.cgi?id=110554
840
841         Crashes in DocumentLoader::checkLoadComplete on AppleMac WK1, EFL, GTK.
842
843         * loader/DocumentLoader.cpp:
844         (WebCore::DocumentLoader::isLoading):
845
846 2013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
847
848         [CoordGfx] Minor cleanup in CoordinatedGraphicsScene::paintToGraphicsContext
849         https://bugs.webkit.org/show_bug.cgi?id=109824
850
851         Reviewed by Andreas Kling.
852
853         Avoid ugly ifdefs by using PlatformGraphicsContext.
854
855         No new tests, only refactoring.
856
857         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
858         (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
859         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
860         (CoordinatedGraphicsScene):
861
862 2013-02-22  Carlos Garcia Campos  <cgarcia@igalia.com>
863
864         Unreviewed. Fix make distcheck.
865
866         * GNUmakefile.am: Add CodeGeneratorInspectorStrings.py to
867         EXTRA_DIST.
868
869 2013-02-22  Andreas Kling  <akling@apple.com>
870
871         GlyphPage: ALWAYS_INLINE all performance-relevant getters.
872
873         REGRESSION(r143125): ~5% performance hit on Chromium's intl2 page cycler
874         <http://webkit.org/b/108835>
875
876         Reviewed by Antti Koivisto.
877
878         Unreviewed desperate hack. Since I can't reproduce the problem and it's only showing
879         up on two bots, one Linux and one Snow Leopard, I'm thinking it may be GCC related.
880         Let's see what happens if we tell it to force inline all the GlyphPage getters.
881
882         * platform/graphics/GlyphPage.h:
883         (WebCore::GlyphPage::indexForCharacter):
884         (WebCore::GlyphPage::glyphDataForCharacter):
885         (WebCore::GlyphPage::glyphDataForIndex):
886         (WebCore::GlyphPage::glyphAt):
887         (WebCore::GlyphPage::fontDataForCharacter):
888
889 2013-02-22  Zach Kuznia  <zork@chromium.org>
890
891         Update FileReaderLoader to allow specifying a range and reading as a blob.
892         https://bugs.webkit.org/show_bug.cgi?id=110556
893
894         This is part of a series of patches to implement Stream support.  See:
895         https://bugs.webkit.org/show_bug.cgi?id=110194
896
897         Reviewed by Hajime Morrita.
898
899         Tests: will be added when js binding is added.
900
901         * fileapi/FileReaderLoader.cpp:
902         * fileapi/FileReaderLoader.h:
903
904 2013-02-22  Kondapally Kalyan  <kalyan.kondapally@intel.com>
905
906         [WebGL][EFL] Support for creating surface with alpha disabled.
907         https://bugs.webkit.org/show_bug.cgi?id=110067
908
909         Reviewed by Kenneth Rohde Christiansen.
910
911         Covered by compositing/webgl/webgl-no-alpha.html
912
913         We currently always create a surface supporting alpha channel. 
914         With this patch we create the surface with alpha only if
915         required.
916
917         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
918         (WebCore::GraphicsContext3DPrivate::initialize):
919         * platform/graphics/efl/GraphicsContext3DPrivate.h:
920         (GraphicsContext3DPrivate):
921         * platform/graphics/opengl/GLPlatformSurface.cpp:
922         (WebCore::GLPlatformSurface::createOffScreenSurface):
923         (WebCore::GLPlatformSurface::createTransportSurface):
924         (WebCore::GLPlatformSurface::GLPlatformSurface):
925         (WebCore::GLPlatformSurface::attributes):
926         (WebCore):
927         * platform/graphics/opengl/GLPlatformSurface.h:
928         * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
929         (WebCore):
930         (WebCore::EGLConfigSelector::EGLConfigSelector):
931         (WebCore::EGLConfigSelector::pBufferContextConfig):
932         (WebCore::EGLConfigSelector::surfaceContextConfig):
933         * platform/graphics/surfaces/egl/EGLConfigSelector.h:
934         (EGLConfigSelector):
935         * platform/graphics/surfaces/egl/EGLSurface.cpp:
936         (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
937         * platform/graphics/surfaces/egl/EGLSurface.h:
938         (EGLWindowTransportSurface):
939         * platform/graphics/surfaces/glx/GLXConfigSelector.h:
940         (WebCore):
941         (WebCore::GLXConfigSelector::GLXConfigSelector):
942         (WebCore::GLXConfigSelector::pixmapContextConfig):
943         (WebCore::GLXConfigSelector::surfaceContextConfig):
944         (WebCore::GLXConfigSelector::surfaceClientConfig):
945         (WebCore::GLXConfigSelector::validateAttributes):
946         (WebCore::GLXConfigSelector::findMatchingConfig):
947         (WebCore::GLXConfigSelector::findMatchingConfigWithVisualId):
948         (GLXConfigSelector):
949         * platform/graphics/surfaces/glx/GLXContext.cpp:
950         (WebCore::GLXOffScreenContext::initialize):
951         * platform/graphics/surfaces/glx/GLXSurface.cpp:
952         (WebCore::GLXTransportSurface::GLXTransportSurface):
953         (WebCore::GLXOffScreenSurface::GLXOffScreenSurface):
954         (WebCore::GLXOffScreenSurface::initialize):
955         * platform/graphics/surfaces/glx/GLXSurface.h:
956         (GLXTransportSurface):
957         (GLXOffScreenSurface):
958         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
959         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
960         (WebCore::GraphicsSurfacePrivate::createPixmap):
961
962 2013-02-22  Pavel Feldman  <pfeldman@chromium.org>
963
964         Web Inspector: allow opting out from vertical split in the dock-to-right mode
965         https://bugs.webkit.org/show_bug.cgi?id=110564
966
967         Reviewed by Vsevolod Vlasov.
968
969         * English.lproj/localizedStrings.js:
970         * inspector/front-end/ElementsPanel.js:
971         (WebInspector.ElementsPanel.prototype._splitVertically):
972         * inspector/front-end/ScriptsPanel.js:
973         * inspector/front-end/Settings.js:
974         (WebInspector.Settings):
975         * inspector/front-end/SettingsScreen.js:
976         (WebInspector.GenericSettingsTab):
977
978 2013-02-21  Claudio Saavedra  <csaavedra@igalia.com>
979
980         [GTK] Control+Shift+Up/Down selection works backwards
981         https://bugs.webkit.org/show_bug.cgi?id=110459
982
983         Reviewed by Martin Robinson.
984
985         * platform/gtk/KeyBindingTranslator.cpp:
986         (WebCore): The translation table for paragraph selection
987         commands is backwards, fix it.
988
989 2013-02-21  Eric Seidel  <eric@webkit.org>
990
991         REGRESSION(r143664, r143681): http/tests/security/feed-urls-from-remote.html fails
992         https://bugs.webkit.org/show_bug.cgi?id=110554
993
994         Reviewed by Ryosuke Niwa.
995
996         Will fix http/tests/security/feed-urls-from-remote.html for Mac WK1.
997
998         * loader/DocumentLoader.cpp:
999         (WebCore::DocumentLoader::isLoading):
1000
1001 2013-02-21  Alec Flett  <alecflett@chromium.org>
1002
1003         IndexedDB: Implement SharedBuffer version of put() / onSuccess()
1004         https://bugs.webkit.org/show_bug.cgi?id=110398
1005
1006         Reviewed by Tony Chang.
1007
1008         This avoids all unnecessary data copies within the context of
1009         IndexedDB proper, and removes all references to
1010         SerializedScriptValue from the IndexedDB "backend".
1011
1012         No new tests because this is just a refactor.
1013
1014         * bindings/v8/IDBBindingUtilities.cpp:
1015         (WebCore::deserializeIDBValueBuffer): New version of deserializeIDBValue which takes SharedBuffer.
1016
1017 2013-02-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1018
1019         Unreviewed, rolling out r143691.
1020         http://trac.webkit.org/changeset/143691
1021         https://bugs.webkit.org/show_bug.cgi?id=110559
1022
1023         Breaks compilation on mac. (Requested by vsevik on #webkit).
1024
1025         * rendering/RenderLayerCompositor.cpp:
1026         (WebCore::RenderLayerCompositor::logLayerInfo):
1027         (WebCore):
1028         (WebCore::RenderLayerCompositor::reasonForCompositing):
1029         * rendering/RenderLayerCompositor.h:
1030         (RenderLayerCompositor):
1031
1032 2013-02-21  Philip Rogers  <pdr@google.com>
1033
1034         Remove deep copy of ImageBuffer in tiled SVG backgrounds
1035         https://bugs.webkit.org/show_bug.cgi?id=110549
1036
1037         Reviewed by Dirk Schulze.
1038
1039         SVGImage::drawPatternForContainer creates a temporary ImageBuffer for stamping out tiled
1040         backgrounds. Previously this ImageBuffer was unnecessarily deep-copied! This patch uses a
1041         shallow copy, taking advantage of the fact that the temporary ImageBuffer is never modified.
1042
1043         This patch is covered with existing tests.
1044
1045         * svg/graphics/SVGImage.cpp:
1046         (WebCore::SVGImage::drawPatternForContainer):
1047
1048 2013-02-21  Antoine Quint  <graouts@apple.com>
1049
1050         Expose a list of all reasons that qualify a RenderLayer to be composited
1051         https://bugs.webkit.org/show_bug.cgi?id=110505
1052
1053         Expose the various reasons that can qualify a RenderLayer to be composited
1054         via a new bitmask returned by the reasonForCompositing() method on
1055         RenderLayerCompositor. This method already existed and was used for logging
1056         purposes, but the previous functionality is now accessed via the
1057         logReasonForCompositing() method.
1058
1059         This will allow the the InspectorLayerTreeAgent to provide this information
1060         to the front-end on a per-layer basis as requested by the front-end.
1061
1062         Reviewed by Simon Fraser.
1063
1064         No new tests.
1065
1066         * rendering/RenderLayerCompositor.cpp:
1067         (WebCore::RenderLayerCompositor::logLayerInfo):
1068         (WebCore::RenderLayerCompositor::reasonsForCompositing):
1069         (WebCore):
1070         (WebCore::RenderLayerCompositor::logReasonsForCompositing):
1071         * rendering/RenderLayerCompositor.h:
1072         (RenderLayerCompositor):
1073
1074 2013-02-21  Takashi Sakamoto  <tasak@google.com>
1075
1076         RenderTable::paintBoxDecorations sometimes draws box-shadow twice.
1077         https://bugs.webkit.org/show_bug.cgi?id=110196
1078
1079         Reviewed by Simon Fraser.
1080
1081         When RenderTable::paintBoxDecorations draws box-shadow, paintBackground
1082         should not draw box-shadow. So we have to provide bleedAvoidance
1083         parameter for RenderBox::paintBackground.
1084
1085         Test: fast/css/table-border-radius-with-box-shadow.html
1086
1087         * rendering/RenderTable.cpp:
1088         (WebCore::RenderTable::paintBoxDecorations):
1089         Provide bleedAvoidance, which determineBackgroundBleedAvoidance
1090         returns, for paintBackground.
1091
1092 2013-02-21  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1093
1094         Allow to retrieve the request data from abstract TextCheckingRequest to be accessible for WK2
1095         https://bugs.webkit.org/show_bug.cgi?id=110208
1096
1097         Reviewed by Hajime Morrita.
1098
1099         The WebCore changes are required to implement asynchronous spell checking in WK2.
1100         The idea of asynchronous spell checking in WK1 is to pass the pointer to the abstract object
1101         to the client who is able to verify the given text and notify the WebCore about results.
1102         WK2 will extract the request data and pass it (with additional information) to the UIProcess.
1103
1104         No new tests, covered by editing/spelling tests.
1105
1106         * editing/Editor.cpp:
1107         (WebCore::Editor::markAndReplaceFor):
1108         Extract the request data as it is the member of 'TextCheckingRequest'.
1109
1110         * editing/SpellChecker.cpp:
1111         (WebCore):
1112         (WebCore::SpellCheckRequest::didCancel):
1113         (WebCore::SpellCheckRequest::setCheckerAndSequence):
1114         (WebCore::SpellChecker::requestCheckingFor):
1115         (WebCore::SpellChecker::enqueueRequest):
1116         (WebCore::SpellChecker::didCheck):
1117         (WebCore::SpellChecker::didCheckSucceed):
1118         * platform/text/TextChecking.h:
1119         (WebCore):
1120         (TextCheckingRequestData):
1121         Introduce a new 'TextCheckingRequestData' class to keep the request data and to
1122         easy extract it from the 'TextCheckingRequest'.
1123
1124         (WebCore::TextCheckingRequestData::TextCheckingRequestData):
1125         (TextCheckingRequest):
1126         (WebCore::TextCheckingRequest::~TextCheckingRequest):
1127
1128 2013-02-21  Brady Eidson  <beidson@apple.com>
1129
1130         Move fastlog2() to WTF/MathExtras.h so it can be used from multiple projects.
1131
1132         Rubberstamped by Geoff Garen.
1133
1134         * loader/cache/MemoryCache.cpp:
1135         (WebCore::MemoryCache::lruListFor): Remove the inline fastlog2 and use WTF::fastlog2.
1136
1137 2013-02-21  Dimitri Glazkov  <dglazkov@chromium.org>
1138
1139         Split SelectorChecker's fast-checking logic into its own class.
1140         https://bugs.webkit.org/show_bug.cgi?id=106860
1141
1142         Reviewed by Antti Koivisto.
1143
1144         No functional changes, covered by existing tests.
1145
1146         * CMakeLists.txt: Added new class to existing build system.
1147         * GNUmakefile.list.am: Ditto.
1148         * Target.pri: Ditto.
1149         * WebCore.gypi: Ditto.
1150         * WebCore.xcodeproj/project.pbxproj: Ditto.
1151         * css/CSSAllInOne.cpp: Ditto.
1152         * css/RuleSet.cpp:
1153         (WebCore::RuleData::RuleData): Changed to use SelectorCheckerFastPath.
1154         * css/SelectorChecker.cpp:
1155         (WebCore::SelectorChecker::matches): Ditto.
1156         * css/SelectorChecker.h:
1157         (SelectorChecker): Move fast path code into SelectorCheckerFastPath.
1158         * css/SelectorCheckerFastPath.cpp: Added.
1159         * css/SelectorCheckerFastPath.h: Added.
1160         * css/StyleResolver.cpp:
1161         (WebCore::StyleResolver::ruleMatches): Changed to use SelectorCheckerFastPath.
1162         * dom/SelectorQuery.cpp:
1163         (WebCore::SelectorDataList::initialize): Ditto.
1164
1165 2013-02-21  Tony Gentilcore  <tonyg@chromium.org>
1166
1167         Invalidate outstanding checkpoints for the background input stream and preload scanner
1168         https://bugs.webkit.org/show_bug.cgi?id=110537
1169
1170         Reviewed by Adam Barth.
1171
1172         fast/tokenizer/write-before-load.html caused duplicate didFailSpeculation() calls for the same checkpoint.
1173         One was triggered by processParsedChunkFromBackgroundParser and the other by resumeParsingAfterScriptExecution.
1174         This change ensures that after we send a checkpoint, it is cleared so it won't be sent again until the next
1175         processParsedChunkFromBackgroundParser().
1176
1177         No new tests because no new functionality.
1178
1179         * html/parser/BackgroundHTMLInputStream.cpp:
1180         (WebCore::BackgroundHTMLInputStream::rewindTo):
1181         * html/parser/HTMLDocumentParser.cpp:
1182         (WebCore::HTMLDocumentParser::didFailSpeculation):
1183         * html/parser/HTMLPreloadScanner.cpp:
1184         (WebCore::TokenPreloadScanner::rewindTo):
1185
1186 2013-02-21  Dean Jackson  <dino@apple.com>
1187
1188         Followup commit for https://bugs.webkit.org/show_bug.cgi?id=110541
1189         from a comment by Jon Lee.
1190
1191         * html/HTMLPlugInImageElement.cpp:
1192         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Logic
1193         in conditional was unnecessarily complex.
1194
1195 2013-02-21  Ojan Vafai  <ojan@chromium.org>
1196
1197         Clean up computePreferredLogicalWidths functions in TableLayout subclasses
1198         https://bugs.webkit.org/show_bug.cgi?id=110515
1199
1200         Reviewed by Tony Chang.
1201
1202         No change in behavior. This is just a cleanup in preparation for other
1203         refactoring to this code.
1204
1205         * rendering/FixedTableLayout.cpp:
1206         (WebCore::FixedTableLayout::calcWidthArray):
1207         Move a FIXME here from computePreferredLogicalWidths. It makes more sense here.
1208         (WebCore::FixedTableLayout::computePreferredLogicalWidths):
1209         -Remove outdated or unhelpful comments.
1210         -Isolate the fixed width codepath to make it a bit less convoluted.
1211         (WebCore::FixedTableLayout::layout):
1212         * rendering/FixedTableLayout.h:
1213         The argument to calcWidthArray is never used. Remove it.
1214
1215 2013-02-21  Eric Seidel  <eric@webkit.org>
1216
1217         LayoutTests/fast/encoding/parser-tests-*.html timeout with threaded HTML parser
1218         https://bugs.webkit.org/show_bug.cgi?id=109995
1219
1220         Unreviewed speculative fix for Mac WK1.
1221
1222         It appears that m_frame can be null for Mac WK1.
1223
1224         * loader/DocumentLoader.cpp:
1225         (WebCore::DocumentLoader::isLoading):
1226
1227 2013-02-21  Dean Jackson  <dino@apple.com>
1228
1229         Better sizing model for Snapshotted plugins
1230         https://bugs.webkit.org/show_bug.cgi?id=110541
1231
1232         Reviewed by Simon Fraser.
1233
1234         Clarify the way we apply sizing rules to snapshotted plug-ins. In
1235         testing we've found that plug-ins smaller than 40px in either
1236         dimension should never be frozen. Also, larger plugins should
1237         be explicitly marked, because often they are the single dominant
1238         element on the page.
1239
1240         As a drive-by, I removed the flag that indicated whether or not
1241         the label should show automatically. It wasn't being used. This is
1242         all determined from the shadow root and its CSS now.
1243
1244         * html/HTMLPlugInImageElement.cpp:
1245         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): New values for size thresholds.
1246         (WebCore::HTMLPlugInImageElement::createRenderer): Remove call to setShouldShowSnapshotLabelAutomatically.
1247         (WebCore::classNameForShadowRoot): Remove logging and clearly assign sizing classes.
1248         (WebCore::HTMLPlugInImageElement::updateSnapshotInfo): We don't need the page size any more.
1249         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Use new constant names.
1250         * html/HTMLPlugInImageElement.h:
1251         (HTMLPlugInImageElement): Remove setShouldShowSnapshotLabelAutomatically.
1252
1253 2013-02-21  Benjamin Poulain  <benjamin@webkit.org>
1254
1255         Fix the build after r143664.
1256
1257         Unreviewed.
1258
1259         * WebCore.exp.in:
1260
1261 2013-02-21  Eric Seidel  <eric@webkit.org>
1262
1263         tables/mozilla/bugs/bug8950.html fails with threaded parser due to attribute duplication
1264         https://bugs.webkit.org/show_bug.cgi?id=110532
1265
1266         Reviewed by Adam Barth.
1267
1268         This is a very basic failure which we should have caught earlier with the html5lib parser
1269         tests, except those use document.write and thus avoid the threaded parser.
1270
1271         AtomicHTMLToken expects its attributes to be unique.  We were not doing that for the
1272         CompactHTMLToken path, and this ancient mozilla table test caught that.
1273
1274         Fixes tables/mozilla/bugs/bug8950.html.
1275
1276         * html/parser/AtomicHTMLToken.h:
1277         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
1278         (WebCore::AtomicHTMLToken::initializeAttributes):
1279
1280 2013-02-21  Adam Barth  <abarth@webkit.org>
1281
1282         Threaded HTML Parser fails fast/dom/Document/readystate.html
1283         https://bugs.webkit.org/show_bug.cgi?id=110529
1284
1285         Reviewed by Eric Seidel.
1286
1287         We need to create the tokenizer even when we finish a script-created
1288         parser. Most of the time, the tokenizer has already been created at
1289         this point because it is created by calls to document.write.
1290
1291         Test: fast/parser/body-should-exist-after-open-close.html
1292
1293         * html/parser/HTMLDocumentParser.cpp:
1294         (WebCore::HTMLDocumentParser::finish):
1295
1296 2013-02-21  Emil A Eklund  <eae@chromium.org>
1297
1298         Lots of LayoutUnit assertions when loading a Wikipedia article
1299         https://bugs.webkit.org/show_bug.cgi?id=110270
1300
1301         Reviewed by Levi Weintraub.
1302         
1303         Change RenderBlock::adjustRectForColumns to ensure that the
1304         endColumn calculation does not overflow.
1305
1306         No new tests, covered by existing tests.
1307
1308         * rendering/RenderBlock.cpp:
1309         (WebCore::RenderBlock::adjustRectForColumns):
1310         Make the endOffset value be no less than the beforeBorderPadding
1311         value to ensure that endColumn is not negative.
1312
1313 2013-02-21  Eric Seidel  <eric@webkit.org>
1314
1315         LayoutTests/fast/encoding/parser-tests-*.html timeout with threaded HTML parser
1316         https://bugs.webkit.org/show_bug.cgi?id=109995
1317
1318         Reviewed by Adam Barth.
1319
1320         In the case where during main document onload, we
1321         load a new iframe, and then from within that iframe
1322         we run script to remove the iframe and call testRunner.notifyDone()
1323         the notifyDone() will not correctly dump because
1324         the testRunner does not yet realize that the main resource
1325         has completed loading.
1326
1327         In the main-thread parser, the testRunner does correctly know
1328         that the main thread has completed, because removing the iframe
1329         causes a didFailLoad callback to the embedder, because when
1330         the iframe is being removed, the DocumentLoader for that iframe
1331         is still on the stack and believe's its loading
1332         (because it has a MainResourceLoader which is also on the stack
1333         delivering us the bytes which contain this inline script).
1334
1335         In the threaded-parser case, the DocumentLoader and MainResourceLoader
1336         are no longer on the stack, as we are parsing the iframe asynchronously
1337         after all the bytes have been delivered, and the MainResourceLoader destroyed.
1338         Thus when DocumentLoader::stopLoading() is called, loading() returns
1339         false, and it returns early.  One might argue that we should remove that
1340         early return entirely, but it seemed safer to extend the idea of
1341         when we're loading to include the time when the parser is active.
1342
1343         This patch solves this by teaching the DocumentLoader that it is still
1344         "loading" so long as the parser is still active.
1345
1346         Also added a call to DocumentLoader::checkLoadComplete from
1347         Document::decrementActiveParserCount which seemed to cause
1348         http/tests/multipart/policy-ignore-crash.php to pass.
1349
1350         This causes http/tests/security/feed-urls-from-remote.html to timeout
1351         on chromium (but no other platforms that I'm aware of).  I believe this
1352         is due to a bug in our DRT implementation in the policyDelegate case
1353         (which AFAIK is not a codepath which Chromium actually uses in the wild).
1354         The test already times out on TOT if you remove the setCustomPolicyDelegate calls!
1355
1356         * loader/DocumentLoader.cpp:
1357         (WebCore::DocumentLoader::isLoading):
1358         (WebCore):
1359         * loader/DocumentLoader.h:
1360         (DocumentLoader):
1361
1362 2013-02-21  Erik Arvidsson  <arv@chromium.org>
1363
1364         Nodes should not have attributes property
1365         https://bugs.webkit.org/show_bug.cgi?id=110510
1366
1367         Reviewed by Adam Barth.
1368
1369         According to http://dom.spec.whatwg.org/ attributes and hasAttributes
1370         should be defined on Element and not on Node.
1371
1372         Test: fast/dom/Text/text-should-not-have-attributes.html
1373
1374         * dom/Element.idl:
1375         * dom/Node.idl:
1376
1377 2013-02-21  Tony Gentilcore  <tonyg@chromium.org>
1378
1379         Make BackgroundHTMLParser rewind the preload scanner instead of clear it
1380         https://bugs.webkit.org/show_bug.cgi?id=110517
1381
1382         Reviewed by Adam Barth.
1383
1384         No new tests becuase no new functionality.
1385
1386         * html/parser/BackgroundHTMLParser.cpp:
1387         (WebCore::BackgroundHTMLParser::resumeFrom):
1388         (WebCore::BackgroundHTMLParser::pumpTokenizer):
1389         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
1390         * html/parser/BackgroundHTMLParser.h:
1391         (Checkpoint):
1392         * html/parser/HTMLDocumentParser.cpp:
1393         (WebCore::HTMLDocumentParser::didFailSpeculation):
1394         * html/parser/HTMLDocumentParser.h:
1395         (ParsedChunk):
1396         * html/parser/HTMLPreloadScanner.cpp:
1397         (WebCore::TokenPreloadScanner::createCheckpoint):
1398         (WebCore):
1399         (WebCore::TokenPreloadScanner::rewindTo):
1400         * html/parser/HTMLPreloadScanner.h:
1401         (WebCore):
1402         (TokenPreloadScanner):
1403         (WebCore::TokenPreloadScanner::Checkpoint::Checkpoint):
1404         (Checkpoint):
1405
1406 2013-02-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1407
1408         Unreviewed, rolling out r143536.
1409         http://trac.webkit.org/changeset/143536
1410         https://bugs.webkit.org/show_bug.cgi?id=110523
1411
1412         Causing a bunch of tests to fail on Windows, requires
1413         rebaselining (Requested by rfong on #webkit).
1414
1415         * config.h:
1416         * page/Settings.cpp:
1417         (WebCore):
1418         (WebCore::Settings::setShouldPaintNativeControls):
1419         * page/Settings.h:
1420         (Settings):
1421         (WebCore::Settings::shouldPaintNativeControls):
1422         * platform/win/ScrollbarThemeWin.cpp:
1423         (WebCore):
1424         * rendering/RenderThemeWin.cpp:
1425         (WebCore):
1426
1427 2013-02-21  Simon Fraser  <simon.fraser@apple.com>
1428
1429         Don't make an overhang shadow layer when the WKView has a transparent background
1430         https://bugs.webkit.org/show_bug.cgi?id=110429
1431
1432         Reviewed by Anders Carlsson.
1433
1434         When in coordinated scrolling mode, RenderLayerCompositor makes a layer to show
1435         the shadow around the content when rubber-banding. However, if the view is
1436         transparent, we don't want to make this layer, since it darkens the entire view.
1437
1438         * rendering/RenderLayerBacking.cpp:
1439         (WebCore::RenderLayerBacking::updateRootLayerConfiguration): Code was moved
1440         into viewHasTransparentBackground(), so just call that here.
1441         * rendering/RenderLayerCompositor.cpp:
1442         (WebCore::RenderLayerCompositor::requiresContentShadowLayer): Don't make
1443         a shadow layer when the view is transparent.
1444         (WebCore::RenderLayerCompositor::viewHasTransparentBackground): Return
1445         true if the view is transparent or has a non-opaque background color,
1446         and optionally return that color.
1447         * rendering/RenderLayerCompositor.h:
1448
1449 2013-02-21  Simon Fraser  <simon.fraser@apple.com>
1450
1451         [Safari] Crash with opacity + drop shadow filter + child element extending beyond filter outsets
1452         https://bugs.webkit.org/show_bug.cgi?id=107467
1453
1454         Reviewed by Dean Jackson.
1455         
1456         The filter code plays games with the current GraphicsContext, replacing the current
1457         context with one which will get filtered.
1458         
1459         This doesn't play nicely with the RenderLayer code which lazily starts transparency
1460         layers. If we don't start a transparency layer until painting a child of the filtered
1461         layer, then the transparency layer is started using the wrong context.
1462         
1463         Fix by eagerly starting transparency layers if we have both a filter and opacity.
1464
1465         Test: css3/filters/filter-with-opacity-and-children.html
1466
1467         * rendering/RenderLayer.cpp:
1468         (WebCore::RenderLayer::paintLayerContents):
1469
1470 2013-02-21  Tony Chang  <tony@chromium.org>
1471
1472         Autogenerate Settings that call setNeedsRecalcStyleInAllFrames when set
1473         https://bugs.webkit.org/show_bug.cgi?id=109989
1474
1475         Reviewed by Ryosuke Niwa.
1476
1477         Start generating the code for settings that call m_page->setNeedsRecalcStyleInAllFrames()
1478         when the value is changed. This allows us to generate 10 more settings. As a follow up, we
1479         can remove some methods from DRT/WTR after this.
1480
1481         No new tests, this is a build refactor and should not impact any test results.
1482
1483         * page/Settings.cpp:
1484         (WebCore::Settings::Settings): Remove member variables. Add SETTINGS_SETTER_BODIES macro that
1485         has the generated setter bodies.
1486         * page/Settings.h:
1487         (Settings): Remove code that is now generated.
1488         * page/Settings.in: Add new entries with setNeedsStyleRecalcWhenSetting=1
1489         * page/make_settings.pl:
1490         (defaultItemFactory): Add setNeedsStyleRecalcWhenSetting flag.
1491         (generateSettingsMacrosHeader): Print macro for setter bodies.
1492         (printConditionalMacros): Add setter body code.
1493         (printGettersAndSetters): Pass in setNeedsStyleRecalcWhenSetting so we know whether to inline the
1494         setter in the header or not.
1495         (printGetterAndSetter): Ditto.
1496         (printSetterBodies): Print macro for setter bodies.
1497         (printSetterBody): Print setter body for a single setting.
1498
1499 2013-02-21  Dean Jackson  <dino@apple.com>
1500
1501         Plug-in snapshotting code always accepts first snapshot
1502         https://bugs.webkit.org/show_bug.cgi?id=110495
1503
1504         Reviewed by Tim Horton.
1505
1506         When we detect a plugin that can be snapshotted we start capturing
1507         images until we find one that we believe isn't blank, or we timeout.
1508         I introduced a regression recently where we swap renderers as
1509         soon as the snapshot arrives, whether or not is is blank.
1510
1511         The fix was to have the embedder (currently only WK2) be the one
1512         who tells the HTMLPlugInElement to start displaying snapshots.
1513
1514         I also reduced the number of snapshot attempts we will make before
1515         giving up. We don't want to sit around for 66 seconds displaying nothing.
1516
1517         * html/HTMLPlugInElement.h:
1518         (WebCore::HTMLPlugInElement::setDisplayState): Make this a virtual function.
1519         * html/HTMLPlugInImageElement.cpp:
1520         (WebCore::HTMLPlugInImageElement::setDisplayState): Override to call the
1521             base class version, but swap renderers if we should move to the snapshot.
1522         (WebCore::HTMLPlugInImageElement::updateSnapshot): Don't swap renderers here any more.
1523         * html/HTMLPlugInImageElement.h: New virtual version of setDisplayState.
1524
1525 2013-02-21  Tony Gentilcore  <tonyg@chromium.org>
1526
1527         Tune BackgroundHTMLParser's pendingTokenLimit based on a benchmark
1528         https://bugs.webkit.org/show_bug.cgi?id=110408
1529
1530         Reviewed by Adam Barth.
1531
1532         This constant was tuned by running the top 25 sites in Telemetry on a Nexus 7 device.
1533         The new value decreases the maximum time spent parsing by 40% without significantly impacting total parse time or DOMContentLoaded.
1534
1535         No new tests because no new functionality.
1536
1537         * html/parser/BackgroundHTMLParser.cpp:
1538         (WebCore):
1539
1540 2013-02-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1541
1542         Unreviewed, rolling out r143419.
1543         http://trac.webkit.org/changeset/143419
1544         https://bugs.webkit.org/show_bug.cgi?id=110507
1545
1546         Broke border-image on Mac (Requested by jpfau on #webkit).
1547
1548         * platform/graphics/GraphicsContext.cpp:
1549         (WebCore::GraphicsContext::drawTiledImage):
1550         * platform/graphics/GraphicsContext.h:
1551         (GraphicsContext):
1552         * platform/graphics/Image.cpp:
1553         (WebCore::Image::drawTiled):
1554         * platform/graphics/Image.h:
1555         (Image):
1556         * rendering/RenderBoxModelObject.cpp:
1557         (WebCore::RenderBoxModelObject::paintNinePieceImage):
1558
1559 2013-02-21  Tom Sepez  <tsepez@chromium.org>
1560
1561         XSSAuditor should block pages by redirecting to a sandboxed data: URL.
1562         https://bugs.webkit.org/show_bug.cgi?id=110406
1563
1564         Reviewed by Adam Barth.
1565
1566         Patch originally by mkwst@chromium.org. 
1567         Tests: http/tests/security/xssAuditor/block-does-not-leak-location.html
1568                http/tests/security/xssAuditor/block-does-not-leak-referrer.html
1569                http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html
1570
1571         * html/parser/XSSAuditorDelegate.cpp:
1572         (WebCore::XSSAuditorDelegate::didBlockScript):
1573             When blocking entire pages via the XSSAuditor, redirect to a data:
1574             URL to ensure that requests for properties don't leak information.
1575         
1576 2013-02-21  Christian Biesinger  <cbiesinger@chromium.org>
1577
1578         Convert buttons from DeprecatedFlexBox to nondeprecated FlexibleBox
1579         https://bugs.webkit.org/show_bug.cgi?id=109994
1580
1581         Reviewed by Ojan Vafai.
1582
1583         Covered by existing tests for <button> and <input
1584         type="button|submit|reset">
1585
1586         * css/html.css:
1587         (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
1588         Convert from box-align to align-items. We are using flex-start here in
1589         conjunction with an auto margin for correct centering. See
1590         RenderButton.cpp below for the margin & more explanation.
1591
1592         * rendering/RenderBlock.cpp:
1593         (WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
1594         Add a case for creating a non-deprecated flex box.
1595
1596         * rendering/RenderButton.cpp:
1597         (WebCore::RenderButton::RenderButton):
1598         (WebCore::RenderButton::addChild):
1599         (WebCore::RenderButton::removeChild):
1600         Forward to new base class
1601         (WebCore::RenderButton::styleWillChange):
1602         (WebCore::RenderButton::setupInnerStyle):
1603         We are now using flexbox properties.
1604         - min-width is needed for correct shrinking of the contents
1605         - margin-top and margin-bottom are used for correct centering. We
1606         can't use align-items: center because results are incorrect when the
1607         content overflows. See LayoutTests/fast/forms/control-clip.html
1608
1609         * rendering/RenderButton.h:
1610         Inherit from RenderFlexibleBox
1611
1612         * rendering/RenderFlexibleBox.cpp:
1613         (WebCore::RenderFlexibleBox::createAnonymous):
1614         (WebCore):
1615         * rendering/RenderFlexibleBox.h:
1616         (RenderFlexibleBox):
1617         Add a createAnonymous function to RenderFlexibleBox.
1618
1619 2013-02-21  John Mellor  <johnme@chromium.org>
1620
1621         [chromium] Simplify computation of screenRect/windowRect.
1622         https://bugs.webkit.org/show_bug.cgi?id=110456
1623
1624         Reviewed by Adam Barth.
1625
1626         This patch removes applyDeviceScaleFactorInCompositor checks
1627         added by http://trac.webkit.org/changeset/139356 because
1628         Chrome for Android now sizes its screen and window in DIP
1629         units (like other platforms), so they are no longer necessary.
1630
1631         No new tests, since this is just removing an unused codepath.
1632
1633         * platform/chromium/PlatformScreenChromium.cpp:
1634         (WebCore::screenRect):
1635         (WebCore::screenAvailableRect):
1636         * rendering/TextAutosizer.cpp:
1637         (WebCore::TextAutosizer::processSubtree):
1638
1639 2013-02-21  Beth Dakin  <bdakin@apple.com>
1640
1641         Out-of-view fixed position check should not be affected by page scale at all on Mac
1642         https://bugs.webkit.org/show_bug.cgi?id=110294
1643         -and corresponding-
1644         <rdar://problem/13247582>
1645
1646         Reviewed by Simon Fraser.
1647
1648         Don't scale the layerBounds. Generally, the layerBounds should be relative to the 
1649         viewBounds which are also unscaled. Chromium used to want this behavior, but it is 
1650         covered by their pageScaleFactorAppliedInCompositor implementation now.
1651
1652         * rendering/RenderLayerCompositor.cpp:
1653         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
1654
1655 2013-02-21  Philip Rogers  <pdr@google.com>
1656
1657         Stop starting animations when leaving a page
1658         https://bugs.webkit.org/show_bug.cgi?id=110257
1659
1660         Reviewed by Stephen Chenney.
1661
1662         SVGImage::resetAnimation() incorrectly started animations which could cause a crash
1663         when leaving the page. This patch fixes resetAnimation to only stop the animation,
1664         similar to BitmapImage::resetAnimation().
1665
1666         Additionally, this patch removes an unneeded call to Document::updateStyleForAllDocuments()
1667         that was present in the animation loop. This makes the animation code more resistant to
1668         similar bugs in the future.
1669
1670         Both of these changes are functionally covered with existing tests.
1671
1672         Test: svg/animations/reset-animation-crash.html
1673
1674         * svg/animation/SMILTimeContainer.cpp:
1675         (WebCore::SMILTimeContainer::updateAnimations):
1676         * svg/graphics/SVGImage.cpp:
1677         (WebCore::SVGImage::resetAnimation):
1678
1679 2013-02-19  Mark Hahnenberg  <mhahnenberg@apple.com>
1680
1681         Objective-C API: Need a way to use the Objective-C JavaScript API with WebKit
1682         https://bugs.webkit.org/show_bug.cgi?id=106059
1683
1684         Reviewed by Geoffrey Garen.
1685
1686         * WebCore.exp.in:
1687         * bindings/js/JSDOMWindowShell.cpp:
1688         (WebCore::JSDOMWindowShell::setWindow): Since we're basically abandoning a JSDOMWindow here, we call
1689         garbageCollectSoon().
1690         * bindings/js/JSDOMWindowShell.h:
1691         * bindings/js/ScriptController.h: New function to get the JSContext for the global object of the current main world.
1692         * bindings/js/ScriptControllerMac.mm: 
1693         (WebCore::ScriptController::javaScriptContext): Ditto.
1694         * bindings/objc/WebScriptObject.h: Added ifdef guards. Also new convenience conversion function for the JSC Obj-C API.
1695         * bindings/objc/WebScriptObject.mm: JSC::JSValue and JSValue conflict with one another, so we have to be more specific.
1696         (-[WebScriptObject _globalContextRef]): Useful helper function for getting the JSGlobalContextRef of a particular WebScriptObject.
1697         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1698         (-[WebScriptObject evaluateWebScript:]):
1699         (-[WebScriptObject valueForKey:]):
1700         (-[WebScriptObject webScriptValueAtIndex:]):
1701         (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
1702         (-[WebScriptObject JSValue]): Implementation of convenience WebScriptObject conversion function to new Objective-C API.
1703         * bindings/objc/WebScriptObjectPrivate.h:
1704
1705 2013-02-21  Kentaro Hara  <haraken@chromium.org>
1706
1707         [V8] Rename add{Node,Object}ToGroup() to add{Node,Object}WrapperToGroup()
1708         https://bugs.webkit.org/show_bug.cgi?id=110404
1709
1710         Reviewed by Adam Barth.
1711
1712         The current function name is confusing
1713         (See discussion in bug 110396). We should rename the functions
1714         so that it becomes clear that "Node"/"Object" refers to a type
1715         of a wrapper in the second argument.
1716
1717         No tests. No change in behavior.
1718
1719         * bindings/v8/V8GCController.cpp:
1720         (WebCore::WrapperGrouper::addObjectWrapperToGroup):
1721         (WebCore::WrapperGrouper::addNodeWrapperToGroup):
1722
1723 2013-02-21  Vivek Galatage  <vivek.vg@samsung.com>
1724
1725         [JS Binding] ScriptObject default constructor should initialize the Script State to 0
1726         https://bugs.webkit.org/show_bug.cgi?id=110177
1727
1728         Reviewed by Geoffrey Garen.
1729
1730         Adding the initialization of ScriptState to 0.
1731
1732         * bindings/js/ScriptObject.h:
1733         (WebCore::ScriptObject::ScriptObject):
1734
1735 2013-02-21  Nate Chapin  <japhet@chromium.org>
1736
1737         REGRESSION: Crash in MainResourceLoader::setDataBufferingPolicy when sharing an html5 video via email
1738         https://bugs.webkit.org/show_bug.cgi?id=110075
1739
1740         Reviewed by Alexey Proskuryakov.
1741
1742         Test: webarchive/loading/video-in-webarchive.html
1743
1744         * loader/MainResourceLoader.cpp:
1745         (WebCore::MainResourceLoader::continueAfterContentPolicy): isStopping()
1746             isn't accurate to determine whether a SubstituteData load should
1747             continue, as this point in the code shouldn't be reachable from any point
1748             where isStopping() would return true. DocumentLoader might have completely
1749             stopped and believe that MainResourceLoader is complete, though. Don't
1750             continue in that case. 
1751         (WebCore::MainResourceLoader::setDataBufferingPolicy): m_resource can be null
1752             in a reasonable case, handle it rather \1athan asserting that it can't be null.
1753
1754 2013-02-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1755
1756         Unreviewed, rolling out r143616.
1757         http://trac.webkit.org/changeset/143616
1758         https://bugs.webkit.org/show_bug.cgi?id=110491
1759
1760         Caused a test failure on Chromium Mac. (Requested by vollick
1761         on #webkit).
1762
1763         * page/FrameView.cpp:
1764         (WebCore::FrameView::visibleContentsResized):
1765         * page/FrameView.h:
1766         (FrameView):
1767         * page/Page.cpp:
1768         (WebCore::Page::setPageScaleFactor):
1769
1770 2013-02-21  Robert Hogan  <robert@webkit.org>
1771
1772         Overflow can be cleared just before it is computed
1773         https://bugs.webkit.org/show_bug.cgi?id=110361
1774
1775         Reviewed by David Hyatt.
1776
1777         Overflow can be cleared just before it is computed in a lot of places because overflow computation happens all at once
1778         now rather than cumulatively during layout. Any object that doesn't use computeOverflow() will still need to clear it manually
1779         though.
1780
1781         No new tests, refactoring.
1782
1783         * rendering/RenderBlock.cpp:
1784         (WebCore::RenderBlock::layoutBlock):
1785         (WebCore::RenderBlock::computeOverflow):
1786         (WebCore::RenderBlock::simplifiedLayout):
1787         * rendering/RenderBlockLineLayout.cpp:
1788         (WebCore::RenderBlock::layoutInlineChildren):
1789         * rendering/RenderDeprecatedFlexibleBox.cpp:
1790         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1791         * rendering/RenderFlexibleBox.cpp:
1792         (WebCore::RenderFlexibleBox::layoutBlock):
1793         * rendering/RenderGrid.cpp:
1794         (WebCore::RenderGrid::layoutBlock):
1795         * rendering/RenderRubyRun.cpp:
1796         (WebCore::RenderRubyRun::layout):
1797         * rendering/RenderTable.cpp:
1798         (WebCore::RenderTable::layout):
1799         * rendering/RenderTextControlSingleLine.cpp:
1800         (WebCore::RenderTextControlSingleLine::layout):
1801
1802 2013-02-21  Alok Priyadarshi  <alokp@chromium.org>
1803
1804         Mark GraphicsLayers as opaque when possible
1805         https://bugs.webkit.org/show_bug.cgi?id=70634
1806
1807         Reviewed by Simon Fraser.
1808
1809         Mark layers as opaque in a very simple case - the main renderer has an
1810         opaque background and covers the entire composited bounds.
1811         RenderLayer::contentsOpaqueInRect has been implemented conservatively,
1812         i.e. it errs towards returning false negative.
1813
1814         Tests: compositing/contents-opaque/contents-opaque-background-clip.html
1815                compositing/contents-opaque/contents-opaque-background-color.html
1816                compositing/contents-opaque/contents-opaque-layer-opacity.html
1817                compositing/contents-opaque/contents-opaque-layer-transform.html
1818
1819         * rendering/RenderBox.cpp:
1820         (WebCore::RenderBox::backgroundIsOpaqueInRect):
1821         (WebCore):
1822         * rendering/RenderBox.h:
1823         (RenderBox):
1824         * rendering/RenderBoxModelObject.h:
1825         (WebCore::RenderBoxModelObject::backgroundIsOpaqueInRect):
1826         (WebCore::RenderBoxModelObject::foregroundIsOpaqueInRect):
1827         (RenderBoxModelObject):
1828         * rendering/RenderLayer.cpp:
1829         (WebCore::RenderLayer::contentsOpaqueInRect):
1830         (WebCore):
1831         (WebCore::RenderLayer::listContentsOpaqueInRect):
1832         * rendering/RenderLayer.h:
1833         (RenderLayer):
1834         * rendering/RenderLayerBacking.cpp:
1835         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1836         * rendering/RenderLayerModelObject.h:
1837         (RenderLayerModelObject):
1838
1839 2013-02-21  Julien Chaffraix  <jchaffraix@webkit.org>
1840
1841         [CSS Grid Layout] Implement grid growth during auto placement
1842         https://bugs.webkit.org/show_bug.cgi?id=110418
1843
1844         Reviewed by Ojan Vafai.
1845
1846         This change implements the last remaining piece of the auto placement algorithm:
1847         growing the grid mid-placement. With that landed, we should handle all cases properly.
1848
1849         Change covered by : fast/css-grid-layout/grid-item-addition-auto-placement.html
1850                             fast/css-grid-layout/grid-item-removal-auto-placement.html
1851
1852
1853         * rendering/RenderGrid.cpp:
1854         (WebCore::RenderGrid::growGrid):
1855         Added this helper function to grow the grid one item in a direction.
1856
1857         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
1858         Updated this function to grow in the minor axis direction and insert in the
1859         newly created grid area.
1860
1861         (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
1862         Updated this function to grow in the major axis direction and insert in the
1863         newly create grid area. Unfortunately this code cannot use the iterator to find
1864         the new position as the (auto, auto) case iterates orthogonally to the major axis
1865         direction, which we just grew.
1866
1867         * rendering/RenderGrid.h:
1868         Added growGrid.
1869
1870 2013-02-21  Martin Robinson  <mrobinson@igalia.com>
1871
1872         A couple more 'make dist' fixes for WebKitGTK+.
1873
1874         * GNUmakefile.list.am: Add a missing file to the source list.
1875
1876 2013-02-21  Andrei Bucur  <abucur@adobe.com>
1877
1878         -webkit-margin-collapse: separate doesn't work correctly for before margins
1879         https://bugs.webkit.org/show_bug.cgi?id=109956
1880
1881         Reviewed by David Hyatt.
1882
1883         The collapsing code for "-webkit-margin-collapse: separate" assumed the margin value inside
1884         marginInfo always contributes to the position of the child. This is valid only if the collapse
1885         doesn't happen at the before side of the container. In that case, the child needs to be positioned 
1886         at the margin value specified in the style sheet.
1887
1888         Test: fast/block/margin-collapse/webkit-margin-collapse-separate-position.html
1889
1890         * rendering/RenderBlock.cpp:
1891         (WebCore::RenderBlock::collapseMargins):
1892
1893 2013-02-21  Tien-Ren Chen  <trchen@chromium.org>
1894
1895         Need to re-layout fixed position elements after scale when using settings()->fixedElementsLayoutRelativeToFrame()
1896         https://bugs.webkit.org/show_bug.cgi?id=105486
1897
1898         Reviewed by James Robinson.
1899
1900         In settings()->fixedElementsLayoutRelativeToFrame() mode, fixed-position
1901         elements are layout relative to the current visible viewport, which can
1902         be different from the layout viewport when using fixed-layout mode.
1903         We need to re-layout fixed-position elements in case of visible content
1904         size changes.
1905
1906         The test is currently chromium-specific due to difficulties to make this
1907         test works on Mac. The mac port seems to work very differently with
1908         visible content size when a page is scaled. And there is no reliable way
1909         to hide scrollbars in mac-wk1 that doesn't cause a side effect.
1910
1911         Test: platform/chromium/fast/repaint/relayout-fixed-position-after-scale.html
1912
1913         * page/FrameView.cpp:
1914         (WebCore::FrameView::visibleContentsResized):
1915         * page/FrameView.h:
1916         (FrameView):
1917         * page/Page.cpp:
1918         (WebCore::Page::setPageScaleFactor):
1919
1920 2013-02-21  Xan Lopez  <xlopez@rim.com>
1921
1922         [BlackBerry] LayerFilterRenderer: fix inclusion of Vector.h
1923         https://bugs.webkit.org/show_bug.cgi?id=110476
1924
1925         Reviewed by Rob Buis.
1926
1927         Added in r124242. The include line should be wtf/Vector.h
1928
1929         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
1930
1931 2013-02-21  David Hyatt  <hyatt@apple.com>
1932
1933         [New Multicolumn] Remove unneeded layout method in RenderMultiColumnFlowThread.
1934         https://bugs.webkit.org/show_bug.cgi?id=110477.
1935
1936         Reviewed by Antti Koivisto.
1937
1938         I forgot that both the sets and the flow thread lay out before the containing
1939         RenderMultiColumnBlock has finished. That means it hasn't computed its overflow yet.
1940         Therefore there is no need to force it to compute its overflow from inside
1941         RenderMultiColumnFlowThread::layout, because the minute RenderMultiColumnFlowThread
1942         finishes its layout, the block will compute its overflow anyway.
1943
1944         * rendering/RenderMultiColumnFlowThread.cpp:
1945         (WebCore):
1946         * rendering/RenderMultiColumnFlowThread.h:
1947         (RenderMultiColumnFlowThread):
1948
1949 2013-02-21  Martin Robinson  <mrobinson@igalia.com>
1950
1951         [GTK] Move feature overriding to the configure phase
1952         https://bugs.webkit.org/show_bug.cgi?id=110293
1953
1954         Reviewed by Gustavo Noronha Silva.
1955
1956         * GNUmakefile.am: No longer include GNUmakefile.features.am. We don't
1957         have to process the result of this file or do any modification of
1958         feature_defines_override, because this variable is gone.
1959
1960 2013-02-21  Andrey Adaikin  <aandrey@chromium.org>
1961
1962         Unreviewed. Rolling out an unindented change from r143580.
1963
1964         * inspector/Inspector.json:
1965
1966 2013-02-21  Andreas Kling  <akling@apple.com>
1967
1968         GlyphPage: Bake per-glyph font data array into same allocation as GlyphPage.
1969
1970         A hopeful fix for REGRESSION(r143125): ~5% performance hit on Chromium's intl2 page cycler
1971         <http://webkit.org/b/108835>
1972
1973         Reviewed by Antti Koivisto.
1974
1975         Rewire GlyphPage so that we have to decide at creation time whether there will be a per-glyph
1976         array of SimpleFontData* or not. This removes one allocation and one step of indirection for
1977         pages with glyphs from mixed fonts.
1978
1979         * platform/graphics/GlyphPage.h:
1980         (WebCore::GlyphPage::createForMixedFontData):
1981         (WebCore::GlyphPage::createForSingleFontData):
1982         (WebCore::GlyphPage::createCopiedSystemFallbackPage):
1983         (WebCore::GlyphPage::~GlyphPage):
1984         (WebCore::GlyphPage::glyphDataForIndex):
1985         (WebCore::GlyphPage::fontDataForCharacter):
1986         (WebCore::GlyphPage::setGlyphDataForIndex):
1987         (WebCore::GlyphPage::removeFontDataFromSystemFallbackPage):
1988         (WebCore::GlyphPage::GlyphPage):
1989         (WebCore::GlyphPage::hasPerGlyphFontData):
1990         (GlyphPage):
1991         * platform/graphics/GlyphPageTreeNode.cpp:
1992         (WebCore::GlyphPageTreeNode::initializePage):
1993
1994 2013-02-21  Xan Lopez  <xlopez@rim.com>
1995
1996         [BlackBerry] MediaPlayerPrivateBlackBerry: include Logging.h
1997         https://bugs.webkit.org/show_bug.cgi?id=110455
1998
1999         Reviewed by Eric Carlson.
2000
2001         LOG is used in this file, so it is needed.
2002
2003         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2004
2005 2013-02-21  Keishi Hattori  <keishi@webkit.org>
2006
2007         Add animation class for new calendar picker
2008         https://bugs.webkit.org/show_bug.cgi?id=110132
2009
2010         Reviewed by Kent Tamura.
2011
2012         Adding animation related classes as part of the calendar picker
2013         redesign(Bug 109439).
2014
2015         No new tests. Code is not used yet.
2016
2017         * Resources/pagepopups/calendarPicker.js:
2018         (AnimationTimingFunction.Linear): Parameter t should be a number between 0 and 1.
2019         (AnimationTimingFunction.EaseInOut): Ditto.
2020         (AnimationManager): All animators are managed by this class so we
2021         can dispatch "animationFrameWillFinish" event after all the updates.
2022         (AnimationManager.prototype._startAnimation):
2023         (AnimationManager.prototype._stopAnimation):
2024         (AnimationManager.prototype.add): Adds an animator to the list of running animators.
2025         (AnimationManager.prototype.remove): Removes an animator.
2026         (AnimationManager.prototype._animationFrameCallback): Callback for requestAnimationFrame.
2027         (AnimationManager.prototype._needsAnimationFrame): Returns true if we should request the next animation frame.
2028         (AnimationManager.prototype.on): If we add a callback, request animation frame.
2029         (AnimationManager.prototype.removeListener):
2030         (Animator): Animates between the from value and to value.
2031         (Animator.prototype.setFrom): Sets the from value.
2032         (Animator.prototype.setTo): Sets the to value.
2033         (Animator.prototype.start):
2034         (Animator.prototype.stop):
2035         (Animator.prototype.onAnimationFrame): Called by AnimationManager.
2036
2037 2013-02-21  Andrey Adaikin  <aandrey@chromium.org>
2038
2039         Web Inspector: [Canvas] UI: more intuitive control buttons
2040         https://bugs.webkit.org/show_bug.cgi?id=110327
2041
2042         Reviewed by Pavel Feldman.
2043
2044         Tweaks to the CanvasProfiler replay control buttons.
2045         - NextDrawCall forward button (StepOver) should jump up to the last expanded node, otherwise a noop is not intuitive unless the last node is selected.
2046         - NextDrawCall/PrevDrawCall buttons should not skip draw call nodes themselves.
2047
2048         * inspector/front-end/CanvasProfileView.js:
2049         (WebInspector.CanvasProfileView.prototype._onReplayDrawingCallClick):
2050
2051 2013-02-21  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2052
2053         Make SpellCheckRequest's constructor private.
2054         https://bugs.webkit.org/show_bug.cgi?id=110462
2055
2056         Reviewed by Antonio Gomes.
2057
2058         It's no need to expose SpellCheckRequest's constructor.
2059         There is SpellCheckRequest::create() method which is
2060         responsible for creating SpellCheckRequest object.
2061
2062         No new tests, no behavior change.
2063
2064         * editing/SpellChecker.h:
2065         (SpellCheckRequest):
2066
2067 2013-02-21  Andrey Adaikin  <aandrey@chromium.org>
2068
2069         Web Inspector: [Canvas] Remove arrays of DataGrid nodes from the View
2070         https://bugs.webkit.org/show_bug.cgi?id=110325
2071
2072         Reviewed by Pavel Feldman.
2073
2074         Remove arrays of DataGrid nodes from the CanvasProfileView and use live DataGrid instead.
2075         This is a prerequisite to support a non-fixed layered tree in the grid (for example, to hide
2076         a single frame group node, or to combine several draw call groups into a pattern group).
2077         Drive-by: added an assert to injected canvas module.
2078
2079         * inspector/InjectedScriptCanvasModuleSource.js:
2080         * inspector/front-end/CanvasProfileView.js:
2081         (WebInspector.CanvasProfileView):
2082         (WebInspector.CanvasProfileView.prototype.dispose):
2083         (WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
2084         (WebInspector.CanvasProfileView.prototype._requestTraceLog):
2085         (WebInspector.CanvasProfileView.prototype._selectedCallIndex):
2086         (WebInspector.CanvasProfileView.prototype._peekLastRecursively):
2087         (WebInspector.CanvasProfileView.prototype._appendCallNodes):
2088         (WebInspector.CanvasProfileView.prototype.):
2089         (WebInspector.CanvasProfileView.prototype.splitDrawCallGroup):
2090         (WebInspector.CanvasProfileView.prototype._appendCallNodesToFrameNode):
2091
2092 2013-02-21  Alexander Pavlov  <apavlov@chromium.org>
2093
2094         Web Inspector: Local/session storage tree items in the Resources panel after page refresh are not shown
2095         Re-landing r143581 with a build fix for Windows.
2096         https://bugs.webkit.org/show_bug.cgi?id=109572
2097
2098         Reviewed by Vsevolod Vlasov.
2099
2100         This is a complete rework of the DOMStorage domain of the Web Inspector protocol. The most notable changes:
2101         - Session and local DOM storages are considered to implicitly exist for each SecurityOrigin in the page
2102           (previously, only those that were lazily created by DOMWindow would exist).
2103         - Consequently, the addDOMStorage event is gone.
2104         - StorageId is now an object rather than an opaque numeric identifier.
2105         - DOM storage modifiers no longer return a boolean indicating if the operation was successful.
2106           Clients should rely on the returned error message instead.
2107
2108         Implementation changes:
2109         - InspectorDOMStorageResource would rely on the frame for which it was created throughout its lifetime.
2110           As such, the frame removal from the page would break the respective DOM storage inspection.
2111           Since this concept was entirely flawed, InspectorDOMStorageResource has been removed. Instead, a StorageArea
2112           is retrieved based on the security origin specified by the client.
2113         - DOM storages can now be dynamically removed (upon the respective SecurityOrigin removal) in the frontend.
2114
2115         * CMakeLists.txt: Remove InspectorDOMStorageResource.
2116         * GNUmakefile.list.am: Ditto.
2117         * Target.pri: Ditto.
2118         * WebCore.gypi: Ditto.
2119         * WebCore.order: Ditto.
2120         * WebCore.vcproj/WebCore.vcproj: Ditto.
2121         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
2122         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2123         * WebCore.xcodeproj/project.pbxproj: Ditto.
2124         * dom/WebCoreMemoryInstrumentation.cpp: Ditto.
2125         * dom/WebCoreMemoryInstrumentation.h: Ditto.
2126         * inspector/InjectedScriptSource.js: Account for the structured StorageId.
2127         * inspector/Inspector.json: Update structures and API methods.
2128           Do not return boolean success flag and make use of the error message instead.
2129         * inspector/InspectorAllInOne.cpp: Remove InspectorDOMStorageResource.
2130         * inspector/InspectorController.cpp:
2131         (WebCore::InspectorController::InspectorController): Add InspectorPageAgent into InspectorDOMStorageAgent.
2132         * inspector/InspectorDOMStorageAgent.cpp: Mostly remove InspectorDOMStorageResource usages.
2133         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
2134         (WebCore::InspectorDOMStorageAgent::clearFrontend):
2135         (WebCore::InspectorDOMStorageAgent::isEnabled):
2136         (WebCore::InspectorDOMStorageAgent::enable):
2137         (WebCore::InspectorDOMStorageAgent::disable):
2138         (WebCore::InspectorDOMStorageAgent::getDOMStorageItems): Renamed.
2139         (WebCore::toErrorString): Stringify ExceptionCode.
2140         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
2141         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
2142         (WebCore::InspectorDOMStorageAgent::storageId): Make it structured rather than a plain string.
2143         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
2144         (WebCore::InspectorDOMStorageAgent::findStorageArea): Added.
2145         (WebCore::InspectorDOMStorageAgent::reportMemoryUsage): Remove InspectorDOMStorageResource map.
2146         * inspector/InspectorDOMStorageAgent.h:
2147         (WebCore::InspectorDOMStorageAgent::create): Update signature.
2148         (InspectorDOMStorageAgent):
2149         * inspector/InspectorDOMStorageResource.cpp: Removed.
2150         * inspector/InspectorDOMStorageResource.h: Removed.
2151         * inspector/InspectorInstrumentation.cpp:
2152         (WebCore::InspectorInstrumentation::didCommitLoadImpl): Do not call the removed clearResources().
2153         * inspector/InspectorInstrumentation.h:
2154         * inspector/InspectorPageAgent.cpp:
2155         (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin): Added.
2156         * inspector/InspectorPageAgent.h:
2157         (InspectorPageAgent):
2158         * inspector/front-end/DOMStorage.js: Entirely reworked to use the SecurityOriginAdded/Removed events.
2159         (WebInspector.DOMStorage):
2160         (WebInspector.DOMStorage.storageId):
2161         (WebInspector.DOMStorage.prototype.get id):
2162         (WebInspector.DOMStorage.prototype.get securityOrigin):
2163         (WebInspector.DOMStorage.prototype.getItems):
2164         (WebInspector.DOMStorage.prototype.setItem):
2165         (WebInspector.DOMStorage.prototype.removeItem):
2166         (WebInspector.DOMStorageModel):
2167         (WebInspector.DOMStorageModel.prototype._securityOriginAdded):
2168         (WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
2169         (WebInspector.DOMStorageModel.prototype._storageKey):
2170         (WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
2171         (WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
2172         (WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
2173         (WebInspector.DOMStorageModel.prototype.storageForId):
2174         (WebInspector.DOMStorageModel.prototype.storages):
2175         * inspector/front-end/DOMStorageItemsView.js: Rename Entries -> Items to avoid confusion.
2176         (WebInspector.DOMStorageItemsView.prototype._update):
2177         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageItems):
2178         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageItems):
2179         * inspector/front-end/ResourcesPanel.js: Follow the updated DOMStorage model.
2180         (WebInspector.ResourcesPanel):
2181         (WebInspector.ResourcesPanel.prototype._initialize):
2182         (WebInspector.ResourcesPanel.prototype._domStorageAdded):
2183         (WebInspector.ResourcesPanel.prototype._domStorageRemoved):
2184         (WebInspector.ResourcesPanel.prototype._populateDOMStorageTree):
2185         (WebInspector.DOMStorageTreeElement):
2186         (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
2187         * page/DOMWindow.cpp: Remove instrumentation calls.
2188         (WebCore::DOMWindow::sessionStorage):
2189         (WebCore::DOMWindow::localStorage):
2190
2191 2013-02-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2192
2193         Unreviewed. Fix make distcheck.
2194
2195         * GNUmakefile.list.am: Add missing files to compilation.
2196
2197 2013-02-21  Alberto Garcia  <albgarcia@rim.com>
2198
2199         [BlackBerry] Fix access to ResourceHandle::context
2200         https://bugs.webkit.org/show_bug.cgi?id=110443
2201
2202         Reviewed by Carlos Garcia Campos.
2203
2204         This changed in r141981.
2205
2206         * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
2207         (WebCore::ResourceHandle::start):
2208
2209 2013-02-21  Alberto Garcia  <albgarcia@rim.com>
2210
2211         [BlackBerry] GraphicsLayerBlackBerry: rename showDebugBorder to isShowingDebugBorder
2212         https://bugs.webkit.org/show_bug.cgi?id=110453
2213
2214         Reviewed by Carlos Garcia Campos.
2215
2216         This changed in r133517.
2217
2218         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
2219         (WebCore::GraphicsLayerBlackBerry::setupContentsLayer):
2220
2221 2013-02-21  Peter Rybin  <prybin@chromium.org>
2222
2223         Web Inspector: take large strings out of CodeGeneratorInspector.py
2224         https://bugs.webkit.org/show_bug.cgi?id=110159
2225
2226         Reviewed by Yury Semikhatsky.
2227
2228         Python script is refactored.
2229
2230         * inspector/CodeGeneratorInspector.py:
2231         * inspector/CodeGeneratorInspectorStrings.py: Added.
2232         (InspectorFrontend_h):
2233         (InspectorFrontendChannel):
2234         (InspectorArray):
2235         (InspectorObject):
2236         (String):
2237         (InspectorFrontend):
2238         (InspectorBackendDispatcher_h):
2239         (InspectorAgent):
2240         (InspectorBackendDispatcherImpl):
2241         (InspectorBackendDispatcher):
2242         (CallbackBase):
2243         (void):
2244         (HashMap):
2245         (OptOutput):
2246         (ExactlyInt):
2247         (RuntimeCastHelper):
2248         (provides):
2249         (typename):
2250         (Array):
2251         (Builder):
2252
2253 2013-02-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2254
2255         Unreviewed, rolling out r143581.
2256         http://trac.webkit.org/changeset/143581
2257         https://bugs.webkit.org/show_bug.cgi?id=110457
2258
2259         Breaks Windows builds (compile + link) (Requested by apavlov
2260         on #webkit).
2261
2262         * CMakeLists.txt:
2263         * GNUmakefile.list.am:
2264         * Target.pri:
2265         * WebCore.gypi:
2266         * WebCore.order:
2267         * WebCore.vcproj/WebCore.vcproj:
2268         * WebCore.vcxproj/WebCore.vcxproj:
2269         * WebCore.vcxproj/WebCore.vcxproj.filters:
2270         * WebCore.xcodeproj/project.pbxproj:
2271         * dom/WebCoreMemoryInstrumentation.cpp:
2272         (WebCore):
2273         * dom/WebCoreMemoryInstrumentation.h:
2274         (WebCoreMemoryTypes):
2275         * inspector/InjectedScriptSource.js:
2276         (.):
2277         * inspector/Inspector.json:
2278         * inspector/InspectorAllInOne.cpp:
2279         * inspector/InspectorController.cpp:
2280         (WebCore::InspectorController::InspectorController):
2281         * inspector/InspectorDOMStorageAgent.cpp:
2282         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
2283         (WebCore::InspectorDOMStorageAgent::clearFrontend):
2284         (WebCore::InspectorDOMStorageAgent::restore):
2285         (WebCore::InspectorDOMStorageAgent::enable):
2286         (WebCore::InspectorDOMStorageAgent::disable):
2287         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
2288         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
2289         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
2290         (WebCore::InspectorDOMStorageAgent::storageId):
2291         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
2292         (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
2293         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
2294         (WebCore::InspectorDOMStorageAgent::clearResources):
2295         (WebCore::InspectorDOMStorageAgent::reportMemoryUsage):
2296         * inspector/InspectorDOMStorageAgent.h:
2297         (WebCore):
2298         (WebCore::InspectorDOMStorageAgent::create):
2299         (InspectorDOMStorageAgent):
2300         * inspector/InspectorDOMStorageResource.cpp: Added.
2301         (WebCore):
2302         (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
2303         (WebCore::InspectorDOMStorageResource::isSameOriginAndType):
2304         (WebCore::InspectorDOMStorageResource::bind):
2305         (WebCore::InspectorDOMStorageResource::unbind):
2306         (WebCore::InspectorDOMStorageResource::reportMemoryUsage):
2307         * inspector/InspectorDOMStorageResource.h: Added.
2308         (WebCore):
2309         (InspectorDOMStorageResource):
2310         (WebCore::InspectorDOMStorageResource::create):
2311         (WebCore::InspectorDOMStorageResource::id):
2312         (WebCore::InspectorDOMStorageResource::storageArea):
2313         (WebCore::InspectorDOMStorageResource::frame):
2314         * inspector/InspectorInstrumentation.cpp:
2315         (WebCore):
2316         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2317         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
2318         * inspector/InspectorInstrumentation.h:
2319         (InspectorInstrumentation):
2320         (WebCore::InspectorInstrumentation::didUseDOMStorage):
2321         (WebCore):
2322         * inspector/InspectorPageAgent.cpp:
2323         * inspector/InspectorPageAgent.h:
2324         (InspectorPageAgent):
2325         * inspector/front-end/DOMStorage.js:
2326         (WebInspector.DOMStorage):
2327         (WebInspector.DOMStorage.prototype.get id):
2328         (WebInspector.DOMStorage.prototype.get domain):
2329         (WebInspector.DOMStorage.prototype.getEntries):
2330         (WebInspector.DOMStorage.prototype.setItem):
2331         (WebInspector.DOMStorage.prototype.removeItem):
2332         (WebInspector.DOMStorageModel):
2333         (WebInspector.DOMStorageModel.prototype._addDOMStorage):
2334         (WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
2335         (WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
2336         (WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
2337         (WebInspector.DOMStorageModel.prototype.storageForId):
2338         (WebInspector.DOMStorageModel.prototype.storages):
2339         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
2340         * inspector/front-end/DOMStorageItemsView.js:
2341         (WebInspector.DOMStorageItemsView.prototype._update):
2342         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
2343         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
2344         * inspector/front-end/ResourcesPanel.js:
2345         (WebInspector.ResourcesPanel):
2346         (WebInspector.ResourcesPanel.prototype._initialize):
2347         (WebInspector.ResourcesPanel.prototype._domStorageAdded):
2348         (WebInspector.ResourcesPanel.prototype._addDOMStorage):
2349         (WebInspector.DOMStorageTreeElement):
2350         (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
2351         * page/DOMWindow.cpp:
2352         (WebCore::DOMWindow::sessionStorage):
2353         (WebCore::DOMWindow::localStorage):
2354
2355 2013-02-21  Vsevolod Vlasov  <vsevik@chromium.org>
2356
2357         Web Inspector: Get rid of parsedURL in uiSourceCode, use name and path for displayName instead.
2358         https://bugs.webkit.org/show_bug.cgi?id=110335
2359
2360         Reviewed by Alexander Pavlov.
2361
2362         Replaced UISourceCode.parsedURL with UISourceCode.displayName().
2363
2364         * inspector/front-end/NavigatorView.js:
2365         (WebInspector.NavigatorView.prototype._updateScriptTitle):
2366         (WebInspector.NavigatorView.prototype.getOrCreateFolderTreeElement):
2367         (WebInspector.NavigatorFolderTreeElement):
2368         * inspector/front-end/ResourceUtils.js:
2369         (WebInspector.displayNameForURL):
2370         * inspector/front-end/RevisionHistoryView.js:
2371         (WebInspector.RevisionHistoryView.prototype._createUISourceCodeItem):
2372         * inspector/front-end/UISourceCode.js:
2373         (WebInspector.UISourceCode):
2374         (WebInspector.UISourceCode.prototype.displayName):
2375         (WebInspector.UISourceCode.prototype.urlChanged):
2376
2377 2013-02-21  Alexander Pavlov  <apavlov@chromium.org>
2378
2379         Web Inspector: Local/session storage tree items in the Resources panel after page refresh are not shown
2380         https://bugs.webkit.org/show_bug.cgi?id=109572
2381
2382         Reviewed by Vsevolod Vlasov.
2383
2384         * CMakeLists.txt:
2385         * GNUmakefile.list.am:
2386         * Target.pri:
2387         * WebCore.gypi:
2388         * WebCore.order:
2389         * WebCore.vcproj/WebCore.vcproj:
2390         * WebCore.vcxproj/WebCore.vcxproj:
2391         * WebCore.vcxproj/WebCore.vcxproj.filters:
2392         * WebCore.xcodeproj/project.pbxproj:
2393         * dom/WebCoreMemoryInstrumentation.cpp:
2394         (WebCore):
2395         * dom/WebCoreMemoryInstrumentation.h:
2396         (WebCoreMemoryTypes):
2397         * inspector/InjectedScriptSource.js:
2398         (.):
2399         * inspector/Inspector.json:
2400         * inspector/InspectorAllInOne.cpp:
2401         * inspector/InspectorController.cpp:
2402         (WebCore::InspectorController::InspectorController):
2403         * inspector/InspectorDOMStorageAgent.cpp:
2404         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
2405         (WebCore::InspectorDOMStorageAgent::clearFrontend):
2406         (WebCore::InspectorDOMStorageAgent::isEnabled):
2407         (WebCore::InspectorDOMStorageAgent::enable):
2408         (WebCore::InspectorDOMStorageAgent::disable):
2409         (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
2410         (WebCore::toErrorString):
2411         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
2412         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
2413         (WebCore::InspectorDOMStorageAgent::storageId):
2414         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
2415         (WebCore::InspectorDOMStorageAgent::findStorageArea):
2416         (WebCore::InspectorDOMStorageAgent::reportMemoryUsage):
2417         * inspector/InspectorDOMStorageAgent.h:
2418         (WebCore):
2419         (WebCore::InspectorDOMStorageAgent::create):
2420         (InspectorDOMStorageAgent):
2421         * inspector/InspectorDOMStorageResource.cpp: Removed.
2422         * inspector/InspectorDOMStorageResource.h: Removed.
2423         * inspector/InspectorInstrumentation.cpp:
2424         (WebCore):
2425         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2426         * inspector/InspectorInstrumentation.h:
2427         (InspectorInstrumentation):
2428         * inspector/InspectorPageAgent.cpp:
2429         (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
2430         (WebCore):
2431         * inspector/InspectorPageAgent.h:
2432         (InspectorPageAgent):
2433         * inspector/front-end/DOMStorage.js:
2434         (WebInspector.DOMStorage):
2435         (WebInspector.DOMStorage.storageId):
2436         (WebInspector.DOMStorage.prototype.get id):
2437         (WebInspector.DOMStorage.prototype.get securityOrigin):
2438         (WebInspector.DOMStorage.prototype.getItems):
2439         (WebInspector.DOMStorage.prototype.setItem):
2440         (WebInspector.DOMStorage.prototype.removeItem):
2441         (WebInspector.DOMStorageModel):
2442         (WebInspector.DOMStorageModel.prototype._securityOriginAdded):
2443         (WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
2444         (WebInspector.DOMStorageModel.prototype._storageKey):
2445         (WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
2446         (WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
2447         (WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
2448         (WebInspector.DOMStorageModel.prototype.storageForId):
2449         (WebInspector.DOMStorageModel.prototype.storages):
2450         * inspector/front-end/DOMStorageItemsView.js:
2451         (WebInspector.DOMStorageItemsView.prototype._update):
2452         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageItems):
2453         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageItems):
2454         * inspector/front-end/ResourcesPanel.js:
2455         (WebInspector.ResourcesPanel):
2456         (WebInspector.ResourcesPanel.prototype._initialize):
2457         (WebInspector.ResourcesPanel.prototype._domStorageAdded):
2458         (WebInspector.ResourcesPanel.prototype._domStorageRemoved):
2459         (WebInspector.ResourcesPanel.prototype._populateDOMStorageTree):
2460         (WebInspector.DOMStorageTreeElement):
2461         (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
2462         * page/DOMWindow.cpp:
2463         (WebCore::DOMWindow::sessionStorage):
2464         (WebCore::DOMWindow::localStorage):
2465
2466 2013-02-19  Eugene Klyuchnikov  <eustas@chromium.org>
2467
2468         Web Inspector: [Console] Add console API message types for profile/profileEnd.
2469         https://bugs.webkit.org/show_bug.cgi?id=109790
2470
2471         Reviewed by Pavel Feldman.
2472
2473         With profile/profileEnd message types we will gain more control over
2474         output messages.
2475
2476         * English.lproj/localizedStrings.js: Added corresponging strings.
2477         * inspector/ConsoleAPITypes.h: Added enum members.
2478         * inspector/Inspector.json: Ditto.
2479         * inspector/front-end/ConsoleModel.js: Ditto.
2480         * inspector/ConsoleMessage.cpp:
2481         (WebCore::messageTypeValue): Added cases.
2482         * inspector/InspectorProfilerAgent.cpp: Adopted changes.
2483         * inspector/front-end/inspector.js: Ditto.
2484         * inspector/front-end/ConsoleMessage.js:
2485         Added message generators for introduced message types.
2486         * inspector/front-end/ProfilesPanel.js:
2487         Turned showProfileForURL(url) to showProfile(typeId, uid).
2488         * inspector/front-end/ProfilesPanelDescriptor.js:
2489         (WebInspector.ProfilesPanelDescriptor.resolveProfileTitle): Added.
2490         * inspector/front-end/ResourceUtils.js: Removed linkifier plugins.
2491
2492 2013-02-21  Tamas Czene  <tczene@inf.u-szeged.hu>
2493
2494         OpenCL implementation of FEMerge filter.
2495         https://bugs.webkit.org/show_bug.cgi?id=110193
2496
2497         Reviewed by Zoltan Herczeg.
2498
2499         In case of odd number of parameters the first parameter is copied to the destination image and
2500         the rest of the parameters are merged in pairs.
2501
2502         * Target.pri:
2503         * platform/graphics/filters/FEMerge.h:
2504         (FEMerge):
2505         * platform/graphics/gpu/opencl/FilterContextOpenCL.h:
2506         (WebCore::FilterContextOpenCL::FilterContextOpenCL):
2507         (FilterContextOpenCL):
2508         * platform/graphics/gpu/opencl/OpenCLFEMerge.cpp: Added.
2509         (WebCore):
2510         (WebCore::FilterContextOpenCL::compileFEMerge):
2511         (WebCore::FilterContextOpenCL::copy): This is a simple copy method.
2512         (WebCore::FilterContextOpenCL::applyFEMerge):
2513         (WebCore::FEMerge::platformApplyOpenCL):
2514
2515 2013-02-21  Keishi Hattori  <keishi@webkit.org>
2516
2517         Add event dispatch class for the new calendar picker
2518         https://bugs.webkit.org/show_bug.cgi?id=110131
2519
2520         Reviewed by Kent Tamura.
2521
2522         Adding event dispatcher class as part of the new calendar picker patch at Bug 109439.
2523
2524         No new tests. Code is not yet used.
2525
2526         * Resources/pagepopups/calendarPicker.js:
2527         (EventEmitter):
2528         (EventEmitter.prototype.on): Adds a callback for an event.
2529         (EventEmitter.prototype.hasListener): Returns true if more than one listeners exist for an event type.
2530         (EventEmitter.prototype.removeListener): Removes an event listener.
2531         (EventEmitter.prototype.dispatchEvent): Dispatches an event to all callbacks. Takes variable number of arguments.
2532
2533 2013-02-21  Ken Kania  <kkania@chromium.org>
2534
2535         Web Inspector: Add command for selecting files for file input element
2536         https://bugs.webkit.org/show_bug.cgi?id=109308
2537
2538         Reviewed by Pavel Feldman.
2539
2540         Test: inspector-protocol/dom/setFileInputFiles.html
2541
2542         * inspector/Inspector.json:
2543         * inspector/InspectorClient.h:
2544         (WebCore::InspectorClient::canSetFileInputFiles):
2545         (InspectorClient):
2546         * inspector/InspectorController.cpp:
2547         (WebCore::InspectorController::InspectorController):
2548         * inspector/InspectorDOMAgent.cpp:
2549         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2550         (WebCore::InspectorDOMAgent::setFileInputFiles):
2551         (WebCore):
2552         * inspector/InspectorDOMAgent.h:
2553         (WebCore):
2554         (WebCore::InspectorDOMAgent::create):
2555         (InspectorDOMAgent):
2556
2557 2013-02-21  Pan Deng  <pan.deng@intel.com>
2558
2559         [Web Inspector]Add WebSocket networking events in Timeline panel.
2560         https://bugs.webkit.org/show_bug.cgi?id=105527.
2561
2562         Reviewed by Pavel Feldman.
2563
2564         This patch add four WebSocket networking events in Timeline panel. The Events
2565         are CreateWebSocket, SendWebSocketHandshakeRequest, ReceiveWebSocketHandShakeResponse
2566         and DestoryWebSocket. Thanks to Kitamura san's previous work.
2567
2568         Test: http/tests/inspector/websocket/timeline-websocket-event.html
2569
2570         * English.lproj/localizedStrings.js:
2571         * Modules/websockets/WebSocketChannel.cpp: Add protocol information
2572         (WebCore::WebSocketChannel::connect):
2573         * inspector/InspectorInstrumentation.cpp:
2574         (WebCore):
2575         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl): Add Timeline agent instrumentation for websocket
2576         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl): Ditto
2577         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl): Ditto
2578         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl): Ditto
2579         * inspector/InspectorInstrumentation.h:
2580         (InspectorInstrumentation):
2581         (WebCore::InspectorInstrumentation::didCreateWebSocket):
2582         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
2583         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
2584         (WebCore::InspectorInstrumentation::didCloseWebSocket):
2585         * inspector/InspectorTimelineAgent.cpp:
2586         (TimelineRecordType):
2587         (WebCore):
2588         (WebCore::InspectorTimelineAgent::didCreateWebSocket): Add Timeline record for websocket create
2589         (WebCore::InspectorTimelineAgent::addWebSocketRecord): Add general websocket record
2590         (WebCore::InspectorTimelineAgent::willSendWebSocketHandshakeRequest): Add Timeline record for websocket handshake request send
2591         (WebCore::InspectorTimelineAgent::didReceiveWebSocketHandshakeResponse): Add Timeline record for websocket handshake response receive
2592         (WebCore::InspectorTimelineAgent::didDestroyWebSocket): Add Timeline record for websocket destroy
2593         * inspector/InspectorTimelineAgent.h:
2594         (WebCore):
2595         (InspectorTimelineAgent):
2596         * inspector/TimelineRecordFactory.h:
2597         (TimelineRecordFactory):
2598         (WebCore::TimelineRecordFactory::createWebSocketCreateData):
2599         (WebCore::TimelineRecordFactory::createGenericWebSocketData):
2600         * inspector/front-end/TimelineModel.js: Add Timeline record type for websocket
2601         * inspector/front-end/TimelinePresentationModel.js:
2602         (WebInspector.TimelinePresentationModel._initRecordStyles):
2603         (WebInspector.TimelinePresentationModel.prototype.reset): Add slot to store WebSocket Create record
2604         (WebInspector.TimelinePresentationModel.Record):
2605         (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview): Add PopupContent for websocket record, including url and protocol
2606
2607 2013-02-21  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
2608
2609         [Qt] Fix pkg-config dependencies of QtWebKit itself
2610
2611         Reviewed by Simon Hausmann.
2612
2613         Don't override QMAKE_PKGCONFIG_REQUIRES needlessly.
2614
2615         * WebCore.pri:
2616
2617 2013-02-21  Nils Barth  <nbarth@google.com>
2618
2619         File upload control doesn't apply CSS vertical padding or border to file name
2620         https://bugs.webkit.org/show_bug.cgi?id=109011
2621
2622         Reviewed by Hajime Morrita.
2623
2624         Test: fast/forms/file/file-vertical-padding-border.html
2625
2626         * rendering/RenderFileUploadControl.cpp:
2627             Add borderTop() and paddingTop() when computing position.
2628         (WebCore::RenderFileUploadControl::paintObject):
2629
2630 2013-02-20  Alexey Proskuryakov  <ap@apple.com>
2631
2632         Stop hardcoding knowledge about blob protocol in ResourceHandle
2633         https://bugs.webkit.org/show_bug.cgi?id=110382
2634
2635         Reviewed by Anders Carlsson.
2636
2637         * platform/network/BlobRegistry.h:
2638         * platform/network/chromium/BlobRegistryProxy.h:
2639         Removed loadResourceSynchronously(). Chromium did not even implement it, and
2640         cross-platform code doesn't need it any more either.
2641
2642         * platform/network/BlobRegistryImpl.cpp:
2643         (WebCore::loadResourceSynchronously): A function to load a blob synchronously,
2644         suitable for being in a ResourceHandle map.
2645         (WebCore::registerBlobResourceHandleConstructor): Register loadResourceSynchronously too.
2646         (WebCore::BlobRegistryImpl::createResourceHandle): Don't make policy decisions here,
2647         it's just a registry. Moved code for checking request method down to BlobResourceHandle.
2648
2649         * platform/network/BlobRegistryImpl.h: Removed BlobRegistryImpl::loadResourceSynchronously().
2650         A registry shouldn't load resources, and it already has enough accessors to implement
2651         this externally.
2652
2653         * platform/network/BlobResourceHandle.h:
2654         * platform/network/BlobResourceHandle.cpp:
2655         (WebCore::BlobResourceHandle::createAsync): Renamed from create(), to make it clear
2656         that it's not OK to call from synchronous loader. Moved method check here.
2657         (WebCore::BlobResourceHandle::loadResourceSynchronously): Moved method check here.
2658         We used to fall through to NSURLConnection based loader when method was not GET,
2659         which of course resulted in an error eventually, but was just wrong.
2660
2661         * platform/network/ResourceHandle.cpp:
2662         (WebCore::builtinResourceHandleSynchronousLoaderMap): Added a map for synchronous case.
2663         (WebCore::ResourceHandle::registerBuiltinSynchronousLoader): Ditto.
2664         (WebCore::ResourceHandle::loadResourceSynchronously): We no longer need to hardcode
2665         knowledge about blobRegistry and blobs here.
2666
2667         * platform/network/ResourceHandle.h: Added registerBuiltinSynchronousLoader().
2668
2669         * platform/network/chromium/ResourceHandle.h: Removed loadResourceSynchronously(),
2670         which was not implemented for Chromium.
2671
2672 2013-02-20  Vsevolod Vlasov  <vsevik@chromium.org>
2673
2674         Web Inspector: TabbedEditorContainer and OpenResourceDialog should show uiSourceCode path and name instead of parsedURL
2675         https://bugs.webkit.org/show_bug.cgi?id=110334
2676
2677         Reviewed by Alexander Pavlov.
2678
2679         Introduced uiSourceCode.name() that returns a name based on uiSourceCode path.
2680         OpenResourceDialog now shows uiSourceCode workspace path as a subtitle.
2681         TabbedEditorContainer now shows uiSourceCode name in the tab header.
2682
2683         * inspector/front-end/FilteredItemSelectionDialog.js:
2684         (WebInspector.OpenResourceDialog.filterOutEmptyURLs):
2685         (WebInspector.OpenResourceDialog):
2686         (WebInspector.OpenResourceDialog.prototype.itemTitleAt):
2687         (WebInspector.OpenResourceDialog.prototype.itemSubtitleAt):
2688         (WebInspector.OpenResourceDialog.prototype.itemKeyAt):
2689         * inspector/front-end/NavigatorView.js:
2690         (WebInspector.NavigatorView.prototype._updateScriptTitle):
2691         * inspector/front-end/TabbedEditorContainer.js:
2692         (WebInspector.TabbedEditorContainer.prototype._titleForFile):
2693         * inspector/front-end/UISourceCode.js:
2694         (WebInspector.UISourceCode.prototype.name):
2695
2696 2013-02-20  Pavel Feldman  <pfeldman@chromium.org>
2697
2698         Web Inspector: debugger buttons are scrolled along with the sidebar content.
2699         https://bugs.webkit.org/show_bug.cgi?id=110434
2700
2701         Reviewed by Vsevolod Vlasov.
2702
2703         * inspector/front-end/scriptsPanel.css:
2704         (div.sidebar-pane-stack#scripts-debug-sidebar-contents, #scripts-sidebar-stack-pane):
2705
2706 2013-02-20  Wei James  <james.wei@intel.com>
2707
2708         ChannelMergerNode may need check for deferred updating of output channels
2709         https://bugs.webkit.org/show_bug.cgi?id=108863
2710
2711         There can in rare cases be a slight delay before the output bus is updated
2712         to the new number of channels because of tryLocks() in the context's
2713         updating system. So need to check the channel number before processing.
2714
2715         Reviewed by Chris Rogers.
2716
2717         * Modules/webaudio/ChannelMergerNode.cpp:
2718         (WebCore::ChannelMergerNode::ChannelMergerNode):
2719         (WebCore::ChannelMergerNode::process):
2720         (WebCore::ChannelMergerNode::checkNumberOfChannelsForInput):
2721         * Modules/webaudio/ChannelMergerNode.h:
2722         (ChannelMergerNode):
2723
2724 2013-02-20  Pan Deng  <pan.deng@intel.com>
2725
2726         [Web Inspector] Fix Sort by Initiator functionality of Network Panel.
2727         https://bugs.webkit.org/show_bug.cgi?id=109135.
2728
2729         Reviewed by Pavel Feldman.
2730
2731         A refactor for request initiator types, and the sort by Initiator functionality 
2732         was changed to sort by url and line number that displayed in initiator cell.
2733
2734         No new tests.
2735
2736         * inspector/front-end/NetworkPanel.js:
2737         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell): save initiator displayedURL and displayedLineNumber
2738         (WebInspector.NetworkDataGridNode.InitiatorComparator):
2739         * inspector/front-end/NetworkRequest.js:
2740
2741 2013-02-20  Eric Seidel  <eric@webkit.org>
2742
2743         WebVTTParser copies character buffer more often than necessary
2744         https://bugs.webkit.org/show_bug.cgi?id=103319
2745
2746         Reviewed by Eric Carlson.
2747
2748         Previously this codepath was creating a String just to parse the timestamp
2749         and then if the timestamp was valid, was creating a second string.
2750         I've fixed it to only create one string and use it in both places.
2751         I also fixed this codepath to use 8bit strings when possible, per the FIXME.
2752
2753         * html/track/WebVTTParser.cpp:
2754         (WebCore::WebVTTParser::constructTreeFromToken):
2755
2756 2013-02-20  Mike West  <mkwst@chromium.org>
2757
2758         Mouseup event does not fire on Scroll Bar
2759         https://bugs.webkit.org/show_bug.cgi?id=25811
2760
2761         Reviewed by Tony Chang.
2762
2763         Currently, clicking on a scrollbar fires a mousedown event, but not a
2764         mouseup event. This causes problems for code like jQuery UI's
2765         draggable[1], as the drag starts, but is never cancelled. Other use
2766         cases are noted in the slightly old Chromium bug[2].
2767
2768         If a mouseup event is received after a mousedown event on a scrollbar,
2769         this patch dispatches a mouseup event on the same node the mousedown
2770         event dispatched on. This matches Gecko's behavior.
2771
2772         [1]: http://bugs.jqueryui.com/ticket/6925
2773         [2]: http://crbug.com/14204
2774
2775         Tests: fast/scrolling/scrollbar-mousedown-mouseup.html
2776                fast/scrolling/scrollbar-mousedown-move-mouseup.html
2777
2778         * page/EventHandler.cpp:
2779         (WebCore::EventHandler::handleMouseReleaseEvent):
2780             If a mouseup event follow a mousedown event on a scrollbar,
2781             dispatch an event on the same node from which the mousedown event
2782             was triggered.
2783
2784 2013-02-20  Takashi Sakamoto  <tasak@google.com>
2785
2786         [Refactoring] Make m_state an on-stack object
2787         https://bugs.webkit.org/show_bug.cgi?id=109909
2788
2789         Reviewed by Antti Koivisto.
2790
2791         Mode m_state, an instance of StyleResolver::State, an on-stack object.
2792         The state is only required in styleForElement, styleForKeyframe and
2793         so on. No need to keep the state outside of those methods.
2794
2795         No new tests, because just refactoring.
2796
2797         * css/BasicShapeFunctions.cpp:
2798         (WebCore::convertToLength):
2799         (WebCore::basicShapeForValue):
2800         * css/BasicShapeFunctions.h:
2801         (WebCore):
2802         Replaced StyleResolver* with StyleResolver::State&.
2803         * css/CSSGradientValue.cpp:
2804         (WebCore::CSSGradientValue::gradientWithStylesResolved):
2805         * css/CSSGradientValue.h:
2806         (CSSGradientValue):
2807         Replaced StyleResolver* with StyleResolver::State&.
2808         * css/CSSToStyleMap.cpp:
2809         (WebCore::CSSToStyleMap::style):
2810         (WebCore::CSSToStyleMap::rootElementStyle):
2811         (WebCore::CSSToStyleMap::useSVGZoomRules):
2812         (WebCore::CSSToStyleMap::styleImage):
2813         * css/CSSToStyleMap.h:
2814         (WebCore):
2815         (WebCore::CSSToStyleMap::CSSToStyleMap):
2816         (CSSToStyleMap):
2817         Replaced StyleResolver* with StyleResolver::State&.
2818         * css/SVGCSSStyleSelector.cpp:
2819         (WebCore::StyleResolver::applySVGProperty):
2820         Replaced m_state with state which is given as an argument of
2821         applySVGProperty.
2822         * css/StyleBuilder.cpp:
2823         (WebCore::ApplyPropertyExpanding::applyInheritValue):
2824         (WebCore::ApplyPropertyExpanding::applyInitialValue):
2825         (WebCore::ApplyPropertyExpanding::applyValue):
2826         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
2827         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
2828         (WebCore::ApplyPropertyDefaultBase::applyValue):
2829         (WebCore::ApplyPropertyDefault::applyValue):
2830         (WebCore::ApplyPropertyNumber::applyValue):
2831         (WebCore::ApplyPropertyStyleImage::applyValue):
2832         (WebCore::ApplyPropertyAuto::applyInheritValue):
2833         (WebCore::ApplyPropertyAuto::applyInitialValue):
2834         (WebCore::ApplyPropertyAuto::applyValue):
2835         (WebCore::ApplyPropertyClip::convertToLength):
2836         (WebCore::ApplyPropertyClip::applyInheritValue):
2837         (WebCore::ApplyPropertyClip::applyInitialValue):
2838         (WebCore::ApplyPropertyClip::applyValue):
2839         (WebCore::ApplyPropertyColor::applyInheritValue):
2840         (WebCore::ApplyPropertyColor::applyInitialValue):
2841         (WebCore::ApplyPropertyColor::applyValue):
2842         (WebCore::ApplyPropertyColor::applyColorValue):
2843         (WebCore::ApplyPropertyDirection::applyValue):
2844         (WebCore::ApplyPropertyLength::applyValue):
2845         (WebCore::ApplyPropertyString::applyValue):
2846         (WebCore::ApplyPropertyBorderRadius::applyValue):
2847         (WebCore::ApplyPropertyFillLayer::applyInheritValue):
2848         (WebCore::ApplyPropertyFillLayer::applyInitialValue):
2849         (WebCore::ApplyPropertyFillLayer::applyValue):
2850         (WebCore::ApplyPropertyComputeLength::applyValue):
2851         (WebCore::ApplyPropertyFont::applyInheritValue):
2852         (WebCore::ApplyPropertyFont::applyInitialValue):
2853         (WebCore::ApplyPropertyFont::applyValue):
2854         (WebCore::ApplyPropertyFontSize::applyInheritValue):
2855         (WebCore::ApplyPropertyFontSize::applyInitialValue):
2856         (WebCore::ApplyPropertyFontSize::applyValue):
2857         (WebCore::ApplyPropertyFontWeight::applyValue):
2858         (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
2859         (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
2860         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
2861         (WebCore::ApplyPropertyBorderImage::applyValue):
2862         (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
2863         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
2864         (WebCore::ApplyPropertyBorderImageModifier::applyValue):
2865         (WebCore::ApplyPropertyBorderImageSource::applyValue):
2866         (WebCore::ApplyPropertyCounter::emptyFunction):
2867         (WebCore::ApplyPropertyCounter::applyInheritValue):
2868         (WebCore::ApplyPropertyCounter::applyValue):
2869         (WebCore::ApplyPropertyCursor::applyInheritValue):
2870         (WebCore::ApplyPropertyCursor::applyInitialValue):
2871         (WebCore::ApplyPropertyCursor::applyValue):
2872         (WebCore::ApplyPropertyTextAlign::applyValue):
2873         (WebCore::ApplyPropertyTextDecoration::applyValue):
2874         (WebCore::ApplyPropertyLineHeight::applyValue):
2875         (WebCore::ApplyPropertyPageSize::applyInheritValue):
2876         (WebCore::ApplyPropertyPageSize::applyInitialValue):
2877         (WebCore::ApplyPropertyPageSize::applyValue):
2878         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
2879         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
2880         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
2881         (WebCore::ApplyPropertyAnimation::map):
2882         (WebCore::ApplyPropertyAnimation::applyInheritValue):
2883         (WebCore::ApplyPropertyAnimation::applyInitialValue):
2884         (WebCore::ApplyPropertyAnimation::applyValue):
2885         (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
2886         (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
2887         (WebCore::ApplyPropertyOutlineStyle::applyValue):
2888         (WebCore::ApplyPropertyResize::applyValue):
2889         (WebCore::ApplyPropertyVerticalAlign::applyValue):
2890         (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
2891         (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
2892         (WebCore::ApplyPropertyAspectRatio::applyValue):
2893         (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
2894         (WebCore::ApplyPropertyZoom::applyInheritValue):
2895         (WebCore::ApplyPropertyZoom::applyInitialValue):
2896         (WebCore::ApplyPropertyZoom::applyValue):
2897         (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
2898         (WebCore::ApplyPropertyDisplay::applyInheritValue):
2899         (WebCore::ApplyPropertyDisplay::applyInitialValue):
2900         (WebCore::ApplyPropertyDisplay::applyValue):
2901         (WebCore::ApplyPropertyClipPath::applyValue):
2902         (WebCore::ApplyPropertyExclusionShape::applyValue):
2903         (WebCore::ApplyPropertyImageResolution::applyInheritValue):
2904         (WebCore::ApplyPropertyImageResolution::applyInitialValue):
2905         (WebCore::ApplyPropertyImageResolution::applyValue):
2906         * css/StyleBuilder.h:
2907         (WebCore):
2908         (PropertyHandler):
2909         (WebCore::PropertyHandler::applyInheritValue):
2910         (WebCore::PropertyHandler::applyInitialValue):
2911         (WebCore::PropertyHandler::applyValue):
2912         Replaced StyleResolver* with StyleResolver::State&.
2913         * css/StyleResolver.cpp:
2914         (WebCore):
2915         (WebCore::StyleResolver::StyleResolver):
2916         Removed m_styleMap. Now m_styleMap is an on-stack object.
2917         (WebCore::StyleResolver::collectMatchingRules):
2918         (WebCore::StyleResolver::collectMatchingRulesForRegion):
2919         (WebCore::StyleResolver::sortAndTransferMatchedRules):
2920         (WebCore::StyleResolver::matchScopedAuthorRules):
2921         (WebCore::StyleResolver::styleSharingCandidateMatchesHostRules):
2922         (WebCore::StyleResolver::matchHostRules):
2923         (WebCore::StyleResolver::matchAuthorRules):
2924         (WebCore::StyleResolver::matchUserRules):
2925         (WebCore::StyleResolver::matchUARules):
2926         (WebCore::StyleResolver::collectMatchingRulesForList):
2927         (WebCore::StyleResolver::sortMatchedRules):
2928         (WebCore::StyleResolver::matchAllRules):
2929         (WebCore::StyleResolver::initElement):
2930         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
2931         (WebCore::StyleResolver::canShareStyleWithControl):
2932         (WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
2933         (WebCore::StyleResolver::canShareStyleWithElement):
2934         (WebCore::StyleResolver::findSiblingForStyleSharing):
2935         (WebCore::StyleResolver::locateSharedStyle):
2936         (WebCore::StyleResolver::styleForElement):
2937         (WebCore::StyleResolver::styleForKeyframe):
2938         (WebCore::StyleResolver::keyframeStylesForAnimation):
2939         (WebCore::StyleResolver::pseudoStyleForElement):
2940         (WebCore::StyleResolver::styleForPage):
2941         (WebCore::StyleResolver::defaultStyleForElement):
2942         (WebCore::StyleResolver::adjustRenderStyle):
2943         (WebCore::StyleResolver::updateFont):
2944         (WebCore::StyleResolver::pseudoStyleRulesForElement):
2945         (WebCore::StyleResolver::ruleMatches):
2946         (WebCore::StyleResolver::checkRegionSelector):
2947         (WebCore::StyleResolver::applyProperties):
2948         (WebCore::StyleResolver::applyMatchedProperties):
2949         (WebCore::StyleResolver::isLeftPage):
2950         (WebCore::StyleResolver::applyPropertyWithNullCheck):
2951         (WebCore::StyleResolver::applyFontPropertyToStyle):
2952         (WebCore::StyleResolver::resolveVariables):
2953         (WebCore::StyleResolver::applyProperty):
2954         (WebCore::StyleResolver::styleImage):
2955         (WebCore::StyleResolver::cachedOrPendingFromValue):
2956         (WebCore::StyleResolver::generatedOrPendingFromValue):
2957         (WebCore::StyleResolver::setOrPendingFromValue):
2958         (WebCore::StyleResolver::cursorOrPendingFromValue):
2959         (WebCore::StyleResolver::checkForTextSizeAdjust):
2960         (WebCore::StyleResolver::checkForZoomChange):
2961         (WebCore::StyleResolver::checkForGenericFamilyChange):
2962         (WebCore::StyleResolver::initializeFontStyle):
2963         (WebCore::StyleResolver::setFontSize):
2964         (WebCore::StyleResolver::colorFromPrimitiveValue):
2965         (WebCore::StyleResolver::loadPendingSVGDocuments):
2966         (WebCore::StyleResolver::styleShader):
2967         (WebCore::StyleResolver::cachedOrPendingStyleShaderFromValue):
2968         (WebCore::StyleResolver::loadPendingShaders):
2969         (WebCore::StyleResolver::parseCustomFilterTransformParameter):
2970         (WebCore::StyleResolver::parseCustomFilterParameter):
2971         (WebCore::StyleResolver::parseCustomFilterParameterList):
2972         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
2973         (WebCore::StyleResolver::createCustomFilterOperation):
2974         (WebCore::StyleResolver::createFilterOperations):
2975         (WebCore::StyleResolver::loadPendingImage):
2976         (WebCore::StyleResolver::loadPendingImages):
2977         (WebCore::StyleResolver::loadPendingResources):
2978         Just replaced m_state with state and added one more parameter to
2979         provide the state.
2980         (WebCore::StyleResolver::reportMemoryUsage):
2981         Since m_state was removed, removed a code for reporting m_state's
2982         memory usage.
2983         * css/StyleResolver.h:
2984         (StyleResolver):
2985         (WebCore::StyleResolver::isRightPage):
2986         (WebCore::StyleResolver::State::State):
2987         (WebCore::StyleResolver::State::document):
2988         Since State::m_element is not always available (sometimes, 0),
2989         added m_document to State and modified to return the m_document.
2990         (WebCore::StyleResolver::State::useSVGZoomRules):
2991         Moved StyleResolver to State.
2992         (State):
2993         * html/canvas/CanvasRenderingContext2D.cpp:
2994         (WebCore::CanvasRenderingContext2D::setFont):
2995         Moved the code, updating a style by using a given StylePropertySet,
2996         to StyleResolver.
2997
2998 2013-02-20  Ojan Vafai  <ojan@chromium.org>
2999
3000         AutoTableLayout applies min-width redundantly with RenderTable
3001         https://bugs.webkit.org/show_bug.cgi?id=110426
3002
3003         Reviewed by Emil A Eklund.
3004
3005         * rendering/AutoTableLayout.cpp:
3006         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
3007         This code used to do something, but has since been superceded by
3008         code in RenderTable::computePreferredLogicalWidths.
3009
3010 2013-02-20  Dirk Schulze  <krit@webkit.org>
3011
3012         Enable CANVAS_PATH flag
3013         https://bugs.webkit.org/show_bug.cgi?id=108508
3014
3015         Uneviewed attempt to fix Qt minimal build.
3016
3017         * html/canvas/DOMPath.h:
3018         (WebCore::DOMPath::DOMPath):
3019
3020 \2013-02-20  Mark Lam  <mark.lam@apple.com>
3021
3022         Rename DatabaseBackendAsync to DatabaseBackend.
3023         https://bugs.webkit.org/show_bug.cgi?id=110422.
3024
3025         Reviewed by Geoffrey Garen.
3026
3027         This is a purely cosmetic change to make the naming consistent with
3028         the front-end Database.
3029
3030         No new tests.
3031
3032         * CMakeLists.txt:
3033         * GNUmakefile.list.am:
3034         * Modules/webdatabase/ChangeVersionWrapper.cpp:
3035         (WebCore::ChangeVersionWrapper::performPreflight):
3036         (WebCore::ChangeVersionWrapper::performPostflight):
3037         * Modules/webdatabase/Database.cpp:
3038         (WebCore::Database::Database):
3039         (WebCore::Database::from):
3040         (WebCore::Database::backend):
3041         * Modules/webdatabase/Database.h:
3042         * Modules/webdatabase/DatabaseBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackendAsync.cpp.
3043         (WebCore::DatabaseBackend::DatabaseBackend):
3044         (WebCore::DatabaseBackend::openAndVerifyVersion):
3045         (WebCore::DatabaseBackend::performOpenAndVerify):
3046         (WebCore::DatabaseBackend::close):
3047         (WebCore::DatabaseBackend::runTransaction):
3048         (WebCore::DatabaseBackend::inProgressTransactionCompleted):
3049         (WebCore::DatabaseBackend::scheduleTransaction):
3050         (WebCore::DatabaseBackend::scheduleTransactionStep):
3051         (WebCore::DatabaseBackend::transactionClient):
3052         (WebCore::DatabaseBackend::transactionCoordinator):
3053         * Modules/webdatabase/DatabaseBackend.h: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackendAsync.h.
3054         * Modules/webdatabase/DatabaseBackendAsync.cpp: Removed.
3055         * Modules/webdatabase/DatabaseBackendAsync.h: Removed.
3056         * Modules/webdatabase/DatabaseBackendBase.cpp:
3057         (WebCore::DatabaseBackendBase::~DatabaseBackendBase):
3058         * Modules/webdatabase/DatabaseManager.cpp:
3059         * Modules/webdatabase/DatabaseServer.cpp:
3060         * Modules/webdatabase/DatabaseTask.cpp:
3061         (WebCore::DatabaseTask::DatabaseTask):
3062         (WebCore::DatabaseBackend::DatabaseOpenTask::DatabaseOpenTask):
3063         (WebCore::DatabaseBackend::DatabaseOpenTask::doPerformTask):
3064         (WebCore::DatabaseBackend::DatabaseOpenTask::debugTaskName):
3065         (WebCore::DatabaseBackend::DatabaseCloseTask::DatabaseCloseTask):
3066         (WebCore::DatabaseBackend::DatabaseCloseTask::doPerformTask):
3067         (WebCore::DatabaseBackend::DatabaseCloseTask::debugTaskName):
3068         (WebCore::DatabaseBackend::DatabaseTransactionTask::DatabaseTransactionTask):
3069         (WebCore::DatabaseBackend::DatabaseTransactionTask::~DatabaseTransactionTask):
3070         (WebCore::DatabaseBackend::DatabaseTransactionTask::doPerformTask):
3071         (WebCore::DatabaseBackend::DatabaseTransactionTask::debugTaskName):
3072         (WebCore::DatabaseBackend::DatabaseTableNamesTask::DatabaseTableNamesTask):
3073         (WebCore::DatabaseBackend::DatabaseTableNamesTask::doPerformTask):
3074         (WebCore::DatabaseBackend::DatabaseTableNamesTask::debugTaskName):
3075         * Modules/webdatabase/DatabaseTask.h:
3076         (WebCore::DatabaseTask::database):
3077         (DatabaseTask):
3078         (WebCore::DatabaseBackend::DatabaseOpenTask::create):
3079         (DatabaseBackend::DatabaseOpenTask):
3080         (WebCore::DatabaseBackend::DatabaseCloseTask::create):
3081         (DatabaseBackend::DatabaseCloseTask):
3082         (WebCore::DatabaseBackend::DatabaseTableNamesTask::create):
3083         (DatabaseBackend::DatabaseTableNamesTask):
3084         * Modules/webdatabase/DatabaseThread.cpp:
3085         (WebCore::DatabaseThread::recordDatabaseOpen):
3086         (WebCore::DatabaseThread::recordDatabaseClosed):
3087         (WebCore::SameDatabasePredicate::SameDatabasePredicate):
3088         (SameDatabasePredicate):
3089         (WebCore::DatabaseThread::unscheduleDatabaseTasks):
3090         * Modules/webdatabase/DatabaseThread.h:
3091         * Modules/webdatabase/SQLStatementBackend.cpp:
3092         (WebCore::SQLStatementBackend::execute):
3093         (WebCore::SQLStatementBackend::setDatabaseDeletedError):
3094         (WebCore::SQLStatementBackend::setVersionMismatchedError):
3095         (WebCore::SQLStatementBackend::setFailureDueToQuota):
3096         * Modules/webdatabase/SQLStatementBackend.h:
3097         * Modules/webdatabase/SQLTransactionBackend.cpp:
3098         (WebCore::SQLTransactionBackend::create):
3099         (WebCore::SQLTransactionBackend::SQLTransactionBackend):
3100         * Modules/webdatabase/SQLTransactionBackend.h:
3101         (WebCore::SQLTransactionBackend::database):
3102         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
3103         (WebCore::getDatabaseIdentifier):
3104         * Target.pri:
3105         * WebCore.gypi:
3106         * WebCore.vcproj/WebCore.vcproj:
3107         * WebCore.vcxproj/WebCore.vcxproj:
3108         * WebCore.vcxproj/WebCore.vcxproj.filters:
3109         * WebCore.xcodeproj/project.pbxproj:
3110
3111 2013-02-20  David Kilzer  <ddkilzer@apple.com>
3112
3113         Upstream SharedTimerIOS.mm
3114         <http://webkit.org/b/110161>
3115
3116         Reviewed by Benjamin Poulain.
3117
3118         * Configurations/WebCore.xcconfig:
3119         (EXCLUDED_SOURCE_FILE_NAMES_iphoneos): Add SharedTimerMac.mm.
3120         * WebCore.xcodeproj/project.pbxproj: Add SharedTimerIOS.mm.
3121         * platform/ios/SharedTimerIOS.mm: Add.
3122         (WebCore):
3123         (-[WebCoreResumeNotifierIOS init]):
3124         (-[WebCoreResumeNotifierIOS dealloc]):
3125         (-[WebCoreResumeNotifierIOS didWake]):
3126         (WebCore::setSharedTimerFiredFunction):
3127         (WebCore::timerFired):
3128         (WebCore::setSharedTimerFireInterval):
3129         (WebCore::stopSharedTimer):
3130
3131 2013-02-20  Ojan Vafai  <ojan@chromium.org>
3132
3133         Speculative fix for EFL and Windows compilers not realizing
3134         that all possible cases have a return value from this switch.
3135
3136         * rendering/RenderBox.cpp:
3137         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
3138
3139 2013-02-20  David Hyatt  <hyatt@apple.com>
3140
3141         [New Multicolumn] Fix overflow computation for column blocks.
3142         https://bugs.webkit.org/show_bug.cgi?id=110392.
3143
3144         Reviewed by Simon Fraser.
3145
3146         * rendering/RenderBox.cpp:
3147         (WebCore::RenderBox::addOverflowFromChild):
3148         Exclude in-flow RenderFlowThreads from overflow propagation.
3149
3150         * rendering/RenderMultiColumnSet.h:
3151         * rendering/RenderRegion.h:
3152         (WebCore::RenderRegion::shouldHaveAutoLogicalHeight):
3153          * rendering/RenderRegionSet.h:
3154         (RenderRegionSet):
3155         Override shouldHaveAutoLogicalHeight to always be false
3156         for region sets and for columns. Eventually we're going to try
3157         to leverage this code to do column balancing, and that's why
3158         RenderMultiColumnSet has a unique override.
3159
3160 2013-02-20  Brandon Jones  <bajones@google.com>
3161  
3162         Printing WebGL canvases in Chrome uses stale data after first print
3163         https://bugs.webkit.org/show_bug.cgi?id=110003
3164  
3165         Reviewed by Kenneth Russell.
3166  
3167         Unable to validate printed content automatically. No regression in existing WebGL tests.
3168  
3169          * html/canvas/WebGLRenderingContext.cpp:
3170          (WebCore):
3171          (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
3172
3173 2013-02-20  Christian Biesinger  <cbiesinger@chromium.org>
3174
3175         Incorrect rendering for flex boxes with percentage height in a table cell
3176         https://bugs.webkit.org/show_bug.cgi?id=110389
3177
3178         Reviewed by Tony Chang.
3179
3180         Tests: css3/flexbox/flex-percentage-height-in-table-standards-mode.html
3181                css3/flexbox/flex-percentage-height-in-table.html
3182
3183         * rendering/RenderFlexibleBox.cpp:
3184         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
3185         Always update the logical height of the flex box, not just when it is
3186         auto. If necessary, the later updateLogicalHeight() call will adjust
3187         it.
3188
3189 2013-02-20  Philip Rogers  <pdr@google.com>
3190
3191         Account for transform in SVG background images
3192         https://bugs.webkit.org/show_bug.cgi?id=110295
3193
3194         Reviewed by Dirk Schulze.
3195
3196         Tiled SVG background images are rendererd by drawing the SVG content into a temporary
3197         image buffer, then stamping out a tiled pattern using this buffer. Previously the
3198         image buffer did not account for CSS transforms which could result in pixelated backgrounds.
3199
3200         This patch takes advantage of the context's transform when sizing the temporary tiling
3201         image buffer. Because the context's transform also includes scale, this patch simplifies
3202         the SVG image code to no longer track scale.
3203
3204         Test: svg/as-background-image/svg-transformed-background.html
3205
3206         * loader/cache/CachedImage.cpp:
3207         (WebCore):
3208         (WebCore::CachedImage::imageForRenderer):
3209
3210             CachedImage::lookupOrCreateImageForRenderer no longer creates images so it has been
3211             refactored into just "imageForRenderer". Previously there were two versions of
3212             lookupOrCreateImageForRenderer; these have been folded into imageForRenderer.
3213
3214         * loader/cache/CachedImage.h:
3215         * svg/graphics/SVGImage.cpp:
3216         (WebCore::SVGImage::drawPatternForContainer):
3217
3218             To create the temporary tiling image buffer, the final size in screen coordinates is
3219             needed. This is now computed using the current context's CTM. Because the CTM
3220             already includes the page scale, all page scale tracking can be removed.
3221
3222             The adjustments to srcRect and the pattern transform are the same as before, just
3223             refactored to use imageBufferScale which has x and y components.
3224
3225         * svg/graphics/SVGImage.h:
3226         * svg/graphics/SVGImageCache.cpp:
3227         (WebCore::SVGImageCache::setContainerSizeForRenderer):
3228
3229             Because the page scale needed to be cached between calls to
3230             setContainerSizeForRenderer, this function was written to modify an existing cache
3231             entry. Because the page scale no longer needs to be tracked, this code has been
3232             simplified to re-write any existing cache entry.
3233
3234         (WebCore::SVGImageCache::imageSizeForRenderer):
3235
3236             This function has been simplified by calling SVGImageForContainer::size() instead
3237             of computing this value manually. The value returned remains the same, containing
3238             the container size multiplied by zoom.
3239
3240         (WebCore::SVGImageCache::imageForRenderer):
3241
3242             Previously we set the page scale on every call to imageForRenderer. Because page scale
3243             no longer needs to be tracked, this function has been simplified to simply return
3244             the cached SVGImageForContainer.
3245
3246         * svg/graphics/SVGImageForContainer.cpp:
3247         (WebCore::SVGImageForContainer::drawPattern):
3248         * svg/graphics/SVGImageForContainer.h:
3249         (WebCore::SVGImageForContainer::create):
3250         (WebCore::SVGImageForContainer::SVGImageForContainer):
3251         (SVGImageForContainer):
3252
3253 2013-02-20  Jer Noble  <jer.noble@apple.com>
3254
3255         Crash in com.apple.WebKit2.WebProcessService at com.apple.avfoundation: __73-[AVAssetResourceLoader _attemptDelegateHandlingOfRequestWithDictionary:]_block_invoke + 51
3256         https://bugs.webkit.org/show_bug.cgi?id=110385
3257
3258         Reviewed by Eric Carlson.
3259
3260         Ensure AVFoundation does not attempt to message a dead object by explicitly disassociating
3261         the AVAssetResourceLoaderDelegate on MediaPlayerPrivateAVFoundationObjC destruction.
3262
3263         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3264         (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
3265
3266 2013-02-20  Ojan Vafai  <ojan@chromium.org>
3267
3268         Positioned, replaced elements with intrinsic width keywords compute the wrong width
3269         https://bugs.webkit.org/show_bug.cgi?id=110393
3270
3271         Reviewed by Emil A Eklund.
3272
3273         Test: fast/css-intrinsic-dimensions/intrinsic-sized-replaced-absolutes.html
3274
3275         * rendering/RenderBox.cpp:
3276         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
3277         Add the intrinsic size keywords to the switch. Confusingly, we have to
3278         subtract the border and padding since the callers expect the content width.
3279
3280         * rendering/RenderReplaced.cpp:
3281         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
3282         Don't do the intrinsic ratio calculation if the width is an
3283         intrinsic width keyword, as per, http://dev.w3.org/csswg/css3-sizing/#replaced-intrinsic.
3284
3285         (WebCore::RenderReplaced::computeIntrinsicLogicalWidths):
3286         (WebCore::RenderReplaced::computePreferredLogicalWidths):
3287         The old code was trying to apply the intrinsic ratio calculation to
3288         the intrinsic width, which is wrong per spec.
3289
3290 2013-02-20  Alec Flett  <alecflett@chromium.org>
3291
3292         LevelDB: Remove excess vector copy
3293         https://bugs.webkit.org/show_bug.cgi?id=110399
3294
3295         Reviewed by Tony Chang.
3296
3297         Remove an extra copy introduced by the makeVector function.
3298
3299         No new tests, this is covered by existing tests.
3300
3301         * platform/leveldb/LevelDBDatabase.cpp:
3302         (WebCore::LevelDBDatabase::safeGet):
3303
3304 2013-02-20  Simon Fraser  <simon.fraser@apple.com>
3305
3306         Zoomed, slow-scrolling pages keep recreating tiles when scrolled
3307         https://bugs.webkit.org/show_bug.cgi?id=110379
3308
3309         Reviewed by Tim Horton.
3310
3311         On slow-scrolling pages the TileCache makes the tiles the size of
3312         the visible rect to minimize per-tile painting overhead. If the size
3313         of that rect changes, the TileCache re-creates all the tiles.
3314         
3315         This was a problem whem zoomed, because mapping the visible rect
3316         through the scale transform and then rounding it would cause the
3317         size to keep changing, causing lots of tile re-creation.
3318         
3319         Fix by carrying the visibleRect around as a FloatRect, and doing
3320         the same for the exposedRect. We then only expand to integers
3321         when computing the tile size. This also fixes an issue where we could
3322         sometimes make extra tiles because of fractional bits of tiles at the edges,
3323         as shown by the test result change.
3324
3325         * platform/graphics/TiledBacking.h:
3326         * platform/graphics/ca/GraphicsLayerCA.cpp:
3327         (WebCore::GraphicsLayerCA::updateVisibleRect):
3328         * platform/graphics/ca/mac/TileCache.h:
3329         * platform/graphics/ca/mac/TileCache.mm:
3330         (WebCore::TileCache::setVisibleRect):
3331         (WebCore::TileCache::setExposedRect):
3332         (WebCore::TileCache::prepopulateRect):
3333         (WebCore::TileCache::computeTileCoverageRect):
3334         (WebCore::TileCache::tileSizeForCoverageRect):
3335         (WebCore::TileCache::blankPixelCountForTiles):
3336         (WebCore::TileCache::revalidateTiles):
3337         (WebCore::TileCache::ensureTilesForRect):
3338         * platform/graphics/ca/mac/WebTileLayer.mm:
3339         (-[WebTileLayer logFilledFreshTile]):
3340
3341 2013-02-20  Julien Chaffraix  <jchaffraix@webkit.org>
3342
3343         [CSS Grid Layout] Implement the auto-placement algorithm without grid growth
3344         https://bugs.webkit.org/show_bug.cgi?id=110277
3345
3346         Reviewed by Tony Chang.
3347
3348         Tests: fast/css-grid-layout/grid-item-addition-auto-placement-update.html
3349                fast/css-grid-layout/grid-item-removal-auto-placement-update.html
3350                fast/css-grid-layout/grid-auto-flow-resolution.html (extended to cover more cases)
3351
3352         This change implements most of the auto-placement algorithm per
3353         http://dev.w3.org/csswg/css3-grid-layout/#auto-placement-algo
3354
3355         To limit the size of the code change, it doesn't implement growing the grid if there
3356         are no empty grid areas. If we don't find any empty grid areas, we just insert in the first
3357         one, like what grid-auto-flow: none would do (which explains the test failures).
3358
3359         * rendering/RenderGrid.cpp:
3360         (WebCore::RenderGrid::GridIterator::nextEmptyGridArea):
3361         Added this function to return the GridCoordinate of the next empty grid area along
3362         the iterator's direction.
3363
3364         (WebCore::RenderGrid::placeItemsOnGrid):
3365         Split this function into the different steps below. For efficiency, collect the auto vs specified
3366         major axis grid items in different Vectors.
3367
3368         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
3369         Added this function that implements part of step 1 of the algorithm (the grid items without
3370         auto row / column are already handled in placeItemsOnGrid).
3371
3372         (WebCore::RenderGrid::placeAutoMajorAxisItemsOnGrid):
3373         Added this function that iterates over the auto grid items and call placeAutoMajorAxisItemOnGrid.
3374
3375         (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
3376         Added this method to handle the step 4 of the algorithm. Based on the minor axis's position,
3377         it either walks along the major axis once or several times until it finds an empty grid area
3378         for the grid item.
3379
3380         (WebCore::RenderGrid::autoPlacementMajorAxisPositionForChild):
3381         (WebCore::RenderGrid::autoPlacementMinorAxisPositionForChild):
3382         (WebCore::RenderGrid::autoPlacementMajorAxisDirection):
3383         (WebCore::RenderGrid::autoPlacementMinorAxisDirection):
3384         Added these helper functions that return minor / major axis positions & direction.
3385
3386         * rendering/RenderGrid.h:
3387         Added the previous new RenderGrid functions.
3388
3389 2013-02-20  Vincent Scheib  <scheib@chromium.org>
3390
3391         Accept 'allowfullscreen' in addition to 'webkitallowfullscreen'.
3392         https://bugs.webkit.org/show_bug.cgi?id=110374
3393
3394         Reviewed by Adam Barth.
3395
3396         The fullscreen API also includes a new HTML attribute for iframes
3397         which permits its use. That attribute, 'allowfullcreen' is now
3398         included in the HTML specification [1] and is stable enough
3399         to remove the webkit prefix.
3400
3401         [1] http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-allowfullscreen
3402
3403         Tests: fullscreen/full-screen-enabled-prefixed.html
3404                fullscreen/full-screen-iframe-allowed-prefixed.html
3405                fullscreen/full-screen-iframe-with-mixed-allow-webkitallow-attribute.html
3406
3407         * dom/Document.cpp:
3408         (WebCore::isAttributeOnAllOwners):
3409         (WebCore::Document::fullScreenIsAllowedForElement):
3410         (WebCore::Document::webkitFullscreenEnabled):
3411         * html/HTMLAttributeNames.in:
3412
3413 2013-02-20  Roger Fong  <roger_fong@apple.com>
3414
3415         Unreviewed. Remove references to SAFARI_THEME from Windows Solution.
3416         <rdar://problem/13258710>
3417
3418         * config.h:
3419         * page/Settings.cpp:
3420         * page/Settings.h:
3421         * platform/win/ScrollbarThemeWin.cpp:
3422         * rendering/RenderThemeWin.cpp:
3423
3424 2013-02-20  Roger Fong  <roger_fong@apple.com>
3425
3426         Get VS2010 Solution B&I ready.
3427         <rdar://problem/1322988>
3428
3429         Rubberstamped by Timothy Horton.
3430
3431         Add Production configuration. 
3432         Add a WebCore submit solution with a DebugSuffix configuration. 
3433         Modify WebCore.make as necessary.
3434         
3435         * DerivedSources.make:
3436         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj:
3437         * WebCore.vcxproj/QTMovieWin/QTMovieWinCommon.props:
3438         * WebCore.vcxproj/QTMovieWin/QTMovieWinProduction.props: Added.
3439         * WebCore.vcxproj/QTMovieWin/QTMovieWinRelease.props:
3440         * WebCore.vcxproj/WebCore.make: Added.
3441         * WebCore.vcxproj/WebCore.sln: Removed.
3442         * WebCore.vcxproj/WebCore.submit.sln: Copied from Source/WebCore/WebCore.vcxproj/WebCore.sln.
3443         * WebCore.vcxproj/WebCore.vcxproj:
3444         * WebCore.vcxproj/WebCoreGenerated.vcxproj:
3445         * WebCore.vcxproj/WebCoreGeneratedProduction.props: Added.
3446         * WebCore.vcxproj/WebCoreGeneratedRelease.props:
3447         * WebCore.vcxproj/WebCoreProduction.props: Added.
3448         * WebCore.vcxproj/WebCoreRelease.props:
3449         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
3450
3451 2013-02-20  Adam Klein  <adamk@chromium.org>
3452
3453         [v8] Fix an erroneous WrapperGrouper call in preparation for refactoring
3454         https://bugs.webkit.org/show_bug.cgi?id=110396
3455
3456         Reviewed by Kentaro Hara.
3457
3458         This is in preparation for a refactor to expose a simplified
3459         WrapperGrouper interface to V8 wrapper classes enabling them to
3460         specify multiple roots per wrapper object. 
3461
3462         * bindings/v8/V8GCController.cpp: Since MutationObservers are not Nodes, the correct call here is addObjectToGroup, as it is for all other non-Node wrappers.
3463
3464 2013-02-20  Levi Weintraub  <leviw@chromium.org>
3465
3466         Line layout (but not pref widths) double-counts word spacing when between inlines
3467         https://bugs.webkit.org/show_bug.cgi?id=110381
3468
3469         Reviewed by Emil A Eklund.
3470
3471         When a word break with a space occurs between inlines and word-spacing is non-zero,
3472         line layout incorrectly committed the word-spacing value to the line twice, causing
3473         wrapping in inline-blocks. To fix this, clear the word-spacing value when between
3474         words and ignoring spaces, as we will already have added the word-spacing to the
3475         line.
3476
3477         Test: fast/text/word-space-between-inlines.html
3478
3479         * rendering/RenderBlockLineLayout.cpp:
3480         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
3481
3482 2013-02-20  Nate Chapin  <japhet@chromium.org>
3483
3484         Crash in WebCore::FrameLoader::checkCompleted()
3485         https://bugs.webkit.org/show_bug.cgi?id=110237
3486
3487         Reviewed by Abhishek Arya.
3488
3489         Test: http/tests/misc/delete-frame-during-readystatechange.html
3490
3491         * loader/FrameLoader.cpp:
3492         (WebCore::FrameLoader::checkCompleted): Protect before setReadyState() is called.
3493
3494 2013-02-20  David Grogan  <dgrogan@chromium.org>
3495
3496         IndexedDB: Limit LevelDB's max open files
3497         https://bugs.webkit.org/show_bug.cgi?id=109993
3498
3499         Reviewed by Tony Chang.
3500
3501         LevelDB keeps up to 1000 (by default) data files open at a time to
3502         avoid having to open() them. This has caused chromium to hit the
3503         process-wide open file limit. This patch changes max_open_files to 20,
3504         as that's the minimum permitted by LevelDB and we have no reason to
3505         think that performance will suffer because of the extra open calls.
3506
3507         No new tests - a chromium browser test that tracks the open LevelDB
3508         files is plausible but is blocked on http://crbug.com/177249/.
3509
3510         * platform/leveldb/LevelDBDatabase.cpp:
3511         (WebCore::openDB):
3512
3513 2013-02-20  David Hyatt  <hyatt@apple.com>
3514
3515         [New Multicolumn] Resize RenderMultiColumnSets around their columns.
3516         https://bugs.webkit.org/show_bug.cgi?id=110378.
3517
3518         Reviewed by Dirk Schulze.
3519
3520         Test: fast/multicol/newmulticol/positioned-with-constrained-height.html.
3521
3522         * rendering/RenderBlock.h:
3523         (RenderBlock):
3524         Make computeOverflow public so that RenderMultiColumnFlowThread can
3525         access it.
3526
3527         * rendering/RenderMultiColumnFlowThread.cpp:
3528         (WebCore::RenderMultiColumnFlowThread::layout):
3529         Subclass layout to recompute the overflow for RenderMultiColumnBlock
3530         after the flow thread has finished layout. This way it can account
3531         for changes in RenderMultiColumnSets without having to do a second
3532         layout pass.
3533
3534         * rendering/RenderMultiColumnFlowThread.h:
3535         (RenderMultiColumnFlowThread):
3536         Override layout().
3537
3538         * rendering/RenderMultiColumnSet.cpp:
3539         (WebCore::RenderMultiColumnSet::columnCount):
3540         Clean up a comment that referred to portions as region rects still.
3541
3542         (WebCore::RenderMultiColumnSet::setFlowThreadPortionRect):
3543         * rendering/RenderMultiColumnSet.h:
3544         * rendering/RenderRegion.h:
3545         (WebCore::RenderRegion::setFlowThreadPortionRect):
3546         Make setFlowThreadPortionRect virtual and actually mutate the size
3547         and position of RenderMultiColumnSets so that they enclose their
3548         column rects.
3549
3550 2013-02-20  Dirk Schulze  <krit@webkit.org>
3551
3552         Enable CANVAS_PATH flag
3553         https://bugs.webkit.org/show_bug.cgi?id=108508
3554
3555         Reviewed by Simon Fraser.
3556
3557         Enable CANVAS_PATH flag on trunk.
3558
3559         Existing tests cover the feature.
3560
3561         * Configurations/FeatureDefines.xcconfig:
3562
3563 2013-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
3564
3565         Unreviewed, rolling out r143441.
3566         http://trac.webkit.org/changeset/143441
3567         https://bugs.webkit.org/show_bug.cgi?id=110376
3568
3569         May be causing chromium content_browsertests failures.
3570         (Requested by vollick on #webkit).
3571
3572         * bindings/v8/ScriptValue.cpp:
3573         (WebCore::ScriptValue::serialize):
3574         (WebCore::ScriptValue::getString):
3575         (WebCore::ScriptValue::toString):
3576         (WebCore::ScriptValue::toInspectorValue):
3577         * bindings/v8/ScriptValue.h:
3578         (WebCore::ScriptValue::ScriptValue):
3579         (WebCore::ScriptValue::operator=):
3580         (WebCore::ScriptValue::operator==):
3581         (WebCore::ScriptValue::isEqual):
3582         (WebCore::ScriptValue::isFunction):
3583         (WebCore::ScriptValue::isNull):
3584         (WebCore::ScriptValue::isUndefined):
3585         (WebCore::ScriptValue::isObject):
3586         (WebCore::ScriptValue::hasNoValue):
3587         (WebCore::ScriptValue::clear):
3588         (WebCore::ScriptValue::v8Value):
3589         (ScriptValue):
3590         * bindings/v8/SharedPersistent.h:
3591         (WebCore):
3592         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3593         (WebCore::InjectedScriptHost::scriptValueAsNode):
3594         * bindings/v8/custom/V8MessageEventCustom.cpp:
3595         (WebCore::V8MessageEvent::dataAttrGetterCustom):
3596
3597 2013-02-15  Dirk Schulze  <krit@webkit.org>
3598
3599         [Chromium] Add runtime flag for CanvasPath
3600         https://bugs.webkit.org/show_bug.cgi?id=109997
3601
3602         Reviewed by Adam Barth.
3603
3604         Add runtime flag for Chromium.
3605
3606         * bindings/generic/RuntimeEnabledFeatures.cpp:
3607         (WebCore):
3608         * bindings/generic/RuntimeEnabledFeatures.h:
3609         (RuntimeEnabledFeatures):
3610         (WebCore::RuntimeEnabledFeatures::setCanvasPathEnabled):
3611         (WebCore::RuntimeEnabledFeatures::canvasPathEnabled):
3612         * html/canvas/DOMPath.idl:
3613         * page/DOMWindow.idl:
3614
3615 2013-02-20  Laszlo Gombos  <l.gombos@samsung.com>
3616
3617         Remove unnecessary includes for Platform.h from headers
3618         https://bugs.webkit.org/show_bug.cgi?id=110300
3619
3620         Reviewed by Alexey Proskuryakov.
3621
3622         wtf/Platform.h only need to be included in a few places directly
3623         as it is included in config.h. Remove the unnecessay duplicate as
3624         it can be confusing.
3625
3626         No new tests, no change in functionality.
3627
3628         * platform/SecureTextInput.h:
3629         * platform/audio/Biquad.h:
3630         * platform/audio/FFTFrame.h:
3631         * platform/graphics/cpu/arm/filters/FEBlendNEON.h:
3632         * platform/graphics/cpu/arm/filters/NEONHelpers.h:
3633         * platform/graphics/filters/FELighting.h:
3634
3635 2013-02-20  Florin Malita  <fmalita@chromium.org>
3636
3637         [SVG] Update of element referenced by multiple 'use' nodes is absurdly slow
3638         https://bugs.webkit.org/show_bug.cgi?id=97905
3639
3640         Reviewed by Dirk Schulze.
3641
3642         Rebuilding the shadow and instance trees of dependent use nodes recursively can be
3643         extremely inefficient with non-trivial dependency graphs (the trees are not constructed
3644         in topological order).
3645
3646         To avoid redundant buildShadowAndInstanceTree() invokations, separate the invalidation
3647         phase from the actual tree (re)building phase, and only descend into the dependency DAG
3648         during the invalidation phase (recursion also stops at nodes that have been previously
3649         invalidated).
3650
3651         No new tests: functional coverage provided by existing tests, perfomance tracked by
3652         PerformanceTests/SVG/SvgNestedUse.html.
3653
3654         * svg/SVGUseElement.cpp:
3655         (WebCore::SVGUseElement::buildPendingResource):
3656         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
3657         (WebCore::SVGUseElement::invalidateShadowTree):
3658         (WebCore):
3659         (WebCore::SVGUseElement::invalidateDependentShadowTrees):
3660         * svg/SVGUseElement.h:
3661         (SVGUseElement):
3662
3663 2013-02-20  Tim Horton  <timothy_horton@apple.com>
3664
3665         RenderLayerBacking should initialize TiledBacking's isInWindow state with Page's isInWindow, not isOnscreen
3666         https://bugs.webkit.org/show_bug.cgi?id=110370
3667         <rdar://problem/13254006>
3668
3669         Reviewed by Simon Fraser.
3670
3671         * rendering/RenderLayerBacking.cpp:
3672         (WebCore::RenderLayerBacking::RenderLayerBacking):
3673
3674 2013-02-20  Mark Lam  <mark.lam@apple.com>
3675
3676         Cleanup the SQLTransaction and SQLTransactionBackend state dispatch
3677         to only honor a state transition request if the associated database
3678         hasn't been interrupted.
3679         https://bugs.webkit.org/show_bug.cgi?id=110247.
3680
3681         Reviewed by Antti Koivisto.
3682
3683         No new tests.
3684
3685         * Modules/webdatabase/SQLTransaction.cpp:
3686         (WebCore::SQLTransaction::performPendingCallback):
3687         (WebCore::SQLTransaction::computeNextStateAndCleanupIfNeeded):
3688         * Modules/webdatabase/SQLTransaction.h:
3689         * Modules/webdatabase/SQLTransactionBackend.cpp:
3690         (WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
3691         (WebCore::SQLTransactionBackend::performNextStep):
3692         * Modules/webdatabase/SQLTransactionBackend.h:
3693
3694 2013-02-20  Alexey Proskuryakov  <ap@apple.com>
3695
3696         ResourceHandle::loadResourceSynchronously should have blob support in cross-platform code
3697         https://bugs.webkit.org/show_bug.cgi?id=110364
3698
3699         Reviewed by Anders Carlsson.
3700
3701         * platform/network/ResourceHandle.h:
3702         * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::loadResourceSynchronously):
3703         Added a cross-platform version to keep blob-related logic in one place.
3704
3705         * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
3706         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
3707         * platform/network/cf/ResourceHandleCFNet.cpp:
3708         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
3709         * platform/network/curl/ResourceHandleCurl.cpp:
3710         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
3711         * platform/network/mac/ResourceHandleMac.mm:
3712         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
3713         * platform/network/qt/ResourceHandleQt.cpp:
3714         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
3715         * platform/network/soup/ResourceHandleSoup.cpp:
3716         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
3717         * platform/network/win/ResourceHandleWin.cpp:
3718         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
3719         Renamed loadResourceSynchronously to platformLoadResourceSynchronously,
3720         removed blob handling from platforms that had it.
3721
3722 2013-02-20  David Hyatt  <hyatt@apple.com>
3723
3724         [New Multicolumn] RenderMultiColumnFlowThreads should establish a BFC.
3725         https://bugs.webkit.org/show_bug.cgi?id=110366.
3726
3727         Reviewed by Antti Koivisto.
3728
3729         RenderFlowThreads should establish a block formatting context always.
3730         CSS Regions have named flow thread that they absolutely position, and so
3731         they got this for free by being absolutely positioned.
3732         
3733         RenderMultiColumnFlowThreads, however, are relative positioned, so we need
3734         to just add an isRenderFlowThread case specifically so we're not dependent
3735         on the positioning scheme used for the flow thread to establish the BFC.
3736         
3737         Test: fast/multicol/newmulticol/float-*.html.
3738
3739         * rendering/RenderBlock.cpp:
3740         (WebCore::RenderBlock::MarginInfo::MarginInfo):
3741
3742 2013-02-20  David Hyatt  <hyatt@apple.com>
3743
3744         [New Multicolumn] Column gap is computed incorrectly.
3745         https://bugs.webkit.org/show_bug.cgi?id=110360.
3746
3747         Reviewed by Simon Fraser.
3748
3749         Test: fast/multicol/newmulticol/layers-split-across-columns.html.
3750
3751         * rendering/RenderMultiColumnSet.cpp:
3752         (WebCore::RenderMultiColumnSet::columnGap):
3753         Make sure we ask the RenderMultiColumnBlock for the gap rather than our
3754         own style, since we don't actually have the gap value in our style.
3755         
3756         (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
3757         * rendering/RenderMultiColumnSet.h:
3758         Fix another spot where the columnGap was an int. It should be a LayoutUnit.
3759
3760 2013-02-20  Robert Hogan  <robert@webkit.org>
3761
3762         No caret on empty contenteditable element with negative text-indent
3763         https://bugs.webkit.org/show_bug.cgi?id=108633
3764
3765         Reviewed by Ryosuke Niwa.
3766
3767         Test: fast/repaint/paint-caret-in-div-with-negative-indent.html
3768
3769         When an editable element has a negative text indent we won't paint the caret when the
3770         element is empty because it falls outside the element's border box. To ensure the caret is painted,
3771         account for any negative indent with our overflow.
3772
3773         * rendering/RenderBlock.cpp:
3774         (WebCore::RenderBlock::computeOverflow):
3775
3776 2013-02-20  Ojan Vafai  <ojan@chromium.org>
3777
3778         Remove stretchesToMinIntrinsicLogicalWidth
3779         https://bugs.webkit.org/show_bug.cgi?id=110266
3780
3781         Reviewed by Emil Eklund.
3782
3783         This was only used by fieldsets and now we have a way to express this
3784         concept in CSS.
3785
3786         * WebCore.order:
3787         * css/html.css:
3788         Make fieldsets min-width: -webkit-min-content.
3789
3790         * rendering/RenderBox.cpp:
3791         (WebCore::RenderBox::computeLogicalWidthInRegion):
3792         (WebCore::RenderBox::computePositionedLogicalWidth):
3793         * rendering/RenderBox.h:
3794         Remove all calls to stretchesToMinIntrinsicLogicalWidth.
3795
3796 2013-02-20  Ojan Vafai  <ojan@chromium.org>
3797
3798         Make intrinsic width values work for positioned elements
3799         https://bugs.webkit.org/show_bug.cgi?id=110264
3800
3801         Reviewed by Tony Chang.
3802
3803         Tests: fast/css-intrinsic-dimensions/intrinsic-sized-absolutes.html
3804                fast/css-intrinsic-dimensions/width-shrinks-avoid-floats.html
3805
3806         * rendering/RenderBox.cpp:
3807         (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
3808         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
3809         Move the computation of intrinsic widths out into a helper function so that
3810         computePositionedLogicalWidthUsing can use it. As per the current spec,
3811         fill-available measures shrink to avoid floats. http://dev.w3.org/csswg/css3-sizing/
3812
3813         (WebCore::RenderBox::computePositionedLogicalWidth):
3814         Compute intrinsic min-widths in addition to non-zero ones. Intrinsic widths
3815         return true for isZero. width and max-width don't need modifying since they already
3816         call computePositionedLogicalWidthUsing for intrinsic widths.
3817
3818         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
3819         Compute intrinsic widths and use a Fixed length for the rest of the positioned width
3820         computation. Doesn't include bordersPlusPadding because the caller, expected the content
3821         width and adds in the bordersPlusPadding later.
3822
3823         * rendering/RenderBox.h:
3824
3825 2013-02-20  Robert Hogan  <robert@webkit.org>
3826
3827         input element with placeholder text and width set to 100% on focus causes overflow even after losing focus
3828         https://bugs.webkit.org/show_bug.cgi?id=109020
3829
3830         Reviewed by David Hyatt.
3831
3832         Tests: fast/forms/input-placeholder-layout-view.html
3833                fast/forms/textarea-placeholder-layout-view.html
3834
3835         Placeholder elements don't affect layout so shouldn't contribute overflow either.
3836
3837         * rendering/RenderTextControlSingleLine.cpp:
3838         (WebCore::RenderTextControlSingleLine::layout):
3839
3840 2013-02-20  Mark Lam  <mark.lam@apple.com>
3841
3842         Rename DatabaseBackend to DatabaseBackendBase.
3843         https://bugs.webkit.org/show_bug.cgi?id=110303.
3844
3845         Rubber stamped by Alexey Proskuryakov.
3846
3847         This is a purely cosmetic change to make the naming consistent with
3848         the front-end DatabaseBase.
3849
3850         No new tests.
3851
3852         * CMakeLists.txt:
3853         * GNUmakefile.list.am:
3854         * Modules/webdatabase/AbstractDatabaseServer.h:
3855         * Modules/webdatabase/Database.cpp:
3856         (WebCore::Database::create):
3857         (WebCore::Database::version):
3858         * Modules/webdatabase/Database.h:
3859         (Database):
3860         * Modules/webdatabase/DatabaseBackend.cpp: Removed.
3861         * Modules/webdatabase/DatabaseBackend.h: Removed.
3862         * Modules/webdatabase/DatabaseBackendAsync.cpp:
3863         (WebCore::DatabaseBackendAsync::DatabaseBackendAsync):
3864         (WebCore::DatabaseBackendAsync::performOpenAndVerify):
3865         * Modules/webdatabase/DatabaseBackendAsync.h:
3866         * Modules/webdatabase/DatabaseBackendBase.cpp: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackend.cpp.
3867         (WebCore::DatabaseBackendBase::databaseInfoTableName):
3868         (WebCore::DatabaseBackendBase::DatabaseBackendBase):
3869         (WebCore::DatabaseBackendBase::~DatabaseBackendBase):
3870         (WebCore::DatabaseBackendBase::closeDatabase):
3871         (WebCore::DatabaseBackendBase::version):
3872         (WebCore::DoneCreatingDatabaseOnExitCaller::DoneCreatingDatabaseOnExitCaller):
3873         (DoneCreatingDatabaseOnExitCaller):
3874         (WebCore::DatabaseBackendBase::performOpenAndVerify):
3875         (WebCore::DatabaseBackendBase::securityOrigin):
3876         (WebCore::DatabaseBackendBase::stringIdentifier):
3877         (WebCore::DatabaseBackendBase::displayName):
3878         (WebCore::DatabaseBackendBase::estimatedSize):
3879         (WebCore::DatabaseBackendBase::fileName):
3880         (WebCore::DatabaseBackendBase::details):
3881         (WebCore::DatabaseBackendBase::getVersionFromDatabase):
3882         (WebCore::DatabaseBackendBase::setVersionInDatabase):
3883         (WebCore::DatabaseBackendBase::setExpectedVersion):
3884         (WebCore::DatabaseBackendBase::getCachedVersion):
3885         (WebCore::DatabaseBackendBase::setCachedVersion):
3886         (WebCore::DatabaseBackendBase::getActualVersionForTransaction):
3887         (WebCore::DatabaseBackendBase::disableAuthorizer):
3888         (WebCore::DatabaseBackendBase::enableAuthorizer):
3889         (WebCore::DatabaseBackendBase::setAuthorizerReadOnly):
3890         (WebCore::DatabaseBackendBase::setAuthorizerPermissions):
3891         (WebCore::DatabaseBackendBase::lastActionChangedDatabase):
3892         (WebCore::DatabaseBackendBase::lastActionWasInsert):
3893         (WebCore::DatabaseBackendBase::resetDeletes):
3894         (WebCore::DatabaseBackendBase::hadDeletes):
3895         (WebCore::DatabaseBackendBase::resetAuthorizer):
3896         (WebCore::DatabaseBackendBase::maximumSize):
3897         (WebCore::DatabaseBackendBase::incrementalVacuumIfNeeded):
3898         (WebCore::DatabaseBackendBase::interrupt):
3899         (WebCore::DatabaseBackendBase::isInterrupted):
3900         (WebCore::DatabaseBackendBase::reportOpenDatabaseResult):
3901         (WebCore::DatabaseBackendBase::reportChangeVersionResult):
3902         (WebCore::DatabaseBackendBase::reportStartTransactionResult):
3903         (WebCore::DatabaseBackendBase::reportCommitTransactionResult):
3904         (WebCore::DatabaseBackendBase::reportExecuteStatementResult):
3905         (WebCore::DatabaseBackendBase::reportVacuumDatabaseResult):
3906         * Modules/webdatabase/DatabaseBackendBase.h: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackend.h.
3907         (DatabaseBackendBase):
3908         * Modules/webdatabase/DatabaseBackendSync.cpp:
3909         (WebCore::DatabaseBackendSync::DatabaseBackendSync):
3910         * Modules/webdatabase/DatabaseBackendSync.h:
3911         * Modules/webdatabase/DatabaseBase.h:
3912         * Modules/webdatabase/DatabaseManager.cpp:
3913         (WebCore::DatabaseManager::openDatabaseBackend):
3914         (WebCore::DatabaseManager::openDatabase):
3915         (WebCore::DatabaseManager::openDatabaseSync):
3916         (WebCore::DatabaseManager::getMaxSizeForDatabase):
3917         * Modules/webdatabase/DatabaseManager.h:
3918         (DatabaseManager):
3919         * Modules/webdatabase/DatabaseServer.cpp:
3920         (WebCore::DatabaseServer::openDatabase):
3921         (WebCore::DatabaseServer::createDatabase):
3922         (WebCore::DatabaseServer::getMaxSizeForDatabase):
3923         * Modules/webdatabase/DatabaseServer.h:
3924         * Modules/webdatabase/DatabaseSync.cpp:
3925         (WebCore::DatabaseSync::create):
3926         * Modules/webdatabase/DatabaseSync.h:
3927         (DatabaseSync):
3928         * Modules/webdatabase/DatabaseTracker.cpp:
3929         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
3930         (WebCore::DatabaseTracker::databaseChanged):
3931         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
3932         (WebCore::DatabaseTracker::doneCreatingDatabase):
3933         (WebCore::DatabaseTracker::addOpenDatabase):
3934         (WebCore::DatabaseTracker::removeOpenDatabase):
3935         (WebCore::DatabaseTracker::getOpenDatabases):
3936         (WebCore::DatabaseTracker::deleteDatabaseFile):
3937         * Modules/webdatabase/DatabaseTracker.h:
3938         (DatabaseTracker):
3939         * Modules/webdatabase/OriginQuotaManager.cpp:
3940         (WebCore::OriginQuotaManager::markDatabase):
3941         * Modules/webdatabase/OriginQuotaManager.h:
3942         (OriginQuotaManager):
3943         * Modules/webdatabase/SQLTransactionClient.cpp:
3944         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
3945         (WebCore::SQLTransactionClient::didExecuteStatement):
3946         (WebCore::SQLTransactionClient::didExceedQuota):
3947         * Modules/webdatabase/SQLTransactionClient.h:
3948         (SQLTransactionClient):
3949         * Modules/webdatabase/chromium/DatabaseObserver.h:
3950         (DatabaseObserver):
3951         * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
3952         (WebCore::DatabaseTracker::addOpenDatabase):
3953         (WebCore::NotifyDatabaseObserverOnCloseTask::create):
3954         (WebCore::NotifyDatabaseObserverOnCloseTask::NotifyDatabaseObserverOnCloseTask):
3955         (NotifyDatabaseObserverOnCloseTask):
3956         (WebCore::DatabaseTracker::removeOpenDatabase):
3957         (WebCore::DatabaseTracker::prepareToOpenDatabase):
3958         (WebCore::DatabaseTracker::failedToOpenDatabase):
3959         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
3960         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::create):
3961         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::CloseOneDatabaseImmediatelyTask):
3962         (DatabaseTracker::CloseOneDatabaseImmediatelyTask):
3963         (WebCore::DatabaseTracker::closeOneDatabaseImmediately):
3964         * Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp:
3965         (WebCore::NotifyDatabaseChangedTask::create):
3966         (WebCore::NotifyDatabaseChangedTask::NotifyDatabaseChangedTask):
3967         (NotifyDatabaseChangedTask):
3968         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
3969         (WebCore::SQLTransactionClient::didExecuteStatement):
3970         (WebCore::SQLTransactionClient::didExceedQuota):
3971         * Target.pri:
3972         * WebCore.gypi:
3973         * WebCore.vcproj/WebCore.vcproj:
3974         * WebCore.vcxproj/WebCore.vcxproj:
3975         * WebCore.vcxproj/WebCore.vcxproj.filters:
3976         * WebCore.xcodeproj/project.pbxproj:
3977
3978 2013-02-20  Eric Carlson  <eric.carlson@apple.com>
3979
3980         iOS does not use CaptionUserPreferencesMac
3981         https://bugs.webkit.org/show_bug.cgi?id=110259
3982
3983         Reviewed by Dean Jackson.
3984
3985         * page/CaptionUserPreferencesMac.h: Add PLATFORM(IOS) guard
3986         * page/CaptionUserPreferencesMac.mm: Ditto.
3987
3988         * page/PageGroup.cpp:
3989         (WebCore::PageGroup::captionPreferences): Ditto.
3990
3991 2013-02-19  David Hyatt  <hyatt@apple.com>
3992
3993         [New Multicolumn] Make layers paint properly in columns.
3994         https://bugs.webkit.org/show_bug.cgi?id=110296.
3995
3996         Reviewed by Sam Weinig.
3997
3998         Construct the style for the RenderMultiColumnFlowThread such that it
3999         establishes a stacking context (by being position:relative
4000         with a z-index of 0). This causes the layer collection code
4001         to correctly ignore the RenderFlowThread layers during normal
4002         painting.
4003         
4004         Fix more clipping bugs to eliminate subpixel layout differences
4005         between old and new multicolumn.
4006
4007         Test: fast/multicol/newmulticol/layers-in-multicol.html
4008
4009         * rendering/RenderMultiColumnBlock.cpp:
4010         (WebCore::createMultiColumnFlowThreadStyle):
4011         (WebCore):
4012         (WebCore::RenderMultiColumnBlock::addChild):
4013         Use a custom style (similar to what normal RenderFlowThreads do)
4014         for the RenderMultiColumnFlowThread that makes it a stacking
4015         context.
4016         
4017         * rendering/RenderMultiColumnSet.cpp:
4018         (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
4019         Fix the overflow calculations out the leftmost and rightmost
4020         columns to actually look at the physical placement of the columns.
4021         The old code was backwards for RTL.
4022         
4023         * rendering/RenderRegion.cpp:
4024         (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
4025         Fix the clipping done by overflowRectForFlowThreadPortion to min
4026         and max with the passed-in portion rect so that subclasses that
4027         inflate the rect prior to passing it into the method don't have that
4028         inflation discarded.
4029
4030 2013-02-20  Alexander Pavlov  <apavlov@chromium.org>
4031
4032         Web Inspector: CSSProperty.status defaults to "style" not "active"
4033         https://bugs.webkit.org/show_bug.cgi?id=110348
4034
4035         Reviewed by Timothy Hatcher.
4036
4037         * inspector/Inspector.json: Fix the default property status to be "style" in the description.
4038
4039 2013-02-20  Dan Carney  <dcarney@google.com>
4040
4041         [v8] potentially disposed handle returned for npapi object
4042         https://bugs.webkit.org/show_bug.cgi?id=110331
4043
4044         Reviewed by Kentaro Hara.
4045
4046         No new tests. No change in functionality.
4047
4048         * bindings/v8/V8NPUtils.cpp:
4049         (WebCore::convertNPVariantToV