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