2dff95074dac9ed92bdfaa7dfdedd932400a2806
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-04-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2
3         [Qt] Use QQuickFlickable::setPixelAligned instead of doing pixel-alignment when rendering.
4         https://bugs.webkit.org/show_bug.cgi?id=83770
5
6         Reviewed by Kenneth Rohde Christiansen.
7
8         Revert the previous way of dealing with things. The problem is that different layers
9         would end up rounding in different directions, and would cause jittering between
10         layers or with the QQuickWebPage's background.
11
12         * platform/graphics/texmap/TextureMapperGL.cpp:
13         (WebCore::TextureMapperGL::drawTexture):
14
15 2012-04-13  Pavel Feldman  <pfeldman@chromium.org>
16
17         Web Inspector: introduce ParsedURL type, clean up url and displayName mess in Resource and NetworkRequest.
18         https://bugs.webkit.org/show_bug.cgi?id=83871
19
20         Reviewed by Yury Semikhatsky.
21
22         There is a number of random properties created on Resource and NetworkRequest that represent various url
23         fragments. Display name is being based on them and sometimes requires fake Resource instance to be created.
24         This change (officially) introduces WebInspector.ParsedURL as a type that encapsulates this complexity.
25
26         This change also moves documentURL property into the Resource and NetworkRequest constructors and brushes up
27         factory methods used to create the objects.
28
29         * inspector/front-end/AuditRules.js:
30         (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
31         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
32         * inspector/front-end/Database.js:
33         (WebInspector.Database.prototype.get displayDomain):
34         * inspector/front-end/JavaScriptContextManager.js:
35         (WebInspector.FrameEvaluationContext.prototype.get displayName):
36         * inspector/front-end/NetworkManager.js:
37         (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
38         (WebInspector.NetworkDispatcher.prototype._createNetworkRequest):
39         (get WebInspector):
40         * inspector/front-end/NetworkPanel.js:
41         (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequest):
42         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
43         * inspector/front-end/NetworkRequest.js:
44         (WebInspector.NetworkRequest):
45         (WebInspector.NetworkRequest.prototype.set url):
46         (WebInspector.NetworkRequest.prototype.get documentURL):
47         (WebInspector.NetworkRequest.prototype.get parsedURL):
48         (WebInspector.NetworkRequest.prototype.get displayName):
49         (WebInspector.NetworkRequest.prototype.get folder):
50         * inspector/front-end/RequestHeadersView.js:
51         (WebInspector.RequestHeadersView.prototype._refreshUrlFragment):
52         * inspector/front-end/Resource.js:
53         (WebInspector.Resource):
54         (WebInspector.Resource.prototype.set url):
55         (WebInspector.Resource.prototype.get parsedURL):
56         (WebInspector.Resource.prototype.get frameId):
57         (WebInspector.Resource.prototype.get loaderId):
58         (WebInspector.Resource.prototype.get displayName):
59         * inspector/front-end/ResourceTreeModel.js:
60         (WebInspector.ResourceTreeModel.prototype._onRequestUpdateDropped):
61         (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
62         (WebInspector.ResourceTreeModel.prototype._createResourceFromFramePayload):
63         (WebInspector.ResourceTreeFrame.prototype._addRequest):
64         * inspector/front-end/ResourceUtils.js:
65         (WebInspector.ParsedURL):
66         (WebInspector.ParsedURL.prototype.get displayName):
67         (String.prototype.asParsedURL):
68         (WebInspector.displayDomain):
69         (WebInspector.resourceURLForRelatedNode.callback):
70         (WebInspector.resourceURLForRelatedNode):
71         * inspector/front-end/ResourcesPanel.js:
72         (WebInspector.FrameTreeElement.prototype.frameNavigated):
73         (WebInspector.ApplicationCacheManifestTreeElement):
74         (WebInspector.ApplicationCacheFrameTreeElement.prototype._refreshTitles):
75         * inspector/front-end/utilities.js:
76
77 2012-04-13  Pavel Feldman  <pfeldman@chromium.org>
78
79         Web Inspector: extracting NetworkRequest from Resource (step 3)
80         https://bugs.webkit.org/show_bug.cgi?id=83802
81
82         Reviewed by Yury Semikhatsky.
83
84         This change extracts NetworkRequest from the Resource. It is now clear that these two
85         should have super class that would be responsible for parsing URL and would define the
86         requestContent signature. Corresponding patch will follow.
87
88         * inspector/front-end/NetworkManager.js:
89         * inspector/front-end/NetworkRequest.js:
90         (WebInspector.NetworkRequest):
91         (WebInspector.NetworkRequest.prototype.get requestId):
92         (WebInspector.NetworkRequest.prototype.set requestId):
93         (WebInspector.NetworkRequest.prototype.get url):
94         (WebInspector.NetworkRequest.prototype.get frameId):
95         (WebInspector.NetworkRequest.prototype.get loaderId):
96         (WebInspector.NetworkRequest.prototype.get startTime):
97         (WebInspector.NetworkRequest.prototype.set startTime):
98         (WebInspector.NetworkRequest.prototype.get responseReceivedTime):
99         (WebInspector.NetworkRequest.prototype.set responseReceivedTime):
100         (WebInspector.NetworkRequest.prototype.get endTime):
101         (WebInspector.NetworkRequest.prototype.set endTime):
102         (WebInspector.NetworkRequest.prototype.get duration):
103         (WebInspector.NetworkRequest.prototype.get latency):
104         (WebInspector.NetworkRequest.prototype.get receiveDuration):
105         (WebInspector.NetworkRequest.prototype.get resourceSize):
106         (WebInspector.NetworkRequest.prototype.set resourceSize):
107         (WebInspector.NetworkRequest.prototype.get transferSize):
108         (WebInspector.NetworkRequest.prototype.increaseTransferSize):
109         (WebInspector.NetworkRequest.prototype.get finished):
110         (WebInspector.NetworkRequest.prototype.set finished):
111         (WebInspector.NetworkRequest.prototype.get failed):
112         (WebInspector.NetworkRequest.prototype.set failed):
113         (WebInspector.NetworkRequest.prototype.get canceled):
114         (WebInspector.NetworkRequest.prototype.set canceled):
115         (WebInspector.NetworkRequest.prototype.get cached):
116         (WebInspector.NetworkRequest.prototype.set cached):
117         (WebInspector.NetworkRequest.prototype.get timing):
118         (WebInspector.NetworkRequest.prototype.set timing):
119         (WebInspector.NetworkRequest.prototype.get mimeType):
120         (WebInspector.NetworkRequest.prototype.set mimeType):
121         (WebInspector.NetworkRequest.prototype.get displayName):
122         (WebInspector.NetworkRequest.prototype.get folder):
123         (WebInspector.NetworkRequest.prototype.get displayDomain):
124         (WebInspector.NetworkRequest.prototype.get type):
125         (WebInspector.NetworkRequest.prototype.set type):
126         (WebInspector.NetworkRequest.prototype.get redirectSource):
127         (WebInspector.NetworkRequest.prototype.set redirectSource):
128         (WebInspector.NetworkRequest.prototype.get requestHeaders):
129         (WebInspector.NetworkRequest.prototype.set requestHeaders):
130         (WebInspector.NetworkRequest.prototype.get requestHeadersText):
131         (WebInspector.NetworkRequest.prototype.set requestHeadersText):
132         (WebInspector.NetworkRequest.prototype.get requestHeadersSize):
133         (WebInspector.NetworkRequest.prototype.requestHeaderValue):
134         (WebInspector.NetworkRequest.prototype.get requestCookies):
135         (WebInspector.NetworkRequest.prototype.get requestFormData):
136         (WebInspector.NetworkRequest.prototype.set requestFormData):
137         (WebInspector.NetworkRequest.prototype.get requestHttpVersion):
138         (WebInspector.NetworkRequest.prototype.get responseHeaders):
139         (WebInspector.NetworkRequest.prototype.set responseHeaders):
140         (WebInspector.NetworkRequest.prototype.get responseHeadersText):
141         (WebInspector.NetworkRequest.prototype.set responseHeadersText):
142         (WebInspector.NetworkRequest.prototype.get responseHeadersSize):
143         (WebInspector.NetworkRequest.prototype.responseHeaderValue):
144         (WebInspector.NetworkRequest.prototype.get responseCookies):
145         (WebInspector.NetworkRequest.prototype.get queryParameters):
146         (WebInspector.NetworkRequest.prototype.get formParameters):
147         (WebInspector.NetworkRequest.prototype.get responseHttpVersion):
148         (WebInspector.NetworkRequest.prototype._parseParameters):
149         (WebInspector.NetworkRequest.prototype._headerValue):
150         (WebInspector.NetworkRequest.prototype.get content):
151         (WebInspector.NetworkRequest.prototype.get contentEncoded):
152         (WebInspector.NetworkRequest.prototype.requestContent):
153         (WebInspector.NetworkRequest.prototype.isHttpFamily):
154         (WebInspector.NetworkRequest.prototype.requestContentType):
155         (WebInspector.NetworkRequest.prototype.isPingRequest):
156         (WebInspector.NetworkRequest.prototype.hasErrorStatusCode):
157         (WebInspector.NetworkRequest.prototype.populateImageSource):
158         (WebInspector.NetworkRequest.prototype._contentURL):
159         (WebInspector.NetworkRequest.prototype._innerRequestContent.onResourceContent):
160         (WebInspector.NetworkRequest.prototype._innerRequestContent):
161         (WebInspector.NetworkRequest.prototype.setResource):
162         (WebInspector.NetworkRequest.prototype.resource):
163         * inspector/front-end/RawSourceCode.js:
164         (WebInspector.RawSourceCode):
165         (WebInspector.RawSourceCode.prototype._resourceAdded):
166         (WebInspector.RawSourceCode.prototype.forceUpdateSourceMapping):
167         (WebInspector.RawSourceCode.prototype._createContentProvider):
168         * inspector/front-end/Resource.js:
169         (WebInspector.Resource):
170         (WebInspector.Resource.displayName):
171         (WebInspector.Resource.prototype.get request):
172         (WebInspector.Resource.prototype.set url):
173         (WebInspector.Resource.prototype.get type):
174         (WebInspector.Resource.prototype.get mimeType):
175         (WebInspector.Resource.prototype.set mimeType):
176         (WebInspector.Resource.prototype.get content):
177         (WebInspector.Resource.prototype.get contentEncoded):
178         (WebInspector.Resource.prototype.requestContent):
179         (WebInspector.Resource.prototype._innerRequestContent.callback):
180         (WebInspector.Resource.prototype._innerRequestContent):
181         (WebInspector.ResourceRevision.prototype.requestContent.callbackWrapper):
182         (WebInspector.ResourceRevision.prototype.requestContent):
183         * inspector/front-end/ResourceScriptMapping.js:
184         (WebInspector.ResourceScriptMapping.prototype.addScript):
185
186 2012-04-13  Mike Reed  <reed@google.com>
187
188         use getClipDeviceBounds, rather than (deprecated) getTotalClip
189         https://bugs.webkit.org/show_bug.cgi?id=83808
190
191         Reviewed by Stephen White.
192
193         Equivalent functionality, existing tests apply.
194
195         * platform/graphics/skia/OpaqueRegionSkia.cpp:
196         (WebCore::OpaqueRegionSkia::didDraw):
197
198 2012-04-13  Thiago Marcos P. Santos  <thiago.santos@intel.com>
199
200         [EFL] Add API for color chooser
201         https://bugs.webkit.org/show_bug.cgi?id=83692
202
203         Added new API to enable browsers to display a custom color picker
204         when an input field of type "color" is activated.
205
206         Reviewed by Kenneth Rohde Christiansen.
207
208         * PlatformEfl.cmake:
209         * platform/efl/ColorChooserEfl.cpp: Added.
210         (WebCore):
211         (WebCore::ColorChooserEfl::ColorChooserEfl):
212         (WebCore::ColorChooserEfl::~ColorChooserEfl):
213         (WebCore::ColorChooserEfl::setSelectedColor):
214         (WebCore::ColorChooserEfl::endChooser):
215         * platform/efl/ColorChooserEfl.h: Added.
216         (WebCore):
217         (ColorChooserEfl):
218
219 2012-04-13  Zalan Bujtas  <zbujtas@gmail.com>
220
221         Enabling/disabling delegates scrolling when page has no composited content asserts on WK1.
222         https://bugs.webkit.org/show_bug.cgi?id=83860
223
224         Reviewed by Kenneth Rohde Christiansen.
225
226         WK2 has compositing mode on all the time, while Wk1 turns it on only when
227         the page has composited content. This patch ensures that, when delegates scrolling behavior
228         is changed, backing stores are cleared only when there's an actual composition,
229         similarly to what CachedFrame does.
230
231         Test: fast/viewport/scroll-delegates-switch-on-page-with-no-composition-mode-asserts.html
232
233         * page/FrameView.cpp:
234         (WebCore::FrameView::delegatesScrollingDidChange):
235
236 2012-04-13  Vivek Galatage  <vivekgalatage@gmail.com>
237
238         Web Inspector: Line number is not displayed while debugging javascript
239         https://bugs.webkit.org/show_bug.cgi?id=83786
240
241         Reviewed by Pavel Feldman.
242
243         Changed the textViewer.css to start displaying the line number with
244         appropriate color property. Added outline property for enhanced view
245
246         No additional test cases required for the above fix.
247
248         * inspector/front-end/Images/breakpointConditionalCounterBorder.png:
249         * inspector/front-end/Images/breakpointCounterBorder.png:
250         * inspector/front-end/Images/programCounterBorder.png:
251         * inspector/front-end/textViewer.css:
252         (.webkit-execution-line .webkit-line-number-outer):
253         (.webkit-breakpoint.webkit-execution-line .webkit-line-number-outer):
254         (.webkit-breakpoint-conditional.webkit-execution-line .webkit-line-number-outer):
255
256 2012-04-13  Kent Tamura  <tkent@chromium.org>
257
258         Add a runtime flag for <input type=date>
259         https://bugs.webkit.org/show_bug.cgi?id=83853
260
261         Reviewed by Adam Barth.
262
263         * bindings/generic/RuntimeEnabledFeatures.cpp:
264         * bindings/generic/RuntimeEnabledFeatures.h:
265         (WebCore::RuntimeEnabledFeatures::inputTypeDateEnabled): Added.
266         (WebCore::RuntimeEnabledFeatures::setInputTypeDateEnabled): Added.
267         * html/InputType.cpp:
268         (WebCore::createInputTypeFactoryMap):
269         Don't register type=date if !RuntimeEnabledFeatures::inputTypeDateEnabled()
270
271 2012-04-13  Adam Barth  <abarth@webkit.org>
272
273         JSDocument::setLocation does too much bare-handed lifting
274         https://bugs.webkit.org/show_bug.cgi?id=83850
275
276         Reviewed by Sam Weinig.
277
278         As part of auditing all the ways of kicking off a navigation, I
279         happened to read JSDocument::setLocation, which uses very old patterns.
280         This patch updates it to do things the "modern" way.  There shouldn't
281         be any behavior change.
282
283         * bindings/js/JSDocumentCustom.cpp:
284         (WebCore::JSDocument::setLocation):
285
286 2012-04-13  Shinya Kawanaka  <shinyak@chromium.org>
287
288         Background width (or height) is wrong if width (or height) * zoom < 1.
289         https://bugs.webkit.org/show_bug.cgi?id=83350
290
291         Reviewed by Nikolas Zimmermann.
292
293         calculateImageIntrinsicDimension will return wrong size if the calculated size is 0.
294         0 is used for expressing unspecfied, so the method returns the box width(height) instead.
295
296         Since CachedImage has already similar code, we moved it to IntSize and shared it.
297
298         Tests: fast/css/zoom-background-repeat-x-expected.html
299                fast/css/zoom-background-repeat-x.html
300                fast/css/zoom-background-repeat-y-expected.html
301                fast/css/zoom-background-repeat-y.html
302
303         * loader/cache/CachedImage.cpp:
304         (WebCore::CachedImage::imageSizeForRenderer):
305         * platform/graphics/IntSize.h:
306         (IntSize):
307         (WebCore::IntSize::scale):
308         (WebCore::IntSize::clampToMinimumSize):
309         * rendering/RenderBoxModelObject.cpp:
310         (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
311
312 2012-04-13  Adam Barth  <abarth@webkit.org>
313
314         Prepare submitForm for seamless navigation
315         https://bugs.webkit.org/show_bug.cgi?id=83838
316
317         Reviewed by Ryosuke Niwa.
318
319         Previously, FrameLoader::submitForm called FrameTree::find and
320         Document::canNavigate separately.  This patch refactors this function
321         to call findFrameForNavigation, which does both checks.
322
323         This doesn't change any behavior today, but it prepares us to implement
324         seamless navigation.  Once the seamless branch lands, this change will
325         be tested by seamless-form-* in https://github.com/eseidel/webkit/tree/seamless/LayoutTests/fast/frames/seamless
326
327         For context, see:
328         https://github.com/eseidel/webkit/commit/3f27340577ac91b2cc0a834dd2c6fdfcac296c32
329
330         * loader/FrameLoader.cpp:
331         (WebCore::FrameLoader::submitForm):
332
333 2012-04-13  Kent Tamura  <tkent@chromium.org>
334
335         Should clear an invalid string in a date field on blur
336         https://bugs.webkit.org/show_bug.cgi?id=83863
337
338         Reviewed by Kentaro Hara.
339
340         Test: fast/forms/date/input-date-commit-valid-only.html
341
342         * html/DateInputType.cpp:
343         (WebCore::DateInputType::handleBlurEvent):
344         Reset the visible value. The code is same as NumberInputType::handleBlurEvent().
345
346 2012-04-12  Kent Tamura  <tkent@chromium.org>
347
348         Calendar Picker: remove unnecessary code from calendarPicker.{css,js}
349         https://bugs.webkit.org/show_bug.cgi?id=83685
350
351         Reviewed by Kentaro Hara.
352
353         Remove the followings from input files:
354          - multi line comments /*...*/ (.js and .css)
355          - single line comment //... (.js)
356          - repeating whitespace (.js and .css)
357          - leading and trailing whitespace (.js and .css)
358          - empty lines (.js and .css)
359
360         This doesn't work for arbitrary JavaScript or CSS inputs, but
361         works well for expected input files like
362         css/make-css-file-arrays.pl
363
364         * make-file-arrays.py:
365         (strip_whitespace_and_comments):
366         (main):
367
368 2012-04-12  Sailesh Agrawal  <sail@chromium.org>
369
370         Chromium: Fix scrollbar tickmark drawing on Mountain Lion
371         https://bugs.webkit.org/show_bug.cgi?id=83844
372
373         Reviewed by James Robinson.
374
375         On Mountain Lion overlay scrollbars have a new expanded mode. In expanded mode the scrolllbar is slightly wider which causes the tickmarks to look incorrect. Fix was to explicitly enter expanded mode to get the correct look.
376         Screenshots:
377         broken: http://i.imgur.com/PDKYH.png
378         fixed: http://i.imgur.com/utp0Y.png
379
380         * platform/chromium/ScrollbarThemeChromiumMac.mm:
381         (WebCore::ScrollbarThemeChromiumMac::paint): Called setExpanded if API is available.
382         * platform/mac/NSScrollerImpDetails.h: Exposed the isExpanded: API.
383
384 2012-04-12  Kent Tamura  <tkent@chromium.org>
385
386         LocalizedDateICU should ignore timezones
387         https://bugs.webkit.org/show_bug.cgi?id=83859
388
389         Reviewed by Hajime Morita.
390
391         udat_parse() and udat_format() shift the input date by the offset of the
392         default timezone. We don't need this behavior for type=date. So we
393         specify "GMT" to udat_open().
394
395         No new tests. This behavior depends on the timezone setting of the local machine.
396
397         * platform/text/LocalizedDateICU.cpp:
398         (WebCore::createShortDateFormatter):
399         Added. Common factory functio for UDateFormat. Use "GMT" instead of the
400         default timezone.
401         (WebCore::parseLocalizedDate): Use createShortDateFormatter().
402         (WebCore::formatLocalizedDate): ditto.
403
404 2012-04-12  Adam Barth  <abarth@webkit.org>
405
406         Prepare window.location for seamless navigation
407         https://bugs.webkit.org/show_bug.cgi?id=83843
408
409         Reviewed by Eric Seidel.
410
411         This patch refactors window.location to flow through
412         FrameLoader::findFrameForNavigation, which is where we're going to
413         implement the seamless navigation redirect.  This patch shouldn't cause
414         any observable changes in behavior today, but it will make all the
415         seamless-window-location* tests in
416         https://github.com/eseidel/webkit/tree/seamless/LayoutTests/fast/frames/seamless
417         pass once we merge the seamlesss branch.  See
418         https://github.com/eseidel/webkit/commit/a6e708fa6c643b156397e9a287b40a0868c7959c
419         for context.
420
421         * bindings/js/JSDOMWindowCustom.cpp:
422         (WebCore::JSDOMWindow::setLocation):
423         * bindings/v8/custom/V8DOMWindowCustom.cpp:
424         (WebCore::V8DOMWindow::locationAccessorSetter):
425         * page/Location.cpp:
426         (WebCore::Location::setHref):
427         (WebCore::Location::setProtocol):
428         (WebCore::Location::setHost):
429         (WebCore::Location::setHostname):
430         (WebCore::Location::setPort):
431         (WebCore::Location::setPathname):
432         (WebCore::Location::setSearch):
433         (WebCore::Location::setHash):
434         (WebCore::Location::assign):
435         (WebCore::Location::replace):
436         (WebCore::Location::setLocation):
437         (WebCore):
438         * page/Location.h:
439         (Location):
440
441 2012-04-12  Dana Jansens  <danakj@chromium.org>
442
443         [chromium] Background filters for composited layers
444         https://bugs.webkit.org/show_bug.cgi?id=80046
445
446         Reviewed by Adrienne Walker.
447
448         Adds background filters to LayerChromium/CCLayerImpl. These filters are
449         applied to any pixels in the contents behind the layer and seen through
450         it.
451
452         This is done by adding a backgroundTexture() to the render surface, which
453         holds the read-back contents of the target framebuffer, background filter
454         applied, in the surface's own coordinate space. Then this is drawn back
455         into the frame buffer before the contents of the surface itself is drawn.
456
457         Tests: platform/chromium/compositing/filters/background-filter-blur-off-axis.html
458                platform/chromium/compositing/filters/background-filter-blur-outsets.html
459                platform/chromium/compositing/filters/background-filter-blur.html
460
461         * platform/graphics/chromium/LayerChromium.cpp:
462         (WebCore::LayerChromium::setBackgroundFilters):
463         (WebCore):
464         (WebCore::LayerChromium::pushPropertiesTo):
465         * platform/graphics/chromium/LayerChromium.h:
466         (LayerChromium):
467         (WebCore::LayerChromium::backgroundFilters):
468         * platform/graphics/chromium/LayerRendererChromium.cpp:
469         (WebCore::LayerRendererChromium::drawBackgroundFilters):
470         (WebCore):
471         (WebCore::LayerRendererChromium::drawRenderSurfaceQuad):
472         (WebCore::LayerRendererChromium::getFramebufferTexture):
473         (WebCore::LayerRendererChromium::isCurrentRenderSurface):
474         (WebCore::LayerRendererChromium::useRenderSurface):
475         (WebCore::LayerRendererChromium::useManagedTexture):
476         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
477         (WebCore::LayerRendererChromium::setScissorToRect):
478         * platform/graphics/chromium/LayerRendererChromium.h:
479         (LayerRendererChromium):
480         * platform/graphics/chromium/RenderSurfaceChromium.h:
481         (WebCore::RenderSurfaceChromium::setBackgroundFilters):
482         (WebCore::RenderSurfaceChromium::backgroundFilters):
483         (RenderSurfaceChromium):
484         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
485         (WebCore::CCLayerImpl::setBackgroundFilters):
486         (WebCore):
487         * platform/graphics/chromium/cc/CCLayerImpl.h:
488         (CCLayerImpl):
489         (WebCore::CCLayerImpl::backgroundFilters):
490         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
491         (WebCore::subtreeShouldRenderToSeparateSurface):
492         (WebCore::calculateDrawTransformsAndVisibilityInternal):
493         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
494         (WebCore::CCRenderSurface::drawableContentRect):
495         (WebCore::CCRenderSurface::prepareBackgroundTexture):
496         (WebCore):
497         (WebCore::CCRenderSurface::releaseBackgroundTexture):
498         (WebCore::CCRenderSurface::computeDeviceTransform):
499         (WebCore::CCRenderSurface::computeDeviceBoundingBox):
500         (WebCore::CCRenderSurface::computeReadbackDeviceBoundingBox):
501         (WebCore::CCRenderSurface::readbackDeviceContentRect):
502         (WebCore::copyTextureToFramebuffer):
503         (WebCore::CCRenderSurface::copyDeviceToBackgroundTexture):
504         (WebCore::getSkBitmapTextureId):
505         (WebCore::CCRenderSurface::drawContents):
506         (WebCore::CCRenderSurface::drawReplica):
507         (WebCore::CCRenderSurface::drawLayer):
508         (WebCore::CCRenderSurface::drawSurface):
509         (WebCore::CCRenderSurface::applyFilters):
510         * platform/graphics/chromium/cc/CCRenderSurface.h:
511         (CCRenderSurface):
512         (WebCore::CCRenderSurface::setBackgroundFilters):
513         (WebCore::CCRenderSurface::backgroundFilters):
514         (WebCore::CCRenderSurface::backgroundTexture):
515         * testing/Internals.cpp:
516         (WebCore):
517         (WebCore::Internals::setBackgroundBlurOnNode):
518         * testing/Internals.h:
519         (Internals):
520         * testing/Internals.idl:
521
522 2012-04-12  Adam Barth  <abarth@webkit.org>
523
524         Remove V8DOMWindowShell::setLocation
525         https://bugs.webkit.org/show_bug.cgi?id=83833
526
527         Reviewed by Eric Seidel.
528
529         V8DOMWindowShell::setLocation is only used by document.location.  It's
530         more direct for document.location to call Location::setHref directly.
531         This integrates correctly with the navigation rules for
532         <iframe seamless>.
533
534         (See https://github.com/eseidel/webkit/compare/master...seamless for
535         more context about the connection with seamless.)
536
537         Reviewed on GitHub:
538         https://github.com/abarth/webkit/commit/48601729d53a6ac39df5a43b22218c91330c3f61
539
540         * bindings/v8/V8DOMWindowShell.cpp:
541         (WebCore):
542         * bindings/v8/V8DOMWindowShell.h:
543         (V8DOMWindowShell):
544         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
545         (WebCore::V8Document::locationAccessorSetter):
546
547 2012-04-12  Levi Weintraub  <leviw@chromium.org>
548
549         Prepare functions in LengthFunctions.h for LayoutUnits
550         https://bugs.webkit.org/show_bug.cgi?id=83726
551
552         Reviewed by Eric Seidel.
553
554         Preparing the functions that live in LengthFunctions for sub-pixel layout, which entails
555         using and returning LayoutUnits instead of integers. There are a number of rendering
556         classes that are laid out using integers -- see https://trac.webkit.org/wiki/LayoutUnit
557         for details -- so this also adds integer-specific versions of the length functions for
558         explicit use in those classes.
559
560         No new tests. No change in behavior.
561
562         * css/LengthFunctions.h:
563         (WebCore): Using LayoutUnits for sub-pixel precision and adding integer-specific versions
564         of minimumValueForLength and valueForLength that truncate.
565         * css/LengthFunctions.cpp:
566         (WebCore):
567         * dom/Document.cpp:
568         (WebCore::Document::pageSizeAndMarginsInPixels): Document sizes are integral.
569         * rendering/RenderFrameSet.cpp:
570         (WebCore::RenderFrameSet::layOutAxis): The frame tree continues to be integral.
571         * rendering/RenderMarquee.cpp:
572         (WebCore::RenderMarquee::timerFired): RenderMarquee scrolling uses integral values.
573         * rendering/RenderTableSection.cpp:
574         (WebCore::RenderTableSection::calcRowLogicalHeight): Table layout is integral.
575
576 2012-04-12  Sheriff Bot  <webkit.review.bot@gmail.com>
577
578         Unreviewed, rolling out r114075.
579         http://trac.webkit.org/changeset/114075
580         https://bugs.webkit.org/show_bug.cgi?id=83857
581
582         Breaks compile (Requested by jamesr on #webkit).
583
584         * WebCore.gypi:
585         * platform/graphics/chromium/LayerRendererChromium.cpp:
586         (WebCore::LayerRendererChromium::drawYUV):
587         (WebCore::LayerRendererChromium::drawRGBA):
588         (WebCore::LayerRendererChromium::copyFrameToTextures):
589         * platform/graphics/chromium/LayerRendererChromium.h:
590         * platform/graphics/chromium/VideoFrameChromium.cpp: Renamed from Source/Platform/chromium/src/WebVideoFrame.cpp.
591         (WebCore):
592         (WebCore::VideoFrameChromium::~VideoFrameChromium):
593         * platform/graphics/chromium/VideoFrameChromium.h: Copied from Source/Platform/chromium/public/WebVideoFrame.h.
594         (WebCore):
595         (VideoFrameChromium):
596         * platform/graphics/chromium/VideoFrameProvider.h:
597         (VideoFrameProvider):
598         * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
599         (WebCore::CCVideoDrawQuad::create):
600         (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
601         * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
602         (CCVideoDrawQuad):
603         (WebCore::CCVideoDrawQuad::frame):
604         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
605         (WebCore):
606         (WebCore::convertVFCFormatToGC3DFormat):
607         (WebCore::CCVideoLayerImpl::willDraw):
608         (WebCore::CCVideoLayerImpl::computeVisibleSize):
609         (WebCore::CCVideoLayerImpl::reserveTextures):
610         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
611
612 2012-04-12  Adam Barth  <abarth@webkit.org>
613
614         Use _self to represnet self-navigation, like in the HTML5 spec
615         https://bugs.webkit.org/show_bug.cgi?id=83834
616
617         Reviewed by Eric Seidel.
618
619         This patch aligns the internal state representation of the FrameLoader
620         more closely with the HTML5 spec.  Both the null string and "_self"
621         represent self-navigation, but the HTML5 spec distinguishes them when
622         navigating seamless iframes.  In that case, "_self" is explicit
623         self-navigation, whereas a null string will get redirected to the
624         "master" frame (the closest enclosing non-seamless frame).
625
626         This patch shouldn't have any observable behavior changes, but it will
627         be useful when we merge in the seamless branch from GitHub.
628         (See https://github.com/eseidel/webkit/commit/df0e71fcacdb0e7e45fe669afe1314cec5b76523
629         which contains this change.)
630
631         Once the seamless branch lands, this change will be tested by a number
632         of tests in
633         https://github.com/eseidel/webkit/tree/seamless/LayoutTests/fast/frames/seamless
634         including seamless-hyperlink.html.
635
636         * loader/FrameLoader.cpp:
637         (WebCore::FrameLoader::loadURLIntoChildFrame):
638         (WebCore::FrameLoader::loadURL):
639
640 2012-04-12  James Robinson  <jamesr@chromium.org>
641
642         [chromium] Move WebVideoFrame into Platform and remove WebCore::VideoFrameChromium wrapper API
643         https://bugs.webkit.org/show_bug.cgi?id=83851
644
645         Reviewed by Adam Barth.
646
647         Remove VideoFrameChromium wrapper and converts WebCore code to using the Platform WebVideoFrame API directly.
648         Some utility code that previously existed on VideoFrameChromium and only had one caller, such as doing
649         width/height adjustements for YV12 frames, is moved into the calling code (CCVideoLayerImpl).
650
651         Covered by existing media/ and compositing/ layout tests.
652
653         * WebCore.gypi:
654         * platform/graphics/chromium/LayerRendererChromium.cpp:
655         (WebCore::LayerRendererChromium::drawYUV):
656         (WebCore::LayerRendererChromium::drawRGBA):
657         (WebCore::LayerRendererChromium::copyFrameToTextures):
658         * platform/graphics/chromium/LayerRendererChromium.h:
659         * platform/graphics/chromium/VideoFrameProvider.h:
660         (VideoFrameProvider):
661         * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
662         (WebCore::CCVideoDrawQuad::create):
663         (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
664         * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
665         (WebKit):
666         (CCVideoDrawQuad):
667         (WebCore::CCVideoDrawQuad::frame):
668         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
669         (WebCore):
670         (WebCore::convertVFCFormatToGC3DFormat):
671         (WebCore::CCVideoLayerImpl::willDraw):
672         (WebCore::videoFrameDimension):
673         (WebCore::hasPaddingBytes):
674         (WebCore::CCVideoLayerImpl::computeVisibleSize):
675         (WebCore::CCVideoLayerImpl::reserveTextures):
676         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
677         (WebKit):
678
679 2012-04-12  Alexey Proskuryakov  <ap@apple.com>
680
681         REGRESSION (r113900): Text tests started failing
682         https://bugs.webkit.org/show_bug.cgi?id=83724
683
684         Reviewed by Dan Bernstein.
685
686         * Resources/DefaultFonts.plist.in: Use serif fonts for standard family again,
687         and updated the list with better fonts for Japanese.
688
689 2012-04-12  Alexey Proskuryakov  <ap@apple.com>
690
691         Preprocessing text files with modern clang treats double slashes in comments
692         https://bugs.webkit.org/show_bug.cgi?id=83827
693
694         Reviewed by Mark Rowe.
695
696         * DerivedSources.make: Pass appropriate flags to both llvm and gcc.
697
698 2012-04-12  David Dorwin  <ddorwin@chromium.org>
699
700         Add Encrypted Media Extensions events and errors to HTMLMediaElement
701         https://bugs.webkit.org/show_bug.cgi?id=82974
702
703         Reviewed by Adam Barth.
704
705         The new events and errors are behind the ENABLE(ENCRYPTED_MEDIA) feature define.
706         Implementation is based on v0.1 of the draft proposal at
707         http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html#events.
708
709         Tests: fast/events/constructors/media-key-event-constructor.html
710                media/encrypted-media/encrypted-media-constants.html
711                media/encrypted-media/encrypted-media-events.html
712
713         * WebCore.gypi:
714         * bindings/v8/Dictionary.cpp:
715         (WebCore::Dictionary::get):
716         (WebCore):
717         * bindings/v8/Dictionary.h:
718         (WebCore):
719         (Dictionary):
720         * dom/EventNames.h:
721         (WebCore):
722         * dom/EventNames.in:
723         * html/HTMLAttributeNames.in:
724         * html/HTMLMediaElement.cpp:
725         (WebCore):
726         (WebCore::HTMLMediaElement::mediaPlayerKeyAdded):
727         (WebCore::HTMLMediaElement::mediaPlayerKeyError):
728         (WebCore::HTMLMediaElement::mediaPlayerKeyMessage):
729         (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
730         * html/HTMLMediaElement.h:
731         (HTMLMediaElement):
732         * html/HTMLMediaElement.idl:
733         * html/MediaError.h:
734         * html/MediaError.idl:
735         * html/MediaKeyError.h: Added.
736         (WebCore):
737         (MediaKeyError):
738         (WebCore::MediaKeyError::create):
739         (WebCore::MediaKeyError::code):
740         (WebCore::MediaKeyError::MediaKeyError):
741         * html/MediaKeyError.idl: Added.
742         * html/MediaKeyEvent.cpp: Added.
743         (WebCore):
744         (WebCore::MediaKeyEventInit::MediaKeyEventInit):
745         (WebCore::MediaKeyEvent::MediaKeyEvent):
746         (WebCore::MediaKeyEvent::~MediaKeyEvent):
747         (WebCore::MediaKeyEvent::interfaceName):
748         * html/MediaKeyEvent.h: Added.
749         (WebCore):
750         (MediaKeyEventInit):
751         (MediaKeyEvent):
752         (WebCore::MediaKeyEvent::create):
753         (WebCore::MediaKeyEvent::keySystem):
754         (WebCore::MediaKeyEvent::sessionId):
755         (WebCore::MediaKeyEvent::initData):
756         (WebCore::MediaKeyEvent::message):
757         (WebCore::MediaKeyEvent::defaultURL):
758         (WebCore::MediaKeyEvent::errorCode):
759         (WebCore::MediaKeyEvent::systemCode):
760         * html/MediaKeyEvent.idl: Added.
761         * page/DOMWindow.idl:
762         * platform/graphics/MediaPlayer.cpp:
763         (WebCore):
764         (WebCore::MediaPlayer::keyAdded):
765         (WebCore::MediaPlayer::keyError):
766         (WebCore::MediaPlayer::keyMessage):
767         (WebCore::MediaPlayer::keyNeeded):
768         * platform/graphics/MediaPlayer.h:
769         (MediaPlayerClient):
770         (WebCore::MediaPlayerClient::mediaPlayerKeyAdded):
771         (WebCore::MediaPlayerClient::mediaPlayerKeyError):
772         (WebCore::MediaPlayerClient::mediaPlayerKeyMessage):
773         (WebCore::MediaPlayerClient::mediaPlayerKeyNeeded):
774         (MediaPlayer):
775
776 2012-04-12  Anders Carlsson  <andersca@apple.com>
777
778         Reset the user preferred language overrides in Internals::reset
779         https://bugs.webkit.org/show_bug.cgi?id=83845
780
781         Reviewed by Ryosuke Niwa.
782
783         We don't want setting the language override in one test to affect subsequent tests,
784         so make sure to reset it in Internals::reset.
785
786         * testing/Internals.cpp:
787         (WebCore::Internals::reset):
788
789 2012-04-12  Andrey Kosyakov  <caseq@chromium.org>
790
791         [chromium][refactoring] merge CCSingleThreadProxy::{commitIfNeeded,doComposite} into commitAndComposite()
792         https://bugs.webkit.org/show_bug.cgi?id=83837
793
794         Reviewed by James Robinson.
795
796         - merge CCSingleThreadProxy::commitIfNeeded() and CCSingleThreadProxy::doComposite() into commitAndComposite()
797
798         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
799         (WebCore::CCSingleThreadProxy::compositeAndReadback): call site updated.
800         (WebCore::CCSingleThreadProxy::compositeImmediately): ditto.
801         (WebCore::CCSingleThreadProxy::commitAndComposite):
802         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
803
804 2012-04-12  Nate Chapin  <japhet@chromium.org>
805
806         Remove FrameLoader:m_isLoadingMainResource, since it is always
807         false at the only point it is checked.
808         https://bugs.webkit.org/show_bug.cgi?id=83819
809
810         Reviewed by Adam Barth.
811
812         No new tests, no functionality change intended.
813
814         * loader/DocumentWriter.cpp:
815         (WebCore::DocumentWriter::end): Merge with endIfNotLoadingMainResource(), always end, assert that we're still attached.
816         * loader/DocumentWriter.h:
817         * loader/FrameLoader.cpp:
818         * loader/FrameLoader.h: Remove isLoadingMainResource(), didEndDocument(), and m_isLoadingMainResource.
819
820 2012-04-12  Rob Buis  <rbuis@rim.com>
821
822         XMLSerializer().serializeToString() doesn't generate the XML declaration markup like Opera and Firefox
823         https://bugs.webkit.org/show_bug.cgi?id=83432
824
825         Reviewed by Ryosuke Niwa.
826
827         Serialize the xml declaration exactly as parsed, if present in the document.
828
829         Test: fast/dom/dom-parse-serialize-xmldecl.html
830
831         * dom/Document.cpp:
832         (WebCore::Document::Document):
833         (WebCore::Document::setXMLStandalone): update xmlStandalone to either yes or no.
834         * dom/Document.h:
835         (WebCore::Document::xmlStandalone):
836         (WebCore::Document::xmlStandaloneStatus): xmlStandalone can be unspecified, yes or no.
837         (WebCore::Document::hasXMLDeclaration):  test if xml declaration is present.
838         (WebCore::Document::setHasXMLDeclaration):
839         (Document):
840         * editing/MarkupAccumulator.cpp:
841         (WebCore::MarkupAccumulator::appendXMLDeclaration): write xml declaration if present.
842         (WebCore):
843         (WebCore::MarkupAccumulator::appendStartMarkup):
844         * editing/MarkupAccumulator.h:
845         (MarkupAccumulator):
846         * xml/parser/XMLDocumentParserLibxml2.cpp:
847         (WebCore::XMLDocumentParser::startDocument): call setHasXmlDeclaration and any declaration strings parsed.
848         * xml/parser/XMLDocumentParserQt.cpp:
849         (WebCore::XMLDocumentParser::startDocument): call setHasXmlDeclaration and any declaration strings parsed.
850
851 2012-04-12  Adam Barth  <abarth@webkit.org>
852
853         window.open should prepare for seamless navigation by using findFrameForNavigation
854         https://bugs.webkit.org/show_bug.cgi?id=83835
855
856         Reviewed by Ryosuke Niwa.
857
858         Before this patch, window.open called FrameTree::find and
859         Document::canNavigate separately.  This patch refactors the code to
860         call FrameLoader::findFrameForNavigation, which does both.  This
861         refactoring prepares window.open to understand seamless navigation,
862         which will happen in findFrameForNavigation.
863
864         This patch should have no behavior change today, but once we merge the
865         seamless branch, this change will be tested by
866         https://github.com/eseidel/webkit/blob/seamless/LayoutTests/fast/frames/seamless/seamless-window-open.html
867
868         See https://github.com/eseidel/webkit/commit/a0d8b7defbb63047912aefbc8e22bca4f0638c37 for context.
869
870         * WebCore.exp.in:
871         * loader/FrameLoader.cpp:
872         (WebCore::FrameLoader::findFrameForNavigation):
873         (WebCore::createWindow):
874         * loader/FrameLoader.h:
875         (FrameLoader):
876
877 2012-04-12  Andy Estes  <aestes@apple.com>
878
879         REGRESSION (r102262): iAd Producer relies on CSSStyleDeclaration property setters respecting '!important'
880         https://bugs.webkit.org/show_bug.cgi?id=83832
881
882         Reviewed by Alexey Proskuryakov.
883
884         Shipping versions of iAd Producer rely on the pre-r102262 behavior of
885         respecting '!important' when specified in a CSSStyleDeclaration
886         property setter. Restore this quirky behavior for versions of the app
887         that expect it.
888
889         * WebCore.exp.in: Export
890         Settings::setShouldRespectPriorityInCSSAttributeSetters().
891         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
892         (WebCore::JSCSSStyleDeclaration::putDelegate): If
893         setShouldRespectPriorityInCSSAttributeSetters() is true, restore the
894         pre-r102262 behavior wherein we attempt to parse '!important' out of
895         the property value.
896         * page/Settings.cpp:
897         (WebCore::Settings::setShouldRespectPriorityInCSSAttributeSetters):
898         (WebCore::Settings::shouldRespectPriorityInCSSAttributeSetters):
899         * page/Settings.h:
900
901 2012-04-12  Alexandru Chiculita  <achicu@adobe.com>
902
903         REGRESSION(112745) [CSS Filters] Memory use explosion for offscreen filtered elements
904         https://bugs.webkit.org/show_bug.cgi?id=83815
905
906         Reviewed by Simon Fraser.
907
908         The filtered area used to be the dirty rect intersected by the bounding box of the
909         layer. During a previous change that behavior was lost, so adding it back now.
910
911         Also, removing the memory buffers used to compute filters after the filter is computed.
912         They are deleted next time the filter is applied anyway, so there's no need to keep the
913         memory for them.
914
915         Test: css3/filters/offscreen-filters-memory-usage.html
916
917         * rendering/FilterEffectRenderer.cpp:
918         (WebCore::FilterEffectRenderer::prepare):
919         (WebCore):
920         (WebCore::FilterEffectRenderer::clearIntermediateResults):
921         (WebCore::FilterEffectRendererHelper::prepareFilterEffect):
922         (WebCore::FilterEffectRendererHelper::applyFilterEffect):
923         * rendering/FilterEffectRenderer.h:
924         (FilterEffectRenderer):
925
926 2012-04-12  Brent Fulgham  <bfulgham@webkit.org>
927
928         [WinCairo] Build fix after addition of openTypeTable.
929
930         * platform/graphics/FontPlatformData.h:
931         (FontPlatformData): The openTypeTable declaration is needed
932         for WinCairo as well.
933         * platform/graphics/win/FontPlatformDataWin.cpp:
934         (WebCore):
935         (WebCore::FontPlatformData::openTypeTable): The implementation
936         of openTypeTable is needed for non-CG builds.
937
938 2012-04-12  Balazs Kelemen  <kbalazs@webkit.org>
939
940         [Qt] Fix WebKit1 build with V8
941         https://bugs.webkit.org/show_bug.cgi?id=83322
942
943         Reviewed by Adam Barth.
944
945         Make it possible to build WebKit1 with v8.
946         WebKit2 is not covered yet so it need to be disabled.
947         To build webkit with --v8 one need a qtjsbackend with
948         an up-to-date copy of v8. Thanks to Peter Varga such
949         a public repository is available on gitorious:
950         https://qt.gitorious.org/~stampho/qt/stamphos-qtjsbackend.
951
952         This patch contains some build fix with !ENABLE(INSPECTOR)
953         from it's previous version. These are not necessary now
954         but I kept them because they makes sense.
955
956         No change in behaviour so no new tests.
957
958         * DerivedSources.pri:
959         * Target.pri:
960         * WebCore.pri:
961         * bindings/v8/ScriptController.cpp:
962         * bindings/v8/ScriptControllerQt.cpp:
963         * bindings/v8/ScriptProfiler.cpp:
964         (WebCore::retainedDOMInfo):
965         (WebCore::ScriptProfiler::initialize):
966         * bindings/v8/ScriptState.cpp:
967         (WebCore::evalEnabled):
968         (WebCore::setEvalEnabled):
969         * bindings/v8/V8Binding.cpp:
970         (WebCore):
971         * bindings/v8/V8Binding.h:
972         (V8BindingPerIsolateData):
973         * bindings/v8/V8DOMWindowShell.cpp:
974         (WebCore::V8DOMWindowShell::initContextIfNeeded):
975         * bindings/v8/V8GCForContextDispose.cpp:
976         (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
977         * bindings/v8/custom/V8InjectedScriptManager.cpp:
978         * config.h:
979         * editing/TextIterator.cpp:
980         * html/MediaFragmentURIParser.cpp:
981         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
982         * platform/qt/PlatformSupportQt.cpp:
983         (WebCore::PlatformSupport::popupsAllowed):
984
985 2012-04-12  Alec Flett  <alecflett@chromium.org>
986
987         IndexedDB: Refactor cursor iteration to remove duplicate code
988         https://bugs.webkit.org/show_bug.cgi?id=83302
989
990         Reviewed by Ojan Vafai.
991
992         No new tests, no behavior changes.
993
994         * Modules/indexeddb/IDBBackingStore.h:
995         (Cursor):
996         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
997         (WebCore):
998
999 2012-04-12  Erik Arvidsson  <arv@chromium.org>
1000
1001         Add support for [ArrayClass] and use that on NodeList
1002         https://bugs.webkit.org/show_bug.cgi?id=
1003
1004         Reviewed by Adam Barth.
1005
1006         Attempt to reland r113931. Now with more updated test expectations.
1007
1008         With this patch NodeLists now have Array.prototype on their prototype chain which allows
1009         methods such as forEach and map to work on NodeLists.
1010
1011         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-nodelist
1012
1013         For V8 we need to set a flag on the WrapperTypeInfo since V8 uses FunctionTemplates which
1014         does not allow setting the prototype to a non FunctionTemplate so the prototype is therefore
1015         set when the constructor is created.
1016
1017         For JSC we just pass the right prototype object when creating the NodeList prototype. JSC has
1018         a bug (81588) that prevents toString to work as specced on Array.prototype.toString. This
1019         causes test failures in the tests until that has been fixed.
1020
1021         Test: fast/dom/NodeList/node-list-array-class.html
1022
1023         * bindings/scripts/CodeGeneratorJS.pm:
1024         (GenerateHeader): Include ArrayPrototype.h if an ArrayClass.
1025         (GenerateImplementation): If ArrayClass use arrayPrototype as prototype.
1026         * bindings/scripts/CodeGeneratorV8.pm:
1027         (GenerateNamedConstructorCallback):
1028         (GenerateImplementation): Adds a flag to the WrapperTypeInfo.
1029         * bindings/scripts/IDLAttributes.txt:: Adds new attribute: ArrayClass.
1030         * bindings/scripts/test/JS/JSTestObj.cpp:
1031         (WebCore::JSTestObj::createPrototype):
1032         * bindings/scripts/test/JS/JSTestObj.h:
1033         * bindings/scripts/test/TestObj.idl:
1034         * bindings/scripts/test/V8/V8Float64Array.cpp:
1035         (WebCore):
1036         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1037         (WebCore):
1038         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1039         (WebCore):
1040         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1041         (WebCore):
1042         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1043         (WebCore):
1044         * bindings/scripts/test/V8/V8TestInterface.cpp:
1045         (WebCore):
1046         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1047         (WebCore):
1048         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1049         (WebCore):
1050         * bindings/scripts/test/V8/V8TestNode.cpp:
1051         (WebCore):
1052         * bindings/scripts/test/V8/V8TestObj.cpp:
1053         (WebCore):
1054         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1055         (WebCore):
1056         * bindings/v8/NPV8Object.cpp:
1057         (WebCore::npObjectTypeInfo):
1058         * bindings/v8/V8BindingPerContextData.cpp:
1059         (WebCore::V8BindingPerContextData::init): Get the array prototype too.
1060         (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
1061         (WebCore::V8BindingPerContextData::constructorForTypeSlowCase): If this is an ArrayClass we need to
1062         set the `[[Prototype]]`.
1063         * bindings/v8/V8BindingPerContextData.h:
1064         (V8BindingPerContextData):
1065         * bindings/v8/V8HiddenPropertyName.h:
1066         (WebCore):
1067         * bindings/v8/WrapperTypeInfo.h:
1068         (WrapperTypeInfo):
1069         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1070         (WebCore):
1071         * dom/NodeList.idl:
1072
1073 2012-04-12  Konrad Piascik  <kpiascik@rim.com>
1074
1075         [BlackBerry] Web Inspector cookie expiry is showing the wrong date.
1076         https://bugs.webkit.org/show_bug.cgi?id=83814
1077
1078         Reviewed by Rob Buis.
1079
1080         The internal representation for expiry is seconds, we need to convert it
1081         to milliseconds by multiplying by 1000.
1082
1083         The value from this method doesn't get used anywhere except Web Inspector.
1084         Manually tested with Web Inspector by examining the CookieItemView in the Resources Panel.
1085
1086         * platform/blackberry/ParsedCookie.cpp:
1087         (WebCore::ParsedCookie::appendWebCoreCookie):
1088
1089 2012-04-12  Adam Klein  <adamk@chromium.org>
1090
1091         Always set V8 wrappers via V8DOMWrapper::setJSWrapperFor* instead of WeakReferenceMap::set()
1092         https://bugs.webkit.org/show_bug.cgi?id=82256
1093
1094         Reviewed by Kentaro Hara.
1095
1096         This is an attempt to reland r112318, which was rolled out due to suspicion of OOM issues.
1097
1098         I've landed the refactoring bits of r112318 as separate changes,
1099         so that this patch contains only the change in which map setter is called.
1100
1101         Binding tests have been updated with new output.
1102
1103         * bindings/scripts/CodeGeneratorV8.pm:
1104         (GenerateToV8Converters): Call appropriate V8DOMWrapper::setJSWrapperFor*
1105         to set up wrapper mapping and remove call to leakRef() which is handled
1106         in V8DOMWrapper.
1107         * bindings/scripts/test/V8/V8Float64Array.cpp:
1108         (WebCore::V8Float64Array::wrapSlow):
1109         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1110         (WebCore::V8TestActiveDOMObject::wrapSlow):
1111         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1112         (WebCore::V8TestCustomNamedGetter::wrapSlow):
1113         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1114         (WebCore::V8TestEventConstructor::wrapSlow):
1115         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1116         (WebCore::V8TestEventTarget::wrapSlow):
1117         * bindings/scripts/test/V8/V8TestInterface.cpp:
1118         (WebCore::V8TestInterface::wrapSlow):
1119         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1120         (WebCore::V8TestMediaQueryListListener::wrapSlow):
1121         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1122         (WebCore::V8TestNamedConstructor::wrapSlow):
1123         * bindings/scripts/test/V8/V8TestNode.cpp:
1124         (WebCore::V8TestNode::wrapSlow):
1125         * bindings/scripts/test/V8/V8TestObj.cpp:
1126         (WebCore::V8TestObj::wrapSlow):
1127         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1128         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
1129
1130 2012-04-12  David Hyatt  <hyatt@apple.com>
1131
1132         https://bugs.webkit.org/show_bug.cgi?id=83817
1133         
1134         This patch modifies RenderText so that it scans all of its characters up front to
1135         determine whether or not the simple code path can be used for measurement/rendering
1136         of the text for the whole run.
1137         
1138         TextRun now has an additional field that indicates that the character scan is not
1139         required, since the entire RenderText is known to be simple. This boolean is set
1140         when constructing the TextRun from the places that make TextRuns from RenderTexts.
1141         
1142         The character scan has been refactored into a static Font method so that it can be
1143         called by RenderText. The scan of individual TextRuns is also done using the same method
1144         so that the code is shared.
1145
1146         Reviewed by Dan Bernstein.
1147
1148         * platform/graphics/Font.cpp:
1149         (WebCore::Font::codePath):
1150         (WebCore::Font::characterRangeCodePath):
1151         * platform/graphics/Font.h:
1152         * platform/graphics/TextRun.h:
1153         (WebCore::TextRun::TextRun):
1154         (WebCore::TextRun::characterScanForCodePath):
1155         (WebCore::TextRun::setCharacterScanForCodePath):
1156         (TextRun):
1157         * rendering/InlineTextBox.cpp:
1158         (WebCore::InlineTextBox::constructTextRun):
1159         * rendering/RenderBlockLineLayout.cpp:
1160         (WebCore::textWidth):
1161         * rendering/RenderText.cpp:
1162         (WebCore::RenderText::RenderText):
1163         (WebCore::RenderText::widthFromCache):
1164         (WebCore::RenderText::setTextInternal):
1165         (WebCore::RenderText::width):
1166         (WebCore::RenderText::computeCanUseSimpleFontCodePath):
1167         (WebCore):
1168         * rendering/RenderText.h:
1169         (RenderText):
1170         (WebCore::RenderText::canUseSimpleFontCodePath):
1171
1172 2012-04-12  Levi Weintraub  <leviw@chromium.org>
1173
1174         Make AccessibilityObject::size non-virtual and fix platform accessibility code's LayoutUnit usage
1175         https://bugs.webkit.org/show_bug.cgi?id=83803
1176
1177         Reviewed by Eric Seidel.
1178
1179         AccessibilityObject::size was virtual with a number of overloads, but all the implementations were
1180         redundant. Avoiding the virtual thunk and code duplication by declaring it non-virtual and only
1181         implementing it in AccessibilityObject.
1182
1183         Also adding a pixelSnappedSize method that returns an IntSize, and using it in platform
1184         accessibility code.
1185
1186         No new tests. No change in behavior.
1187
1188         * accessibility/AccessibilityMenuListOption.h:
1189         (WebCore::AccessibilityMenuListOption::canHaveChildren):
1190         * accessibility/AccessibilityMenuListPopup.h:
1191         (WebCore::AccessibilityMenuListPopup::elementRect):
1192         * accessibility/AccessibilityObject.h:
1193         (WebCore::AccessibilityObject::size):
1194         (WebCore::AccessibilityObject::pixelSnappedSize):
1195         * accessibility/AccessibilityRenderObject.cpp:
1196         (WebCore):
1197         * accessibility/AccessibilityRenderObject.h:
1198         (AccessibilityRenderObject):
1199         * accessibility/AccessibilitySlider.cpp:
1200         (WebCore):
1201         * accessibility/AccessibilitySlider.h:
1202         (AccessibilitySliderThumb):
1203         * accessibility/AccessibilityTableColumn.cpp:
1204         (WebCore):
1205         * accessibility/AccessibilityTableColumn.h:
1206         (AccessibilityTableColumn):
1207         * accessibility/AccessibilityTableHeaderContainer.cpp:
1208         (WebCore):
1209         * accessibility/AccessibilityTableHeaderContainer.h:
1210         (AccessibilityTableHeaderContainer):
1211         * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp:
1212         (webkitAccessibleComponentGetExtents):
1213         * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp:
1214         (webkitAccessibleImageGetImagePosition):
1215         (webkitAccessibleImageGetImageSize):
1216         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1217         (-[WebAccessibilityObjectWrapper position]):
1218         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1219
1220 2012-04-12  Anna Cavender  <annacc@chromium.org>
1221
1222         Update HTMLMediaElement's index of cues when TextTrack.mode changes to
1223         and from TextTrack::DISABLED.
1224         https://bugs.webkit.org/show_bug.cgi?id=83377
1225
1226         Reviewed by Eric Carlson.
1227
1228         No new tests. Instead updated media/track/track-mode.html
1229
1230         * html/HTMLMediaElement.cpp:
1231         (WebCore::HTMLMediaElement::textTrackModeChanged):
1232             Add the track's cues to the index when the mode changes to HIDDEN or SHOWING.
1233
1234         * html/HTMLTrackElement.cpp:
1235         (WebCore::HTMLTrackElement::textTrackRemoveCues):
1236             Fix a copy pasta error.
1237
1238         * html/track/TextTrack.cpp:
1239         (WebCore::TextTrack::setMode):
1240             Remove the track's cues from the index when the mode changes to DISABLED.
1241
1242 2012-04-12  Cem Kocagil  <cem.kocagil@gmail.com>
1243
1244         Allow certain Char events in fullscreen
1245         https://bugs.webkit.org/show_bug.cgi?id=83330
1246
1247         Reviewed by Alexey Proskuryakov.
1248
1249         * page/EventHandler.cpp:
1250         (WebCore::EventHandler::isKeyEventAllowedInFullScreen):
1251
1252 2012-04-12  Alec Flett  <alecflett@chromium.org>
1253
1254         IndexedDB: Attributes for a cursor "run past the end" should be undefined.
1255         https://bugs.webkit.org/show_bug.cgi?id=83492
1256
1257         Reviewed by Ojan Vafai.
1258
1259         This brings us up to spec with respect to when it's ok to call
1260         cursor.continue() and the various behaviors around it:
1261
1262         If you call it more than once, continue() throws an exception.
1263
1264         The values of key/primaryKey/value are consistent, whether or not
1265         continue has been called, meaning that if continue() results in
1266         data being loaded from the backing store, that data does not
1267         affect the cursor until the success callback has completed.
1268
1269         Calls to update() and delete() can happen before continue(), but
1270         not afterwards.
1271
1272         Test: storage/indexeddb/cursor-continue-validity.html
1273
1274         * Modules/indexeddb/IDBCursor.cpp:
1275         (WebCore::IDBCursor::IDBCursor):
1276         (WebCore::IDBCursor::key):
1277         (WebCore::IDBCursor::primaryKey):
1278         (WebCore::IDBCursor::value):
1279         (WebCore::IDBCursor::update):
1280         (WebCore::IDBCursor::continueFunction):
1281         (WebCore::IDBCursor::deleteFunction):
1282         (WebCore::IDBCursor::setGotValue):
1283         (WebCore):
1284         * Modules/indexeddb/IDBCursor.h:
1285         (IDBCursor):
1286         * Modules/indexeddb/IDBRequest.cpp:
1287         (WebCore::IDBRequest::onSuccess):
1288         (WebCore::IDBRequest::dispatchEvent):
1289
1290 2012-04-12  Eric Carlson  <eric.carlson@apple.com>
1291
1292         Media engine should not be told to prepare for playback if media loading is not allowed
1293         https://bugs.webkit.org/show_bug.cgi?id=83620
1294
1295         Reviewed by Dan Bernstein.
1296
1297         Test: media/video-load-require-user-gesture.html
1298
1299         * html/HTMLMediaElement.cpp:
1300         (WebCore::HTMLMediaElement::load): Early return if user gesture requirement is not met.
1301
1302         * testing/InternalSettings.cpp:
1303         (WebCore::InternalSettings::setMediaPlaybackRequiresUserGesture): Moved the method here from
1304             Internals to be with the rest of the Internals methods that expose preferences.
1305         * testing/InternalSettings.h:
1306         * testing/InternalSettings.idl:
1307
1308         * testing/Internals.cpp: Moved setMediaPlaybackRequiresUserGesture to InternalSettings.
1309         * testing/Internals.h:
1310         * testing/Internals.idl:
1311
1312 2012-04-12  Bear Travis  <betravis@adobe.com>
1313
1314         [CSS Exclusions] Add flag to enable / disable exclusions at runtime
1315         https://bugs.webkit.org/show_bug.cgi?id=83313
1316
1317         Reviewed by Ryosuke Niwa.
1318
1319         Adding setCSSExclusionsEnabled/cssExclusionsEnabled that is true by default.
1320         The CSS parser will not accept values for the exclusions properties when
1321         cssExclusionsEnabled is false. However, you will still get the default value
1322         in the computed style.
1323
1324         Test: fast/exclusions/css-exclusions-disabled.html
1325
1326         * WebCore.exp.in:
1327         * bindings/generic/RuntimeEnabledFeatures.cpp:
1328         (WebCore):
1329         * bindings/generic/RuntimeEnabledFeatures.h:
1330         (WebCore::RuntimeEnabledFeatures::setCSSExclusionsEnabled):
1331         (WebCore::RuntimeEnabledFeatures::cssExclusionsEnabled):
1332         (RuntimeEnabledFeatures):
1333         * css/CSSParser.cpp:
1334         (WebCore::isSimpleLengthValue):
1335         (WebCore::isValidKeywordPropertyAndValue):
1336         (WebCore::CSSParser::parseValue):
1337         * testing/InternalSettings.cpp:
1338         (WebCore::InternalSettings::InternalSettings):
1339         (WebCore::InternalSettings::restoreTo):
1340         (WebCore::InternalSettings::setCSSExclusionsEnabled):
1341         (WebCore):
1342         * testing/InternalSettings.h:
1343         (InternalSettings):
1344         * testing/InternalSettings.idl:
1345
1346 2012-04-12  Nate Chapin  <japhet@chromium.org>
1347
1348         Move Archive processing to DocumentLoader, instead of FrameLoader.
1349         https://bugs.webkit.org/show_bug.cgi?id=83055
1350
1351         Reviewed by Adam Barth.
1352
1353         No new tests, no functionality change intended.
1354
1355         * loader/DocumentLoader.cpp:
1356         (WebCore::DocumentLoader::finishedLoading):
1357         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
1358         (WebCore::DocumentLoader::maybeCreateArchive): Renamed from
1359             FrameLoader::finishedLoadingDocument(). Returns true if an archive
1360             was created.
1361         (WebCore::DocumentLoader::setArchive):
1362         (WebCore::DocumentLoader::scheduleArchiveLoad):
1363         (WebCore::DocumentLoader::documentURL): Add a check for whether an archive url
1364             should be returned, so that we don't need special handling in Document and
1365             FrameLoader for overriding the document url later.
1366         * loader/DocumentLoader.h:
1367         * loader/FrameLoader.cpp:
1368         (WebCore::FrameLoader::receivedFirstData): Remove archive special cases, since
1369             DocumentLoader::documentURL() will return the right thing for legacy archives
1370             and maybeCreateArchive() will override the base url for mhtml.
1371         (WebCore::FrameLoader::loadArchive):
1372         * loader/FrameLoader.h:
1373
1374 2012-04-12  Dmitry Lomov  <dslomov@google.com>
1375
1376         REGRESSION (r113233): fast/canvas/webgl/array-message-passing.html crashing on Lion and Snow Leopard bots.
1377         https://bugs.webkit.org/show_bug.cgi?id=83427.
1378         Due to incorrect merge by me when landing r113233, call to find got replaces with call to add in 
1379         checking for duplicates in ObjectPool when serializing.
1380
1381         Reviewed by Dean Jackson.
1382
1383         Covered by existing tests.
1384
1385         * bindings/js/SerializedScriptValue.cpp:
1386         (WebCore::CloneSerializer::checkForDuplicate):
1387
1388 2012-04-12  David Barton  <dbarton@mathscribe.com>
1389
1390         Don't modify shared style objects in RenderMathMLRoot.cpp
1391         https://bugs.webkit.org/show_bug.cgi?id=83736
1392
1393         Reviewed by Julien Chaffraix.
1394
1395         To leave room for the radical sign and absolutely positioned "index", we switch to using
1396         intrinsic padding. RenderMathMLRoot.cpp is also cleaned up and prepared for merging with
1397         RenderMathMLSquareRoot.cpp. The base and index are no longer wrapped in extra renderers,
1398         and the child renderers are now in the same order as in the DOM. Some padding/placement
1399         terms are unified and debugged.
1400
1401         Tested by existing tests in roots.xhtml.
1402
1403         * css/mathml.css:
1404         (mroot):
1405         (mroot > * + *):
1406         (mroot > * + mrow, mroot > * + mfenced):
1407         * rendering/mathml/RenderMathMLRoot.cpp:
1408         (WebCore):
1409         (WebCore::RenderMathMLRoot::index):
1410         (WebCore::RenderMathMLRoot::paint):
1411         (WebCore::RenderMathMLRoot::layout):
1412         * rendering/mathml/RenderMathMLRoot.h:
1413         (RenderMathMLRoot):
1414         * rendering/mathml/RenderMathMLSquareRoot.cpp:
1415         (WebCore):
1416         (WebCore::RenderMathMLSquareRoot::paint):
1417
1418 2012-04-12  Anders Carlsson  <andersca@apple.com>
1419
1420         Build fix.
1421
1422         * page/mac/SettingsMac.mm:
1423         (WebCore::defaultFontFamilyDictionary):
1424
1425 2012-04-12  Antti Koivisto  <antti@apple.com>
1426
1427         Remove style sheet argument from StyleRuleImport constructor 
1428         https://bugs.webkit.org/show_bug.cgi?id=83740
1429
1430         Reviewed by Andreas Kling.
1431
1432         The style sheet is set when the rule is added to one. The parser does not need to know about it.
1433
1434         * css/CSSImportRule.cpp:
1435         (WebCore::StyleRuleImport::StyleRuleImport):
1436         * css/CSSImportRule.h:
1437         (StyleRuleImport):
1438         (WebCore::StyleRuleImport::setParentStyleSheet):
1439         * css/CSSParser.cpp:
1440         (WebCore::CSSParser::createImportRule):
1441         * css/CSSStyleSheet.cpp:
1442         (WebCore::StyleSheetInternal::parserAppendRule):
1443         (WebCore::StyleSheetInternal::wrapperInsertRule):
1444
1445 2012-04-12  Alexey Proskuryakov  <ap@apple.com>
1446
1447         REGRESSION (r113900): In nightly builds, Safari Webpage Preview Fetcher crashes in Settings::initializeDefaultFontFamilies() due to uncaught exception (sandbox preventing access to fonts plist)
1448         https://bugs.webkit.org/show_bug.cgi?id=83792
1449         <rdar://problem/11234002>
1450
1451         Reviewed by Dan Bernstein.
1452
1453         * page/mac/SettingsMac.mm: (WebCore::defaultFontFamilyDictionary): Bail out without setting
1454         font preferences if the process doesn't have read access to WebCore.framework.
1455
1456 2012-04-12  Eli Fidler  <efidler@rim.com>
1457
1458         [BlackBerry] Set up default fonts for BlackBerry
1459         https://bugs.webkit.org/show_bug.cgi?id=83775
1460
1461         Reviewed by Antonio Gomes.
1462
1463         * PlatformBlackBerry.cmake:
1464         * page/Settings.cpp:
1465         (WebCore):
1466         * page/blackberry/SettingsBlackBerry.cpp: Added.
1467         (WebCore):
1468         (WebCore::Settings::initializeDefaultFontFamilies):
1469
1470 2012-04-12  Jon Lee  <jonlee@apple.com>
1471
1472         Implement Dictionary.h on mac (83472)
1473         https://bugs.webkit.org/show_bug.cgi?id=83472
1474         <rdar://problem/11209766>
1475
1476         Reviewed by Kentaro Hara.
1477
1478         A difference between Dictionary and JSDictionary makes it difficult to merge the two together and avoid
1479         creating a confusing API. The boolean returned by Dictionary::get() represents whether the
1480         property was found. The boolean returned by JSDictionary::tryGetProperty() represents whether an
1481         exception was thrown.
1482
1483         * WebCore.xcodeproj/project.pbxproj: Add Dictionary.h and Dictionary.cpp.
1484
1485         * bindings/js/Dictionary.cpp: Added.
1486         (WebCore::Dictionary::Dictionary):
1487         (WebCore::Dictionary::get):
1488         * bindings/js/Dictionary.h: Leverage JSDictionary's functionality to obtain the data.
1489         (WebCore::Dictionary::isObject): Mark an unimplemented.
1490         (WebCore::Dictionary::isUndefinedOrNull): Mark an unimplemented.
1491         (WebCore::Dictionary::getWithUndefinedOrNullCheck): Mark an unimplemented.
1492
1493         * bindings/js/JSDictionary.cpp:
1494         (WebCore::JSDictionary::tryGetProperty): Convert to a const function.
1495         * bindings/js/JSDictionary.h:
1496         (WebCore::JSDictionary::isValid):
1497         (WebCore::JSDictionary::tryGetProperty): Convert to a const function.
1498         (WebCore::JSDictionary::get): Similar to tryGetProperty(), but returns true if the
1499         property was found, converting the value succeeded and the out parameter "result" was set.
1500         (WebCore::JSDictionary::tryGetPropertyAndResult): Refactor tryGetProperty() to return the enum directly.
1501
1502         Change bindings scripts to use Dictionary constructor.
1503         * bindings/js/IDBBindingUtilities.cpp: Remove createDictionaryFromValue().
1504         * bindings/js/IDBBindingUtilities.h: Remove createDictionaryFromValue().
1505         * bindings/scripts/CodeGeneratorJS.pm:
1506         (JSValueToNative): Update to remove IDBBindingUtilities.h dependency, and use Dictionary constructor.
1507         * bindings/scripts/test/JS/JSTestObj.cpp:
1508         (WebCore::jsTestObjPrototypeFunctionOptionsObject): Update expected generated output.
1509
1510 2012-04-12  Sami Kyostila  <skyostil@chromium.org>
1511
1512         [chromium] Fix threaded compositor HUD crash
1513         https://bugs.webkit.org/show_bug.cgi?id=83778
1514
1515         Reviewed by James Robinson.
1516
1517         Don't try to read font metrics in threaded compositing mode, since we
1518         currently can't render HUD text with the threaded compositor.
1519
1520         HUD is not testable in WebKit.
1521
1522         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1523         (WebCore::CCHeadsUpDisplay::drawHudContents):
1524
1525 2012-04-11  Andrey Kosyakov  <caseq@chromium.org>
1526
1527         Web Inspector: zoom timeline frame on dblclick on the frame bar
1528         https://bugs.webkit.org/show_bug.cgi?id=83741
1529
1530         Reviewed by Pavel Feldman.
1531
1532        - put timeline frame bars into a container, so we can have one listener;
1533        - upon dblclick, find the frame, get its window coordinates and set overview selection window accordingly.
1534
1535         * inspector/front-end/TimelineOverviewPane.js:
1536         (WebInspector.TimelineOverviewPane.prototype.zoomToFrame): Get frame coordinates, set overview window.
1537         (WebInspector.TimelineVerticalOverview.prototype.update): Maintain framesPerBar as a member for reuse in getFramePosition()
1538         (WebInspector.TimelineVerticalOverview.prototype.framePosition): Map frame to screen positions.
1539         (WebInspector.TimelineVerticalOverview.prototype._renderBars): Factored out barNumberToScreenPosition()
1540         (WebInspector.TimelineVerticalOverview.prototype._barNumberToScreenPosition):
1541         (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes): Drive-by style fix.
1542         * inspector/front-end/TimelinePanel.js:
1543         (WebInspector.TimelinePanel.prototype._updateFrames): Put frames into a containing div.
1544         (WebInspector.TimelinePanel.prototype._onFrameDoubleClicked): Zoom to frame upon double click.
1545         * inspector/front-end/timelinePanel.css:
1546         (.timeline-frame-container):
1547
1548 2012-04-11  Andrey Kosyakov  <caseq@chromium.org>
1549
1550         Web Inspector: show wall time frame duration on the vertical overview
1551         https://bugs.webkit.org/show_bug.cgi?id=83718
1552
1553         Reviewed by Pavel Feldman.
1554
1555         - show frame duration as a contour of the frame bar in vertical overview;
1556         - when scaling, normalize bar to a max of 3 * median frame duration, so too long frames do not dwarf the majority;
1557         - add Array.prototype.qselect() for the above;
1558         - factor our partition algorithm onto Array.prototype for better reuse;
1559
1560         * inspector/front-end/PartialQuickSort.js: factor out partition()
1561         (Object.defineProperty.):
1562         (Object.defineProperty):
1563         * inspector/front-end/TimelineFrameController.js:
1564         (WebInspector.TimelineFrameController.prototype._flushFrame): add frame.duration.
1565         (WebInspector.TimelineFrameController.prototype._createSyntheticFrame): ditto.
1566         * inspector/front-end/TimelineOverviewPane.js:
1567         (WebInspector.TimelineVerticalOverview):
1568         (WebInspector.TimelineVerticalOverview.prototype.reset): this._longestFrameTime is gone.
1569         (WebInspector.TimelineVerticalOverview.prototype.update): ditto.
1570         (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames): return frames to display, not just their timeByCatogory.
1571         (WebInspector.TimelineVerticalOverview.prototype._renderBars): use entire frames, not timeByCategory.
1572         (WebInspector.TimelineVerticalOverview.prototype._renderBar): ditto.
1573         * inspector/front-end/externs.js: Added annotations for partition() and qselect()
1574         (Array.prototype.partition):
1575         (Array.prototype.qselect):
1576         * inspector/front-end/utilities.js:
1577         (.):
1578
1579 2012-04-12  David Barr  <davidbarr@chromium.org>
1580
1581         Optimize non-rounded double border rendering to avoid transparency layers
1582         https://bugs.webkit.org/show_bug.cgi?id=83745
1583
1584         Reviewed by Simon Fraser.
1585
1586         No functional change, painting optimization only.
1587
1588         * rendering/RenderBoxModelObject.cpp:
1589         (WebCore::RenderBoxModelObject::paintBorder):
1590
1591 2012-04-12  Julien Chaffraix  <jchaffraix@webkit.org>
1592
1593         Reduce the use of RenderLayer outside of the rendering code
1594         https://bugs.webkit.org/show_bug.cgi?id=83728
1595
1596         Reviewed by Simon Fraser.
1597
1598         Test: fast/layers/scrollByLines-overflow-no-layer.html
1599
1600         This is mostly a layering violation change. This changes reduces the number of
1601         RenderLayer use outside rendering/ by a third but there are still numerous uses.
1602
1603         While auditing the different uses of RenderLayer, I found a potential crasher
1604         and fixed it which is why we have a test case.
1605
1606         * accessibility/AccessibilityRenderObject.cpp:
1607         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
1608         * dom/Document.cpp:
1609         (WebCore::Document::nodesFromRect):
1610         (WebCore::Document::handleZeroPadding):
1611         (WebCore::nodeFromPoint):
1612         (WebCore::Document::prepareMouseEvent):
1613         * editing/FrameSelection.cpp:
1614         (WebCore::FrameSelection::contains):
1615         * page/DragController.cpp:
1616         (WebCore::elementUnderMouse):
1617         * page/EventHandler.cpp:
1618         (WebCore::EventHandler::handleMouseDraggedEvent):
1619         (WebCore::EventHandler::eventMayStartDrag):
1620         (WebCore::EventHandler::updateSelectionForMouseDrag):
1621         (WebCore::EventHandler::hitTestResultAtPoint):
1622         (WebCore::EventHandler::handleWheelEvent):
1623         (WebCore::EventHandler::hoverTimerFired):
1624         (WebCore::EventHandler::handleDrag):
1625         Updated these call sites to use RenderView::hitTest.
1626
1627         * css/CSSComputedStyleDeclaration.cpp:
1628         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1629         * page/FrameView.cpp:
1630         (WebCore::FrameView::contentsInCompositedLayer):
1631         (WebCore::FrameView::scrollContentsFastPath):
1632         Updated these call sites to use RenderObject::isComposited().
1633
1634         * dom/Element.cpp:
1635         (WebCore::Element::scrollByUnits):
1636         Call directly RenderBox::scroll instead of calling the layer.
1637         This actually fixes a crasher that slipped through the cracks.
1638
1639         * editing/visible_units.cpp:
1640         * html/shadow/TextControlInnerElements.cpp:
1641         * page/ContextMenuController.cpp:
1642         * page/FocusController.cpp:
1643         * page/Frame.cpp:
1644         * page/GestureTapHighlighter.cpp:
1645         * page/PrintContext.cpp:
1646         * plugins/mac/PluginViewMac.mm:
1647         Removed unneeded #include.
1648
1649         * plugins/gtk/PluginViewGtk.cpp:
1650         * plugins/qt/PluginViewQt.cpp:
1651         Replaced RenderLayer.h #include with RenderObject.h as
1652         we use RenderObject::absoluteToLocal.
1653
1654         * rendering/RenderObject.cpp:
1655         (WebCore::RenderObject::isComposited):
1656         * rendering/RenderObject.h:
1657         * rendering/RenderView.cpp:
1658         (WebCore::RenderView::hitTest):
1659         * rendering/RenderView.h:
1660         Added 2 new functions that pipe through the RenderLayer.
1661
1662 2012-04-12  Pravinin D  <pravind.2k4@gmail.com>
1663
1664         font-size:0 text runs has non zero width in case of Windows Safari.
1665         https://bugs.webkit.org/show_bug.cgi?id=83559
1666
1667         Reviewed by Dan Bernstein.
1668
1669         Test case already exits.
1670         LayoutTest/fast/text/font-size-zero.html
1671
1672         * platform/graphics/win/SimpleFontDataCGWin.cpp:
1673         (WebCore):
1674         (WebCore::SimpleFontData::platformBoundsForGlyph):
1675         (WebCore::SimpleFontData::platformWidthForGlyph):
1676
1677 2012-04-12  Alexei Filippov  <alexeif@chromium.org>
1678
1679         Web Inspector: Move meta node out of nodes in snapshot serialization.
1680         https://bugs.webkit.org/show_bug.cgi?id=83701
1681
1682         Reviewed by Yury Semikhatsky.
1683
1684         * inspector/front-end/HeapSnapshot.js:
1685         (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
1686         (WebInspector.HeapSnapshot):
1687
1688 2012-04-12  Yael Aharon  <yael.aharon@nokia.com>
1689
1690         [Qt][WK2] Nested fixed elements scroll too fast
1691         https://bugs.webkit.org/show_bug.cgi?id=83720
1692
1693         Reviewed by Noam Rosenthal.
1694
1695         Before setting the scrollPositionDelta to a fixed layer, check if it has an ancestor which also has fixed position.
1696         If it does, do not set scrollPositionDelta.
1697         Added a flag to TextureMapperLayer and GraphicsLayerTextureMapper indicating if it is a fixed position layer.
1698
1699         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1700         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
1701         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1702         (WebCore::GraphicsLayerTextureMapper::setFixedToViewport):
1703         (WebCore::GraphicsLayerTextureMapper::fixedToViewport):
1704         (GraphicsLayerTextureMapper):
1705         * platform/graphics/texmap/TextureMapperLayer.cpp:
1706         (WebCore::TextureMapperLayer::syncCompositingStateSelf):
1707         (WebCore::TextureMapperLayer::isAncestorFixedToViewport):
1708         (WebCore):
1709         (WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):
1710         * platform/graphics/texmap/TextureMapperLayer.h:
1711         (TextureMapperLayer):
1712         (WebCore::TextureMapperLayer::setFixedToViewport):
1713
1714 2012-04-12  Charles Wei  <charles.wei@torchmobile.com.cn>
1715
1716         [BlackBerry] Revert the patch for 82764
1717         https://bugs.webkit.org/show_bug.cgi?id=83767
1718
1719         Reviewed by Rob Buis.
1720
1721         Revert the patch for 82764, which is causing misfunction.
1722         The internal commit is: 800213f5
1723
1724         * plugins/blackberry/PluginViewBlackBerry.cpp:
1725         (WebCore::PluginView::setNPWindowIfNeeded):
1726         (WebCore::PluginView::platformGetValue):
1727         (WebCore::PluginView::platformDestroy):
1728         * plugins/blackberry/PluginViewPrivateBlackBerry.h:
1729         (PluginViewPrivate):
1730
1731 2012-04-12  Kent Tamura  <tkent@chromium.org>
1732
1733         [Chromium] Enable INPUT_TYPE_DATE
1734         https://bugs.webkit.org/show_bug.cgi?id=83761
1735
1736         Reviewed by Kentaro Hara.
1737
1738         * html/DateInputType.cpp:
1739         Touch it to avoid build issues. No code changes.
1740         * html/DateInputType.h: ditto.
1741         * html/InputType.cpp: ditto.
1742
1743 2012-04-12  Yury Semikhatsky  <yurys@chromium.org>
1744
1745         Web Inspector: annotate the rest of profiler front-end for closure compiler
1746         https://bugs.webkit.org/show_bug.cgi?id=83781
1747
1748         All remaining Profiler front-end files are annotated for closure compiler.
1749
1750         Reviewed by Pavel Feldman.
1751
1752         * inspector/compile-front-end.py:
1753         * inspector/front-end/CSSSelectorProfileView.js:
1754         * inspector/front-end/HeapSnapshotProxy.js:
1755         (WebInspector.HeapSnapshotWorkerWrapper):
1756         (WebInspector.HeapSnapshotWorkerWrapper.prototype.postMessag):
1757         (WebInspector.HeapSnapshotWorkerWrapper.prototype.terminate):
1758         (WebInspector.HeapSnapshotWorker):
1759         (WebInspector.HeapSnapshotProxyObject.prototype.callFactoryMethod):
1760         (WebInspector.HeapSnapshotProxyObject.prototype.callMethod):
1761         * inspector/front-end/HeapSnapshotWorkerDispatcher.js:
1762         * inspector/front-end/TopDownProfileDataGridTree.js:
1763         (WebInspector.TopDownProfileDataGridTree.prototype.exclude):
1764         * inspector/front-end/externs.js:
1765         (addEventListener):
1766
1767 2012-04-12  Sam D  <dsam2912@gmail.com>
1768
1769         Web Inspector: Node Value should not get corrupt while jump over different matches in search.
1770         https://bugs.webkit.org/show_bug.cgi?id=83758
1771         
1772         The order in which updateEntryHide is called for cached
1773         highlightResults is changed in "last changed first corrected" order to preserve the semantic of node.
1774
1775         Reviewed by Pavel Feldman.
1776
1777         No new tests required.
1778
1779         * inspector/front-end/ElementsTreeOutline.js:
1780         (WebInspector.ElementsTreeElement.prototype._updateSearchHighlight):
1781
1782 2012-03-05  Pierre Rossi  <pierre.rossi@gmail.com>
1783
1784         [Qt] Use QRawFont when building with Qt 5
1785         https://bugs.webkit.org/show_bug.cgi?id=78001
1786
1787         Up until now, fonts in the Qt port have been handled via
1788         the QFont API. QRawFont offers a lower-level API enabling
1789         us to be more in line with what other WebKit ports do.
1790         This patch proceeds to switching over to QRawFont, and
1791         effectively use an earlier change by Andreas Kling
1792         that remained guarded up until now.
1793
1794         Reviewed by Simon Hausmann.
1795
1796         No new tests since this is refactoring of existing
1797         functionality.
1798
1799         * Target.pri:
1800         * platform/graphics/Font.cpp:
1801         (WebCore::Font::drawText):
1802         * platform/graphics/Font.h:
1803         (Font):
1804         (WebCore):
1805         (WebCore::Font::syntheticFont): Added.
1806         * platform/graphics/SimpleFontData.h:
1807         (SimpleFontData):
1808         (WebCore::SimpleFontData::getQtRawFont):
1809         (WebCore):
1810         * platform/graphics/qt/FontCacheQt.cpp:
1811         (WebCore::rawFontForCharacters):
1812         (WebCore):
1813         (WebCore::FontCache::getFontDataForCharacters):
1814         (WebCore::FontCache::createFontPlatformData):
1815         * platform/graphics/qt/FontCustomPlatformData.h:
1816         (FontCustomPlatformData):
1817         * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
1818         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1819         (WebCore::FontCustomPlatformData::fontPlatformData):
1820         (WebCore::createFontCustomPlatformData):
1821         * platform/graphics/qt/FontPlatformData.h:
1822         (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
1823         (FontPlatformDataPrivate):
1824         (FontPlatformData):
1825         * platform/graphics/qt/FontPlatformDataQt.cpp:
1826         (WebCore::FontPlatformData::FontPlatformData):
1827         (WebCore):
1828         (WebCore::FontPlatformData::operator==):
1829         * platform/graphics/qt/FontQt.cpp:
1830         (WebCore::fillPenForContext):
1831         (WebCore::pathForGlyphs):
1832         (WebCore::drawQtGlyphRun):
1833         (WebCore::Font::drawComplexText):
1834         (WebCore::Font::floatWidthForComplexText):
1835         (WebCore::Font::offsetForPositionForComplexText):
1836         (WebCore::Font::selectionRectForComplexText):
1837         (WebCore::Font::initFormatForTextLayout):
1838         (WebCore):
1839         (WebCore::Font::drawGlyphs):
1840         (WebCore::Font::syntheticFont):
1841         (WebCore::Font::rawFont):
1842         * platform/graphics/qt/FontQt4.cpp: Copied from Source/WebCore/platform/graphics/qt/FontQt.cpp.
1843         (WebCore):
1844         (WebCore::fromRawDataWithoutRef):
1845         (WebCore::setupLayout):
1846         (WebCore::fillPenForContext):
1847         (WebCore::strokePenForContext):
1848         (WebCore::drawTextCommon):
1849         (WebCore::Font::drawComplexText):
1850         (WebCore::Font::floatWidthForComplexText):
1851         (WebCore::Font::offsetForPositionForComplexText):
1852         (WebCore::Font::selectionRectForComplexText):
1853         (WebCore::Font::canReturnFallbackFontsForComplexText):
1854         (WebCore::Font::drawEmphasisMarksForComplexText):
1855         (WebCore::Font::drawSimpleText):
1856         (WebCore::Font::offsetForPositionForSimpleText):
1857         (WebCore::Font::floatWidthForSimpleText):
1858         (WebCore::Font::selectionRectForSimpleText):
1859         (WebCore::Font::canExpandAroundIdeographsInComplexText):
1860         (WebCore::Font::primaryFontHasGlyphForCharacter):
1861         (WebCore::Font::emphasisMarkAscent):
1862         (WebCore::Font::emphasisMarkDescent):
1863         (WebCore::Font::emphasisMarkHeight):
1864         (WebCore::Font::drawEmphasisMarksForSimpleText):
1865         (WebCore::Font::font):
1866         * platform/graphics/qt/SimpleFontDataQt.cpp:
1867         (WebCore::SimpleFontData::platformInit):
1868         * platform/qt/RenderThemeQt.cpp:
1869         (WebCore::RenderThemeQt::fileListNameForWidth):
1870         * platform/qt/RenderThemeQtMobile.cpp:
1871         (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
1872
1873 2012-04-12  JungJik Lee  <jungjik.lee@samsung.com>
1874
1875         Calculate the cover rect of tiled backing store with the trajectory vector.
1876         https://bugs.webkit.org/show_bug.cgi?id=83462
1877
1878         Reviewed by Kenneth Rohde Christiansen.
1879
1880         When trajectory vector is not zero, it is able to calculate the proper cover area.
1881         No new tests - no new functionality.
1882
1883         * platform/graphics/TiledBackingStore.cpp:
1884         (WebCore::TiledBackingStore::computeCoverAndKeepRect):
1885
1886 2012-04-12  Pavel Feldman  <pfeldman@chromium.org>
1887
1888         Web Inspector: extracting NetworkRequest from Resource (step 2)
1889         https://bugs.webkit.org/show_bug.cgi?id=83773
1890
1891         Reviewed by Yury Semikhatsky.
1892
1893         This step moves request-related views from being resource-based to request-based.
1894         See https://bugs.webkit.org/show_bug.cgi?id=61363 for the meta bug.
1895
1896         * WebCore.gypi:
1897         * WebCore.vcproj/WebCore.vcproj:
1898         * inspector/compile-front-end.py:
1899         * inspector/front-end/ContentProviders.js:
1900         (WebInspector.ResourceContentProvider):
1901         (WebInspector.ResourceContentProvider.prototype.requestContent):
1902         (WebInspector.ResourceContentProvider.prototype.searchInContent):
1903         * inspector/front-end/NetworkItemView.js:
1904         (WebInspector.NetworkItemView):
1905         (WebInspector.RequestContentView):
1906         (WebInspector.RequestContentView.prototype._ensureInnerViewShown):
1907         * inspector/front-end/NetworkPanel.js:
1908         (WebInspector.NetworkLogView.prototype._showPopover):
1909         * inspector/front-end/NetworkRequest.js:
1910         (WebInspector.NetworkRequest.prototype.resource):
1911         * inspector/front-end/RawSourceCode.js:
1912         (WebInspector.RawSourceCode.prototype._createContentProvider):
1913         * inspector/front-end/RequestCookiesView.js: Renamed from Source/WebCore/inspector/front-end/ResourceCookiesView.js.
1914         (WebInspector.RequestCookiesView):
1915         * inspector/front-end/RequestHTMLView.js: Renamed from Source/WebCore/inspector/front-end/ResourceHTMLView.js.
1916         (WebInspector.RequestHTMLView):
1917         (WebInspector.RequestHTMLView.prototype._createIFrame):
1918         * inspector/front-end/RequestHeadersView.js: Renamed from Source/WebCore/inspector/front-end/ResourceHeadersView.js.
1919         (WebInspector.RequestHeadersView):
1920         * inspector/front-end/RequestJSONView.js: Renamed from Source/WebCore/inspector/front-end/ResourceJSONView.js.
1921         (WebInspector.RequestJSONView):
1922         (WebInspector.RequestJSONView.parseJSON.WebInspector.RequestJSONView.parseJSONP):
1923         * inspector/front-end/RequestPreviewView.js: Renamed from Source/WebCore/inspector/front-end/ResourcePreviewView.js.
1924         (WebInspector.RequestPreviewView):
1925         (WebInspector.RequestPreviewView.prototype.contentLoaded):
1926         (WebInspector.RequestPreviewView.prototype._createPreviewView):
1927         * inspector/front-end/RequestResponseView.js: Renamed from Source/WebCore/inspector/front-end/ResourceResponseView.js.
1928         (WebInspector.RequestResponseView):
1929         (WebInspector.RequestResponseView.prototype.get sourceView):
1930         (WebInspector.RequestResponseView.prototype.contentLoaded):
1931         * inspector/front-end/RequestTimingView.js: Renamed from Source/WebCore/inspector/front-end/ResourceTimingView.js.
1932         (WebInspector.RequestTimingView):
1933         (WebInspector.RequestTimingView.prototype._refresh):
1934         * inspector/front-end/RequestView.js: Copied from Source/WebCore/inspector/front-end/NetworkRequest.js.
1935         (WebInspector.RequestView):
1936         (WebInspector.RequestView.prototype.hasContent):
1937         (WebInspector.RequestView.hasTextContent):
1938         (WebInspector.RequestView.nonSourceViewForRequest):
1939         * inspector/front-end/ResourceView.js:
1940         (WebInspector.ResourceSourceFrame._canonicalMIMEType):
1941         (WebInspector.ResourceSourceFrame._mimeTypeForResource):
1942         (WebInspector.ResourceSourceFrame.prototype.requestContent):
1943         (WebInspector.ResourceSourceFrame.prototype._contentChanged):
1944         (WebInspector.ResourceRevisionSourceFrame.prototype.requestContent):
1945         * inspector/front-end/WebKit.qrc:
1946         * inspector/front-end/inspector.html:
1947
1948 2012-04-12  Yury Semikhatsky  <yurys@chromium.org>
1949
1950         Unreviewed. Fix a couple of compiler annotations after r113963.
1951
1952         * inspector/front-end/TopDownProfileDataGridTree.js:
1953         (WebInspector.TopDownProfileDataGridTree):
1954         (WebInspector.TopDownProfileDataGridTree.prototype.exclude):
1955
1956 2012-04-11  Yury Semikhatsky  <yurys@chromium.org>
1957
1958         Web Inspector: add closure compiler annotations for profiler code
1959         https://bugs.webkit.org/show_bug.cgi?id=83700
1960
1961         Basic type annotations are added to most of the profiler front-end. Some
1962         dead code removed.
1963
1964         Reviewed by Pavel Feldman.
1965
1966         * inspector/compile-front-end.py:
1967         * inspector/front-end/BinarySearch.js:
1968         (Object.defineProperty):
1969         * inspector/front-end/BottomUpProfileDataGridTree.js:
1970         (WebInspector.BottomUpProfileDataGridNode.prototype._restore):
1971         (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
1972         (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren):
1973         (WebInspector.BottomUpProfileDataGridTree):
1974         * inspector/front-end/DataGrid.js:
1975         * inspector/front-end/DetailedHeapshotGridNodes.js:
1976         (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
1977         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
1978         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated):
1979         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
1980         * inspector/front-end/DetailedHeapshotView.js:
1981         (WebInspector.DetailedHeapshotView.prototype._changeBase):
1982         (WebInspector.DetailedHeapshotView.prototype._setRetainmentDataGridSource):
1983         (WebInspector.DetailedHeapshotView.prototype._helpClicked.appendHelp):
1984         (WebInspector.DetailedHeapshotView.prototype._helpClicked):
1985         * inspector/front-end/HeapSnapshot.js:
1986         (WebInspector.HeapSnapshot):
1987         (HeapSnapshotMetainfo):
1988         (WebInspector.HeapSnapshot.prototype._buildRetainers):
1989         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
1990         (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
1991         * inspector/front-end/ProfileDataGridTree.js:
1992         (WebInspector.ProfileDataGridNode.prototype.insertChild):
1993         (WebInspector.ProfileDataGridNode.prototype.removeChild):
1994         (WebInspector.ProfileDataGridNode.prototype.removeChildren):
1995         (WebInspector.ProfileDataGridNode.prototype._populate):
1996         (WebInspector.ProfileDataGridTree.propertyComparator):
1997         * inspector/front-end/ProfileView.js:
1998         * inspector/front-end/ProfilesPanel.js:
1999         (WebInspector.ProfileHeader):
2000         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.parsed):
2001         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
2002         (WebInspector.ProfilesPanel.prototype.performSearch.finishedCallback):
2003         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
2004         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2005         (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
2006         * inspector/front-end/TopDownProfileDataGridTree.js:
2007         (WebInspector.TopDownProfileDataGridTree):
2008         (WebInspector.TopDownProfileDataGridTree.prototype.exclude):
2009         * inspector/front-end/externs.js:
2010         (Array.prototype.binaryIndexOf):
2011         (Array.prototype.sortRange):
2012         (WebInspector.CSSSelectorProfileType):
2013         (WebInspector.HeapSnapshotWorker):
2014         (WebInspector.HeapSnapshotWorker.prototype.createObject):
2015         (WebInspector.HeapSnapshotWorker.prototype.startCheckingForLongRunningCalls):
2016         * inspector/front-end/heapProfiler.css:
2017
2018 2012-04-12  Zalan Bujtas  <zbujtas@gmail.com>
2019
2020         [Qt][WK2] Zoom gesture with double tap crashes on iframe when main frame has scroll offset.
2021         https://bugs.webkit.org/show_bug.cgi?id=83428
2022
2023         Reviewed by Kenneth Rohde Christiansen.
2024
2025         When delegate scrolling is on, the frame view needs to ignore scrolling offset when converting
2026         coordinates. It is already done at ScrollView base class and this patch copies the logic to the
2027         FrameView subclass.
2028         Also make sure that TouchAdjustment's findBest*() functions' return value are not ignored by the caller.
2029
2030         Test: touchadjustment/iframe-with-mainframe-scroll-offset.html
2031
2032         * page/EventHandler.cpp:
2033         (WebCore::EventHandler::bestClickableNodeForTouchPoint):
2034         (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
2035         * page/EventHandler.h:
2036         (EventHandler):
2037         * page/FrameView.cpp:
2038         (WebCore::FrameView::convertFromRenderer):
2039         (WebCore::FrameView::convertToRenderer):
2040         * page/GestureTapHighlighter.cpp:
2041         * testing/Internals.cpp:
2042         (WebCore::Internals::setDelegatesScrolling):
2043         (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
2044         (WebCore::Internals::bestZoomableAreaForTouchPoint):
2045         * testing/Internals.h:
2046         (Internals):
2047         * testing/Internals.idl:
2048
2049 2012-04-12  Zoltan Horvath  <zoltan@webkit.org>
2050
2051         [Qt] Two canvas tests fail with QT_IMAGE_DECODER=0 setup
2052         https://bugs.webkit.org/show_bug.cgi?id=83764
2053
2054         The following tests were failed after r108792:
2055         - canvas-toDataURL-case-insensitive-mimetype.html
2056         - toDataURL-supportedTypes.html 
2057         because supportedImageMIMETypesForEncoding wasn't filled
2058         with MIME types in case of QT_IMAGE_DECODER=0 build setup.
2059
2060         Reviewed by Csaba Osztrogonác.
2061
2062         Fixes existing tests.
2063
2064         * platform/MIMETypeRegistry.cpp:
2065         (WebCore::initializeSupportedImageMIMETypesForEncoding):
2066
2067 2012-04-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2068
2069         Unreviewed, rolling out r113931.
2070         http://trac.webkit.org/changeset/113931
2071         https://bugs.webkit.org/show_bug.cgi?id=83766
2072
2073         broke 4 tests on JSC platforms (Requested by philn-tp on
2074         #webkit).
2075
2076         * bindings/scripts/CodeGeneratorJS.pm:
2077         (GenerateHeader):
2078         (GenerateImplementation):
2079         * bindings/scripts/CodeGeneratorV8.pm:
2080         (GenerateNamedConstructorCallback):
2081         (GenerateImplementation):
2082         * bindings/scripts/IDLAttributes.txt:
2083         * bindings/scripts/test/JS/JSTestObj.cpp:
2084         (WebCore::JSTestObj::createPrototype):
2085         * bindings/scripts/test/JS/JSTestObj.h:
2086         * bindings/scripts/test/TestObj.idl:
2087         * bindings/scripts/test/V8/V8Float64Array.cpp:
2088         (WebCore):
2089         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2090         (WebCore):
2091         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2092         (WebCore):
2093         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2094         (WebCore):
2095         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2096         (WebCore):
2097         * bindings/scripts/test/V8/V8TestInterface.cpp:
2098         (WebCore):
2099         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2100         (WebCore):
2101         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2102         (WebCore):
2103         * bindings/scripts/test/V8/V8TestObj.cpp:
2104         (WebCore):
2105         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2106         (WebCore):
2107         * bindings/v8/NPV8Object.cpp:
2108         (WebCore::npObjectTypeInfo):
2109         * bindings/v8/V8BindingPerContextData.cpp:
2110         (WebCore::V8BindingPerContextData::init):
2111         (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
2112         (WebCore::V8BindingPerContextData::constructorForTypeSlowCase):
2113         * bindings/v8/V8BindingPerContextData.h:
2114         (V8BindingPerContextData):
2115         * bindings/v8/V8HiddenPropertyName.h:
2116         (WebCore):
2117         * bindings/v8/WrapperTypeInfo.h:
2118         (WrapperTypeInfo):
2119         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2120         (WebCore):
2121         * dom/NodeList.idl:
2122
2123 2012-04-12  Charles Wei  <charles.wei@torchmobile.com.cn>
2124
2125         [BlackBerry] Upstreaming BlackBerry-specific changes to PluginView -- remove unused functions
2126         https://bugs.webkit.org/show_bug.cgi?id=83756
2127
2128         Reviewed by George Staikos.
2129
2130         PluginView::halt(), PluginView::restart() have been removed from
2131         upstreaming code, should remove them from BlackBerry porting also.
2132
2133         * plugins/blackberry/PluginViewBlackBerry.cpp:
2134
2135 2012-04-12  Kenichi Ishibashi  <bashi@chromium.org>
2136
2137         [Chromium] The size of glyphStorage should be passed to substituteWithVerticalGlyphs()
2138         https://bugs.webkit.org/show_bug.cgi?id=83751
2139
2140         Reviewed by Kent Tamura.
2141
2142         The last argument of substituteWithVerticalGlyphs() should be
2143         the size of |glyphStorage|.
2144
2145         No new tests because we can't test the fix by layout tests.
2146         I confirmed the fix with ASAN.
2147
2148         * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
2149         (WebCore::GlyphPage::fill):
2150
2151 2012-04-12  Jason Liu  <jason.liu@torchmobile.com.cn>
2152
2153         [BlackBerry] We shouldn't set empty Content-Length & Content-Type to a request's headers.
2154         https://bugs.webkit.org/show_bug.cgi?id=83349
2155
2156         When there is a redirection for a POST request, we change POST to GET and set
2157         Content-Length/Content-Type to empty strings.
2158         We should remove these headers instead of adding empty strings.
2159
2160         Reviewed by George Staikos.
2161
2162         No new tests. Refactor.
2163
2164         * platform/network/blackberry/NetworkJob.cpp:
2165         (WebCore::NetworkJob::handleRedirect):
2166         * platform/network/blackberry/ResourceRequest.h:
2167         (ResourceRequest):
2168         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
2169         (WebCore::ResourceRequest::clearHTTPContentLength):
2170         (WebCore):
2171         (WebCore::ResourceRequest::clearHTTPContentType):
2172
2173 2012-04-12  Noel Gordon  <noel.gordon@gmail.com>
2174
2175         [Qt] ImageBuffer: Canonical mimeType for encoding implies startsWith('image/')
2176         https://bugs.webkit.org/show_bug.cgi?id=83746
2177
2178         Reviewed by Simon Hausmann.
2179
2180         Canonical image mimeTypes begin with "image/", and this is tested by an ASSERT
2181         guard in toDataURL(): that checks the WebCore mimeType registry for image-for-
2182         encoding mimeType. There is no need to also test mimeType.startsWith("image/")
2183         since that is a given.
2184
2185         No new tests. Covered by existing fast/canvas/*toDataURL* tests.
2186
2187         * platform/graphics/qt/ImageBufferQt.cpp:
2188         (WebCore::ImageBuffer::toDataURL):
2189
2190 2012-04-11  Adam Barth  <abarth@webkit.org>
2191
2192         Implement Location.ancestorOrigins
2193         https://bugs.webkit.org/show_bug.cgi?id=83493
2194
2195         Reviewed by David Levin.
2196
2197         Test: fast/dom/Window/Location/ancestor-origins.html
2198
2199         This patch implements Location.ancestorOrigins(), which returns a list
2200         of the origins of the enclosing frames.  This API has been discussed
2201         both on webkit-dev (see discussion following
2202         https://lists.webkit.org/pipermail/webkit-dev/2012-March/020090.html)
2203         and on the whatwg list (see discussion following
2204         http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-March/035188.html).
2205
2206         * page/Location.cpp:
2207         (WebCore::Location::ancestorOrigins):
2208         (WebCore):
2209         * page/Location.h:
2210         (Location):
2211         * page/Location.idl:
2212
2213 2012-04-11  Raymond Liu  <raymond.liu@intel.com>
2214
2215         AudioContext createChannelSplitter() method should have optional argument for number of outputs
2216         https://bugs.webkit.org/show_bug.cgi?id=83648
2217
2218         Reviewed by Chris Rogers.
2219
2220         Check https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html for the optional argument.
2221
2222         Test: webaudio/audiochannelsplitter.html
2223
2224         * Modules/webaudio/AudioChannelSplitter.cpp:
2225         (WebCore::AudioChannelSplitter::create):
2226         (WebCore::AudioChannelSplitter::AudioChannelSplitter):
2227         (WebCore::AudioChannelSplitter::process):
2228         * Modules/webaudio/AudioChannelSplitter.h:
2229         (AudioChannelSplitter):
2230         * Modules/webaudio/AudioContext.cpp:
2231         (WebCore::AudioContext::createChannelSplitter):
2232         (WebCore):
2233         * Modules/webaudio/AudioContext.h:
2234         (AudioContext):
2235         * Modules/webaudio/AudioContext.idl:
2236
2237 2012-04-11  Charles Wei  <charles.wei@torchmobile.com.cn>
2238
2239         [BlackBerry] Revert the changes that depend on Event changes, which is reverted already internally.
2240         https://bugs.webkit.org/show_bug.cgi?id=83456
2241
2242         Reviewed by George Staikos.
2243
2244         No new tests, just to make BlackBerry-porting to build.
2245
2246         * plugins/blackberry/PluginViewBlackBerry.cpp:
2247         (WebCore::PluginView::handleWheelEvent):
2248         (WebCore::PluginView::handleTouchEvent):
2249         (WebCore::PluginView::handleMouseEvent):
2250
2251 2012-04-11  Jason Liu  <jason.liu@torchmobile.com.cn>
2252
2253         [BlackBerry] There shouldn't be two or more Accept-Language in platformRequest's headerList.
2254         https://bugs.webkit.org/show_bug.cgi?id=83670
2255
2256         FrameLoaderClientBlackBerry::dispatchWillSendRequest and NetworkManager::startJob will call
2257         ResourceRequest::initializePlatformRequest. Accept-Language is added two times.
2258         We should avoid the second adding to improve performance.
2259
2260         Reviewed by Rob Buis.
2261
2262         No new tests. Refactor.
2263
2264         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
2265         (WebCore::ResourceRequest::initializePlatformRequest):
2266
2267 2012-04-11  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
2268
2269         [BlackBerry] MMRPlayer will hang webkit thread when retrieving media metadata
2270         https://bugs.webkit.org/show_bug.cgi?id=80978
2271
2272         Reviewed by Rob Buis.
2273
2274         RIM PR: 143471
2275         Implemented the interface function onWaitMetadataNotified()
2276         which starts a timer to wait for the metadata retrieving to
2277         finish, and pops up a dialog to notify the user what to do
2278         if there still is no metadata when the timer fires.
2279
2280         This patch also contributed by Max Feil <mfeil@rim.com>.
2281         Internally reviewed by Max Feil.
2282
2283         Test: http/tests/media/video-throttled-load-metadata.html
2284
2285         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2286         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2287         (WebCore):
2288         (WebCore::MediaPlayerPrivate::onWaitMetadataNotified):
2289         (WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
2290         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
2291         (MediaPlayerPrivate):
2292
2293 2012-04-11  Jer Noble  <jer.noble@apple.com>
2294
2295         Layout Test webaudio/* is flaky
2296         https://bugs.webkit.org/show_bug.cgi?id=83624
2297
2298         Reviewed by Chris Rogers.
2299
2300         No new tests; fixes webaudio/ layout tests.
2301
2302         A merge error led to an Mutex overunlock situation, which caused all future mutex trylock
2303         attempts to fail, but only on Windows. Remove the extraneous mutex unlock().
2304
2305         * Modules/webaudio/AudioBufferSourceNode.cpp:
2306         (WebCore::AudioBufferSourceNode::process):
2307
2308 2012-04-11  Levi Weintraub  <leviw@chromium.org>
2309
2310         Correct pixel snapping error in RenderBox::pixelSnappedClientWidth/Height
2311         https://bugs.webkit.org/show_bug.cgi?id=83621
2312
2313         Reviewed by Eric Seidel.
2314
2315         Though the problem wouldn't yet manifest itself since we haven't flipped the switch on sub-pixel
2316         layout, clientWidth and clientHeight, when pixel snapped, need to take the RenderBox's location
2317         into account. Previously, ClientLeft/Top were used, but these are simply the width of the borders,
2318         and don't include the box's sub-pixel location, which is needed to properly snap the width/height.
2319
2320         No new tests. Untestable until we switch to FractionalLayoutUnits. A test case that covers this
2321         is in the subpixellayout branch and will land with the switch.
2322
2323         * rendering/RenderBox.cpp:
2324         (WebCore::RenderBox::pixelSnappedClientWidth):
2325         (WebCore::RenderBox::pixelSnappedClientHeight):
2326         (WebCore::RenderBox::scrollWidth): Replacing a raw zero with ZERO_LAYOUT_UNIT.
2327
2328 2012-04-11  Erik Arvidsson  <arv@chromium.org>
2329
2330         Add support for [ArrayClass] and use that on NodeList
2331         https://bugs.webkit.org/show_bug.cgi?id=81573
2332
2333         Reviewed by Adam Barth.
2334
2335         With this patch NodeLists now have Array.prototype on their prototype chain which allows
2336         methods such as forEach and map to work on NodeLists.
2337
2338         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-nodelist
2339
2340         For V8 we need to set a flag on the WrapperTypeInfo since V8 uses FunctionTemplates which
2341         does not allow setting the prototype to a non FunctionTemplate so the prototype is therefore
2342         set when the constructor is created.
2343
2344         For JSC we just pass the right prototype object when creating the NodeList prototype. JSC has
2345         a bug (81588) that prevents toString to work as specced on Array.prototype.toString. This
2346         causes test failures in the tests until that has been fixed.
2347
2348         Test: fast/dom/NodeList/node-list-array-class.html
2349
2350         * bindings/scripts/CodeGeneratorJS.pm:
2351         (GenerateHeader): Include ArrayPrototype.h if an ArrayClass.
2352         (GenerateImplementation): If ArrayClass use arrayPrototype as prototype.
2353         * bindings/scripts/CodeGeneratorV8.pm:
2354         (GenerateNamedConstructorCallback):
2355         (GenerateImplementation): Adds a flag to the WrapperTypeInfo.
2356         * bindings/scripts/IDLAttributes.txt: Adds new attribute: ArrayClass.
2357         * bindings/scripts/test/JS/JSTestObj.cpp:
2358         (WebCore::JSTestObj::createPrototype):
2359         * bindings/scripts/test/JS/JSTestObj.h:
2360         * bindings/scripts/test/TestObj.idl:
2361         * bindings/scripts/test/V8/V8Float64Array.cpp:
2362         (WebCore):
2363         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2364         (WebCore):
2365         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2366         (WebCore):
2367         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2368         (WebCore):
2369         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2370         (WebCore):
2371         * bindings/scripts/test/V8/V8TestInterface.cpp:
2372         (WebCore):
2373         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2374         (WebCore):
2375         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2376         (WebCore):
2377         * bindings/scripts/test/V8/V8TestObj.cpp:
2378         (WebCore):
2379         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2380         (WebCore):
2381         * bindings/v8/V8BindingPerContextData.cpp:
2382         (WebCore::V8BindingPerContextData::init): Get the array prototype too.
2383         (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
2384         (WebCore::V8BindingPerContextData::constructorForTypeSlowCase): If this is an ArrayClass we need to
2385         set the [[Prototype]].
2386         * bindings/v8/V8BindingPerContextData.h:
2387         (V8BindingPerContextData):
2388         * bindings/v8/V8HiddenPropertyName.h:
2389         (WebCore):
2390         * bindings/v8/WrapperTypeInfo.h:
2391         (WrapperTypeInfo):
2392         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2393         (WebCore):
2394         * dom/NodeList.idl:
2395
2396 2012-04-11  Antti Koivisto  <antti@apple.com>
2397
2398         Try to fix build with XSLT disabled.
2399
2400         Not reviewed.
2401
2402         * dom/ProcessingInstruction.cpp:
2403         (WebCore::ProcessingInstruction::parseStyleSheet):
2404
2405 2012-04-11  Erik Arvidsson  <arv@chromium.org>
2406
2407         File API does not support DOM events (like addEventListener)
2408         https://bugs.webkit.org/show_bug.cgi?id=83688
2409
2410         Reviewed by Adam Barth.
2411
2412         The IDL files where missing addEventListener, removeEventListener and dispatchEvent.
2413
2414         Tests: fast/filesystem/file-writer-events.html
2415                fast/speech/scripted/basics.html
2416
2417         * Modules/filesystem/FileWriter.idl: Add missing methods.
2418         * Modules/mediastream/LocalMediaStream.idl: This one gets its EventTarget from MediaStream.
2419         * Modules/speech/SpeechRecognition.idl: Add missing methods.
2420
2421 2012-04-11  Andy Estes  <aestes@apple.com>
2422
2423         LayerFlushScheduler's run loop observer should have an autorelease pool.
2424         https://bugs.webkit.org/show_bug.cgi?id=83729
2425
2426         Reviewed by Dan Bernstein.
2427
2428         LayerFlushScheduler's run loop observer needs an autorelease pool.
2429         NSApplication creates one, but it is only drained after processing user
2430         input. In the case where a WebView is displaying composited content but
2431         not receiving user input, NSApplication's pool will accumulate a large
2432         number of objects autoreleased by the run loop observer. Have
2433         LayerFlushScheduler create an autorelease pool that is drained after
2434         each run loop observer callback.
2435
2436         * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
2437         (WebCore::LayerFlushScheduler::runLoopObserverCallback):
2438
2439 2012-04-11  Antti Koivisto  <antti@apple.com>
2440
2441         Split CSSStyleSheet into internal and CSSOM type
2442         https://bugs.webkit.org/show_bug.cgi?id=83612
2443         
2444         Reviewed by Andreas Kling.
2445
2446         This will complete the separation of our style sheet data structures from CSSOM.
2447         
2448         The internal parts of CSSStyleSheet move to StyleSheetInternal. CSS parser
2449         and style selector will now operate on internal types. Unlike other CSSOM types
2450         CSSStyleSheets are still always instantiated to hold the top level author stylesheets
2451         (by Nodes).
2452
2453         * css/CSSFontFaceSrcValue.cpp:
2454         (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs):
2455         * css/CSSFontFaceSrcValue.h:
2456         (CSSFontFaceSrcValue):
2457         * css/CSSImportRule.cpp:
2458         (WebCore::StyleRuleImport::create):
2459         (WebCore::StyleRuleImport::StyleRuleImport):
2460         (WebCore::StyleRuleImport::setCSSStyleSheet):
2461         (WebCore::StyleRuleImport::requestStyleSheet):
2462         (WebCore::CSSImportRule::~CSSImportRule):
2463         (WebCore):
2464         (WebCore::CSSImportRule::styleSheet):
2465         * css/CSSImportRule.h:
2466         (WebCore):
2467         (StyleRuleImport):
2468         (WebCore::StyleRuleImport::parentStyleSheet):
2469         (WebCore::StyleRuleImport::styleSheet):
2470         (CSSImportRule):
2471         * css/CSSMediaRule.cpp:
2472         (WebCore::CSSMediaRule::insertRule):
2473         * css/CSSParser.cpp:
2474         (WebCore::CSSParser::parseSheet):
2475         (WebCore::CSSParser::parseRule):
2476         (WebCore::CSSParser::parseKeyframeRule):
2477         (WebCore::CSSParser::parseFontFaceValue):
2478         (WebCore::CSSParser::parseValue):
2479         (WebCore::CSSParser::parseSelector):
2480         (WebCore::CSSParser::parseDeclaration):
2481         (WebCore::CSSParser::setStyleSheet):
2482         (WebCore::CSSParser::parseFlowThread):
2483         * css/CSSParser.h:
2484         (WebCore):
2485         (CSSParser):
2486         * css/CSSPrimitiveValue.cpp:
2487         (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs):
2488         * css/CSSPrimitiveValue.h:
2489         (CSSPrimitiveValue):
2490         * css/CSSReflectValue.cpp:
2491         (WebCore::CSSReflectValue::addSubresourceStyleURLs):
2492         * css/CSSReflectValue.h:
2493         (CSSReflectValue):
2494         * css/CSSRule.h:
2495         (CSSRule):
2496         * css/CSSStyleSelector.cpp:
2497         (RuleSet):
2498         (WebCore):
2499         (WebCore::CSSStyleSelector::CSSStyleSelector):
2500         (WebCore::CSSStyleSelector::addAuthorRulesAndCollectUserRulesFromSheets):
2501         (WebCore::CSSStyleSelector::determineScope):
2502         (WebCore::CSSStyleSelector::appendAuthorStylesheets):
2503         (WebCore::parseUASheet):
2504         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2505         * css/CSSStyleSelector.h:
2506         (CSSStyleSelector):
2507         
2508             Add a set for root CSSStyleSheet objects so that the wrappers created in ensureFullCSSOMWrapperForInspector
2509             stay valid.
2510         
2511         * css/CSSStyleSheet.cpp:
2512         (WebCore::StyleSheetInternal::StyleSheetInternal):
2513         (WebCore::StyleSheetInternal::~StyleSheetInternal):
2514         (WebCore::StyleSheetInternal::parserAppendRule):
2515         (WebCore::StyleSheetInternal::createChildRuleCSSOMWrapper):
2516         (WebCore::StyleSheetInternal::ruleCount):
2517         (WebCore::StyleSheetInternal::clearCharsetRule):
2518         (WebCore::StyleSheetInternal::clearRules):
2519         (WebCore::StyleSheetInternal::parserSetEncodingFromCharsetRule):
2520         (WebCore::StyleSheetInternal::wrapperInsertRule):
2521         (WebCore::StyleSheetInternal::wrapperDeleteRule):
2522         (WebCore::StyleSheetInternal::addNamespace):
2523         (WebCore::StyleSheetInternal::determineNamespace):
2524         (WebCore::StyleSheetInternal::parseString):
2525         (WebCore::StyleSheetInternal::parseStringAtLine):
2526         (WebCore::StyleSheetInternal::isLoading):
2527         (WebCore::StyleSheetInternal::checkLoaded):
2528         (WebCore::StyleSheetInternal::notifyLoadedSheet):
2529         (WebCore::StyleSheetInternal::startLoadingDynamicSheet):
2530         (WebCore::StyleSheetInternal::findStyleSheetOwnerNode):
2531         (WebCore::StyleSheetInternal::findDocument):
2532         (WebCore::StyleSheetInternal::setMediaQueries):
2533         (WebCore::StyleSheetInternal::styleSheetChanged):
2534         (WebCore):
2535         (WebCore::StyleSheetInternal::baseURL):
2536         (WebCore::StyleSheetInternal::completeURL):
2537         (WebCore::StyleSheetInternal::addSubresourceStyleURLs):
2538         (WebCore::StyleSheetInternal::parentStyleSheet):
2539         (WebCore::CSSStyleSheet::CSSStyleSheet):
2540         (WebCore::CSSStyleSheet::~CSSStyleSheet):
2541         (WebCore::CSSStyleSheet::setDisabled):
2542         (WebCore::CSSStyleSheet::length):
2543         (WebCore::CSSStyleSheet::item):
2544         (WebCore::CSSStyleSheet::rules):
2545         (WebCore::CSSStyleSheet::insertRule):
2546         (WebCore::CSSStyleSheet::addRule):
2547         (WebCore::CSSStyleSheet::cssRules):
2548         (WebCore::CSSStyleSheet::deleteRule):
2549         (WebCore::CSSStyleSheet::media):
2550         (WebCore::CSSStyleSheet::parentStyleSheet):
2551         * css/CSSStyleSheet.h:
2552         (WebCore):
2553         (WebCore::StyleSheetInternal::create):
2554         (WebCore::StyleSheetInternal::createInline):
2555         (StyleSheetInternal):
2556         (WebCore::StyleSheetInternal::ownerNode):
2557         (WebCore::StyleSheetInternal::clearOwnerNode):
2558         (WebCore::StyleSheetInternal::ownerRule):
2559         (WebCore::StyleSheetInternal::originalURL):
2560         (WebCore::StyleSheetInternal::title):
2561         (WebCore::StyleSheetInternal::setTitle):
2562         (WebCore::StyleSheetInternal::setFinalURL):
2563         (WebCore::StyleSheetInternal::finalURL):
2564         (CSSStyleSheet):
2565         (WebCore::CSSStyleSheet::create):
2566         (WebCore::CSSStyleSheet::removeRule):
2567         (WebCore::CSSStyleSheet::clearOwnerRule):
2568         (WebCore::CSSStyleSheet::styleSheetChanged):
2569         (WebCore::CSSStyleSheet::findDocument):
2570         (WebCore::CSSStyleSheet::internal):
2571         (WebCore::CSSStyleSheet::isCSSStyleSheet):
2572         (WebCore::CSSStyleSheet::type):
2573         * css/CSSValue.cpp:
2574         (WebCore::CSSValue::addSubresourceStyleURLs):
2575         * css/CSSValue.h:
2576         (WebCore):
2577         (CSSValue):
2578         * css/CSSValueList.cpp:
2579         (WebCore::CSSValueList::addSubresourceStyleURLs):
2580         * css/CSSValueList.h:
2581         (CSSValueList):
2582         * css/CSSValuePool.cpp:
2583         (WebCore::CSSValuePool::createFontFaceValue):
2584         * css/CSSValuePool.h:
2585         (WebCore):
2586         (CSSValuePool):
2587         * css/PropertySetCSSStyleDeclaration.cpp:
2588         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
2589         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
2590         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
2591         * css/PropertySetCSSStyleDeclaration.h:
2592         (WebCore):
2593         * css/StylePropertySet.cpp:
2594         (WebCore::StylePropertySet::setProperty):
2595         (WebCore::StylePropertySet::parseDeclaration):
2596         (WebCore::StylePropertySet::addSubresourceStyleURLs):
2597         * css/StylePropertySet.h:
2598         (WebCore):
2599         (StylePropertySet):
2600         * css/StyleSheet.cpp:
2601         (WebCore):
2602         * css/StyleSheet.h:
2603         (StyleSheet):
2604         (WebCore::StyleSheet::media):
2605         (WebCore::StyleSheet::ownerRule):
2606         (WebCore::StyleSheet::isXSLStyleSheet):
2607         * css/WebKitCSSKeyframesRule.cpp:
2608         (WebCore::WebKitCSSKeyframesRule::insertRule):
2609         * dom/DOMImplementation.cpp:
2610         (WebCore::DOMImplementation::createCSSStyleSheet):
2611         * dom/Document.cpp:
2612         (WebCore::Document::updateBaseURL):
2613         (WebCore::Document::pageUserSheet):
2614         (WebCore::Document::pageGroupUserSheets):
2615         (WebCore::Document::addUserSheet):
2616         (WebCore::Document::elementSheet):
2617         (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
2618         (WebCore::Document::analyzeStylesheetChange):
2619         * dom/Document.h:
2620         (WebCore):
2621         (Document):
2622         (WebCore::Document::documentUserSheets):
2623         * dom/ElementAttributeData.cpp:
2624         (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
2625         * dom/ProcessingInstruction.cpp:
2626         (WebCore::ProcessingInstruction::setCSSStyleSheet):
2627         (WebCore::ProcessingInstruction::parseStyleSheet):
2628         * dom/StyleElement.cpp:
2629         (WebCore::StyleElement::createSheet):
2630         * dom/StyledElement.cpp:
2631         (WebCore::StyledElement::setInlineStyleProperty):
2632         (WebCore::StyledElement::addSubresourceAttributeURLs):
2633         (WebCore):
2634         (WebCore::StyledElement::addPropertyToAttributeStyle):
2635         * dom/StyledElement.h:
2636         (WebCore):
2637         * html/HTMLFontElement.cpp:
2638         (WebCore::HTMLFontElement::collectStyleForAttribute):
2639         * html/HTMLLinkElement.cpp:
2640         (WebCore::HTMLLinkElement::parseAttribute):
2641         (WebCore::HTMLLinkElement::setCSSStyleSheet):
2642         (WebCore::HTMLLinkElement::styleSheetIsLoading):
2643         (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
2644         * html/HTMLStyleElement.cpp:
2645         (WebCore::HTMLStyleElement::parseAttribute):
2646         (WebCore::HTMLStyleElement::addSubresourceAttributeURLs):
2647         * inspector/InspectorStyleSheet.cpp:
2648         (WebCore::fillMediaListChain):
2649         (WebCore::InspectorStyle::setPropertyText):
2650         (WebCore::InspectorStyleSheet::styleSheetURL):
2651         (WebCore::InspectorStyleSheet::reparseStyleSheet):
2652         (WebCore::InspectorStyleSheet::ensureSourceData):
2653         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
2654         * page/PageSerializer.cpp:
2655         (WebCore::PageSerializer::serializeCSSStyleSheet):
2656         * svg/SVGStyleElement.cpp:
2657         (WebCore::SVGStyleElement::parseAttribute):
2658         * xml/XSLStyleSheet.h:
2659         (XSLStyleSheet):
2660         (WebCore::XSLStyleSheet::finalURL):
2661         * xml/XSLStyleSheetLibxslt.cpp:
2662         (WebCore::XSLStyleSheet::XSLStyleSheet):
2663         (WebCore::XSLStyleSheet::isLoading):
2664
2665 2012-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2666
2667         Unreviewed, rolling out r113912.
2668         http://trac.webkit.org/changeset/113912
2669         https://bugs.webkit.org/show_bug.cgi?id=83727
2670
2671         broke atsui-spacing-features.html on windows (Requested by
2672         simonjam on #webkit).
2673
2674         * platform/graphics/chromium/UniscribeHelper.cpp:
2675         (WebCore::UniscribeHelper::justify):
2676
2677 2012-04-11  Alex Nicolaou  <anicolao@chromium.org>
2678
2679         [chromium] When rendering goes idle, do not count that time against frame rate
2680         https://bugs.webkit.org/show_bug.cgi?id=73454
2681
2682         The FPS counter had a few issues with its reporting. The first
2683         3 swapbuffers are non-blocking and create FPS rates that are
2684         unrealistically high, throwing off the moving averages and
2685         introducing false spikes into the FPS graph. There was also no
2686         way to monitor the smoothness of the animation, or to focus in
2687         on a particular animation or transition.
2688
2689         This patch updates the FPS counter code so that bad data points
2690         are trimmed and not graphed; so that the graph itself is taller
2691         and more legible; so that there is a clear boundary between 40FPS
2692         and better; and to keep statistics on frame rate between
2693         pauses in the activity in the UI so that you can trigger a
2694         transition and read off the average and standard deviation for
2695         that transition to judge it smooth enough or not.
2696
2697
2698         Reviewed by James Robinson.
2699
2700         HUD is not testable in webkit.
2701
2702         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2703         (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
2704         (WebCore::CCHeadsUpDisplay::onFrameBegin):
2705         (WebCore::CCHeadsUpDisplay::drawHudContents):
2706         (WebCore::CCHeadsUpDisplay::drawFPSCounter):
2707         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
2708
2709 2012-04-10  Zhenyao Mo  <zmo@google.com>
2710
2711         WebGLRenderingContext should defer caching program info
2712         https://bugs.webkit.org/show_bug.cgi?id=83513
2713
2714         Reviewed by Kenneth Russell.
2715
2716         * html/canvas/WebGLProgram.cpp:
2717         (WebCore::WebGLProgram::WebGLProgram):
2718         (WebCore::WebGLProgram::numActiveAttribLocations): call cacheInfoIfNeeded();
2719         (WebCore::WebGLProgram::getActiveAttribLocation): Ditto.
2720         (WebCore::WebGLProgram::isUsingVertexAttrib0): Ditto.
2721         (WebCore::WebGLProgram::getLinkStatus): Ditto.
2722         (WebCore):
2723         (WebCore::WebGLProgram::cacheActiveAttribLocations):
2724         (WebCore::WebGLProgram::cacheInfoIfNeeded): Cache link status, active attire locations, etc if needed.
2725         (WebCore::WebGLProgram::increaseLinkCount): also invalidate cached info.
2726         * html/canvas/WebGLProgram.h:
2727         (WebGLProgram):
2728         * html/canvas/WebGLRenderingContext.cpp:
2729         (WebCore):
2730         (WebCore::WebGLRenderingContext::linkProgram): Do not cache program info immediately.
2731
2732 2012-04-11  David Dorwin  <ddorwin@chromium.org>
2733
2734         Add keySystem attribute to canPlayType() for Encrypted Media Extensions
2735         https://bugs.webkit.org/show_bug.cgi?id=82973
2736
2737         Reviewed by Adam Barth.
2738
2739         The new attribute is behind the ENABLE(ENCRYPTED_MEDIA) feature define.
2740         Implementation is based on v0.1 of the draft proposal at
2741         http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html#extensions.
2742
2743         Tests: media/encrypted-media/encrypted-media-can-play-type-webm.html
2744                media/encrypted-media/encrypted-media-can-play-type.html
2745
2746         * dom/DOMImplementation.cpp:
2747         (WebCore::DOMImplementation::createDocument):
2748         * html/HTMLMediaElement.cpp:
2749         (WebCore::HTMLMediaElement::canPlayType):
2750         (WebCore::HTMLMediaElement::selectMediaResource):
2751         (WebCore::HTMLMediaElement::loadNextSourceChild):
2752         (WebCore::HTMLMediaElement::loadResource):
2753         (WebCore::HTMLMediaElement::havePotentialSourceChild):
2754         (WebCore::HTMLMediaElement::selectNextSourceChild):
2755         (WebCore::HTMLMediaElement::getPluginProxyParams):
2756         * html/HTMLMediaElement.h:
2757         (HTMLMediaElement):
2758         * html/HTMLMediaElement.idl:
2759         * platform/graphics/MediaPlayer.cpp:
2760         (WebCore):
2761         (WebCore::bestMediaEngineForTypeAndCodecs):
2762         (WebCore::MediaPlayer::load):
2763         (WebCore::MediaPlayer::loadWithNextMediaEngine):
2764         (WebCore::MediaPlayer::supportsType):
2765         (WebCore::MediaPlayer::networkStateChanged):
2766         * platform/graphics/MediaPlayer.h:
2767         (MediaPlayer):
2768         (WebCore):
2769
2770 2012-04-11  Xiaomei Ji  <xji@chromium.org>
2771
2772         [chromium] wrong justification for arabic/persian page in cr-win.
2773         https://bugs.webkit.org/show_bug.cgi?id=83227
2774
2775         Reviewed by Kent Tamura.
2776
2777         GDI used to do Kashida justification.
2778         After switch to Skia, we need to use space padding to justify the text
2779         (assume Skia can not do Kashida justification -- stretching words).
2780
2781         Test: fast/text/international/arabic-justify.html
2782
2783         * platform/graphics/chromium/UniscribeHelper.cpp:
2784         (WebCore::UniscribeHelper::justify):
2785
2786 2012-03-15  Martin Robinson  <mrobinson@igalia.com>
2787
2788         [CAIRO] Make GLContextGLX a subclass of GLContext
2789         https://bugs.webkit.org/show_bug.cgi?id=81285
2790
2791         Reviewed by Gustavo Noronha Silva.
2792
2793         No new tests. This should not change behavior.
2794
2795         * GNUmakefile.list.am: Add new GLContextGLX files.
2796         * platform/graphics/cairo/GLContext.cpp: Added. Composed of the
2797         EGL/GLX independent portions of GLContext. Made the current context
2798         a static variable so we can keep getting the current context platform-
2799         -independent.
2800         * platform/graphics/cairo/GLContext.h: Make this class an abstract
2801         class. GLContextGLX is a concrete implementation.
2802         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: Updated to reflect
2803         slightly different calling conventions to create a sharing context.
2804         * platform/graphics/glx/GLContextGLX.cpp: Updated to reflect
2805         that this code is in a subclass now.
2806         * platform/graphics/glx/GLContextGLX.h: Copied from Source/WebCore/platform/graphics/cairo/GLContext.h.
2807         * platform/graphics/gtk/GLContextGtk.cpp:
2808         (WebCore::GLContext::getContextForWidget): Updated to respect the new
2809         USE(GLX) flag.
2810
2811 2012-04-11  Rob Buis  <rbuis@rim.com>
2812
2813         [BlackBerry] Upstream BlackBerry change to PatternSkia.cpp
2814         https://bugs.webkit.org/show_bug.cgi?id=83361
2815
2816         Reviewed by Antonio Gomes.
2817
2818         Upstream a cleaned up version.
2819
2820         * platform/graphics/skia/PatternSkia.cpp:
2821         (WebCore::Pattern::platformDestroy):
2822         (WebCore::Pattern::platformPattern):
2823
2824 2012-04-10  James Robinson  <jamesr@chromium.org>
2825
2826         [chromium] Add OVERRIDE annotations for cc layer types
2827         https://bugs.webkit.org/show_bug.cgi?id=83658
2828
2829         Reviewed by Daniel Bates.
2830
2831         This adds OVERRIDE annotations to overrides of functions on these classes:
2832         - CCLayerImpl
2833         - LayerChromium
2834         - TiledLayerChromium
2835
2836         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2837         (Canvas2DLayerChromium):
2838         * platform/graphics/chromium/CanvasLayerChromium.h:
2839         (CanvasLayerChromium):
2840         * platform/graphics/chromium/ContentLayerChromium.h:
2841         (ContentLayerChromium):
2842         * platform/graphics/chromium/ImageLayerChromium.h:
2843         (ImageLayerChromium):
2844         * platform/graphics/chromium/PluginLayerChromium.h:
2845         (PluginLayerChromium):
2846         * platform/graphics/chromium/TiledLayerChromium.h:
2847         (TiledLayerChromium):
2848         * platform/graphics/chromium/VideoLayerChromium.h:
2849         (VideoLayerChromium):
2850         * platform/graphics/chromium/WebGLLayerChromium.h:
2851         (WebGLLayerChromium):
2852         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2853         (CCScrollbarLayerImpl):
2854         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
2855         (CCSolidColorLayerImpl):
2856         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
2857         (CCTextureLayerImpl):
2858         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2859         (CCTiledLayerImpl):
2860         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2861         (CCVideoLayerImpl):
2862
2863 2012-04-11  Alexey Proskuryakov  <ap@apple.com>
2864
2865         [Mac] lang, xml:lang, content-language ignored when choosing fonts
2866         https://bugs.webkit.org/show_bug.cgi?id=10874
2867         <rdar://problem/3220202>
2868
2869         Reviewed by Dan Bernstein.
2870
2871         Adding a default font table for Mac port. Clients can still override these if they want to,
2872         but knowing which fonts to use is more about the platform than about the client.
2873
2874         Tests: platform/mac/fonts/han-disunification.html
2875
2876         * DerivedSources.make:
2877         * WebCore.xcodeproj/project.pbxproj:
2878         * Resources/DefaultFonts.plist.in: Added.
2879         Added SettingsMac.mm. Added preprocessed property list with default fonts.
2880
2881         * page/Settings.cpp:
2882         (WebCore::setGenericFontFamilyMap): Don't notify the page if we don't have one yet.
2883         (WebCore::Settings::Settings): Assign to m_page after calling initializeDefaultFontFamilies,
2884         so that we won't try to call page->setNeedsRecalcStyleInAllFrames() in a half-initialized
2885         Page that's creating settings.
2886         (WebCore::Settings::initializeDefaultFontFamilies): Dummy imlplementation for ports that
2887         rely on client to set defaults.
2888
2889         * page/Settings.h: Added initializeDefaultFontFamilies().
2890
2891         * page/mac/SettingsMac.mm: Added.
2892         (WebCore::defaultFontFamilyDictionary):
2893         (WebCore::Settings::initializeDefaultFontFamilies):
2894         Load defaults from a plist file inside WebCore framework.
2895
2896 2012-04-11  Antti Koivisto  <antti@apple.com>
2897
2898         Crash in CSSStyleSheet::deleteRule
2899         https://bugs.webkit.org/show_bug.cgi?id=83708
2900
2901         Reviewed by Andreas Kling.
2902         
2903         Andreas spotted that the wrapper needs to be null checked before calling setParentStyleSheet(0).
2904
2905         Test: fast/css/delete-rule-crash.html
2906
2907         * css/CSSStyleSheet.cpp:
2908         (WebCore::CSSStyleSheet::deleteRule):
2909
2910 2012-04-11  Adam Klein  <adamk@chromium.org>
2911
2912         [MutationObservers] Setting an attributeFilter should filter out all namespaced attribute mutations
2913         https://bugs.webkit.org/show_bug.cgi?id=83706
2914
2915         Reviewed by Ryosuke Niwa.
2916
2917         The patch amounts to plumbing QualifiedName all the way down to shouldReceiveMutationFrom
2918         as it now needs to know about namespaceURI as well as localName.
2919
2920         This change is coming soon to the DOM4 spec, see
2921         https://www.w3.org/Bugs/Public/show_bug.cgi?id=16563 for more discussion.
2922
2923         * dom/MutationObserverInterestGroup.cpp:
2924         (WebCore::MutationObserverInterestGroup::createIfNeeded):
2925         * dom/MutationObserverInterestGroup.h:
2926         (WebCore::MutationObserverInterestGroup::createForChildListMutation):
2927         (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
2928         (WebCore::MutationObserverInterestGroup::createForAttributesMutation):
2929         (MutationObserverInterestGroup):
2930         * dom/MutationObserverRegistration.cpp:
2931         (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
2932         * dom/MutationObserverRegistration.h:
2933         (WebCore):
2934         (MutationObserverRegistration):
2935         * dom/Node.cpp:
2936         (WebCore::Node::collectMatchingObserversForMutation):
2937         (WebCore::Node::getRegisteredMutationObserversOfType):
2938         * dom/Node.h:
2939         (Node):
2940
2941 2012-04-11  Wei James  <james.wei@intel.com>
2942
2943         add stereo source support in EqualPowerPanner
2944         https://bugs.webkit.org/show_bug.cgi?id=81092
2945
2946         Reviewed by Chris Rogers.
2947
2948         Test: webaudio/panner-equalpower-stereo.html
2949
2950         * platform/audio/EqualPowerPanner.cpp:
2951         (WebCore::EqualPowerPanner::pan):
2952
2953 2012-04-11  Erik Arvidsson  <arv@chromium.org>
2954
2955         StyleElement ownerNode is not cleared correctly
2956         https://bugs.webkit.org/show_bug.cgi?id=83696
2957
2958         Reviewed by Antti Koivisto.
2959
2960         When the css text changes in such a way that we remove the sheet of a style element or a link[rel=stylesheet]
2961         element we need to ensure that the ownerNode of the sheet is cleared. If we don't do this and there is a
2962         wrapper for the sheet the sheet is kept alive but the ownerNode of the sheet may point to a deleted node.
2963
2964         Tests: fast/dom/StyleSheet/detached-sheet-owner-node-link.html
2965                fast/dom/StyleSheet/detached-sheet-owner-node.html
2966
2967         * dom/StyleElement.cpp:
2968         (WebCore::StyleElement::removedFromDocument):
2969         (WebCore::StyleElement::clearSheet):
2970         (WebCore):
2971         (WebCore::StyleElement::createSheet):
2972         * dom/StyleElement.h:
2973         (StyleElement):
2974         * html/HTMLLinkElement.cpp:
2975         (WebCore::HTMLLinkElement::process):
2976         (WebCore::HTMLLinkElement::clearSheet):
2977         (WebCore):
2978         * html/HTMLLinkElement.h:
2979         (HTMLLinkElement):
2980
2981 2012-04-11  David Hyatt  <hyatt@apple.com>
2982
2983         https://bugs.webkit.org/show_bug.cgi?id=83614
2984         <rdar://problem/11177351>
2985         
2986         REGRESSION: Table on wikipedia overlaps float on right hand side.
2987         
2988         Revise how auto margins are resolved so that for objects that avoid floats, the available line
2989         width is always used instead of the overall containing block width. computeLogicalWidth now
2990         always properly computes inline margins (based off the object's current logicalTop() position)
2991         and so the code in computeStartPositionDeltaForChildAvoidingFloats that recomputes inline
2992         direction margins can now be removed.
2993         
2994         Reviewed by Dan Bernstein.
2995
2996         Added new test in fast/block/float.
2997
2998         * rendering/RenderBlock.cpp:
2999         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
3000         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
3001         * rendering/RenderBlock.h:
3002         (RenderBlock):
3003         * rendering/RenderBox.cpp:
3004         (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
3005         (WebCore):
3006         (WebCore::RenderBox::computeLogicalWidthInRegion):
3007         (WebCore::RenderBox::renderBoxRegionInfo):
3008         (WebCore::RenderBox::shrinkToAvoidFloats):
3009         * rendering/RenderBox.h:
3010         (RenderBox):
3011         * rendering/RenderTable.cpp:
3012         (WebCore::RenderTable::computeLogicalWidth):
3013
3014 2012-04-11  Adrienne Walker  <enne@google.com>
3015
3016         Fix regression where a clip style change did not update layer sizes
3017         https://bugs.webkit.org/show_bug.cgi?id=82990
3018
3019         Reviewed by Simon Fraser.
3020
3021         After r111456, the size of composited layers also used clip, whereas
3022         it previously had only used overflow. Because of this, when clip
3023         changes on a render layer, it needs to recalculate its layer tree.
3024
3025         Test: compositing/clip-change.html
3026
3027         * rendering/RenderLayer.cpp:
3028         (WebCore::RenderLayer::styleChanged):
3029
3030 2012-04-11  Antti Koivisto  <antti@apple.com>
3031
3032         V8 bindings are polluting WebCore namespace with overly generic FooInternal namespaces
3033         https://bugs.webkit.org/show_bug.cgi?id=83699
3034
3035         Reviewed by Adam Barth.
3036
3037         Call them FooV8Internal instead.
3038
3039         * bindings/scripts/CodeGeneratorV8.pm:
3040         (GetFunctionTemplateCallbackName):
3041         (GenerateSingleBatchedAttribute):
3042         (GenerateImplementation):
3043
3044 2012-04-11  James Robinson  <jamesr@chromium.org>
3045
3046         [chromium] Add OVERRIDE annotations for cc animation-related interfaces
3047         https://bugs.webkit.org/show_bug.cgi?id=83650
3048
3049         Reviewed by Daniel Bates.
3050
3051         This adds OVERRIDE annotations to the implementations of the following interfaces:
3052         - CCAnimationCurve
3053         - CCFloatAnimationCurve
3054         - CCLayerAnimationControllerClient
3055         - CCTransformAnimationCurve
3056
3057         * platform/graphics/chromium/LayerChromium.h:
3058         * platform/graphics/chromium/cc/CCTimingFunction.h:
3059         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h:
3060         (CCKeyframedFloatAnimationCurve):
3061         (CCKeyframedTransformAnimationCurve):
3062         * platform/graphics/chromium/cc/CCLayerImpl.h:
3063
3064 2012-04-11  Philip Rogers  <pdr@google.com>
3065
3066         Fix bug where stroke's bounding box was clipped
3067         https://bugs.webkit.org/show_bug.cgi?id=83651
3068
3069         Reviewed by Dirk Schulze.
3070
3071         This change contains two fixes for one bug:
3072         1) FloatRect::contains contained a nasty mistake where
3073            maxy() < y() was compared instead of maxy() < point.y().
3074         2) RenderSVGShape::strokeContains was depending on its internal
3075            m_strokeAndMarkerBoundingBox instead of calling the virtual
3076            method strokeBoundingBox(). This change switches to using
3077            strokeBoundingBox().
3078
3079         Test: svg/hittest/svg-ellipse-rect-stroke.xhtml
3080
3081         * platform/graphics/FloatRect.cpp:
3082         (WebCore::FloatRect::contains):
3083         * rendering/svg/RenderSVGShape.cpp:
3084         (WebCore::RenderSVGShape::strokeContains):
3085
3086 2012-04-11  Kentaro Hara  <haraken@chromium.org>
3087
3088         Enable the [Supplemental] IDL on BlackBerry
3089         https://bugs.webkit.org/show_bug.cgi?id=75413
3090
3091         Reviewed by Rob Buis.
3092
3093         This patch enables the [Supplemental] IDL on BlackBerry by changing the build
3094         flow of BlackBerry as follows.
3095
3096         - Previous build flow:
3097             foreach $idl (all IDL files) {
3098                 generate-bindings.pl depends on $idl;
3099                 generate-bindings.pl reads $idl;
3100                 generate-bindings.pl generates .h and .cpp files for $idl;
3101             }
3102
3103         - New build flow (See the discussions in bug 72138 for more details):
3104             preprocess-idls.pl depends on all IDL files;
3105             preprocess-idls.pl reads all IDL files;
3106             preprocess-idls.pl resolves the dependency of [Supplemental=XXXX];
3107             preprocess-idls.pl outputs supplemental_dependency.tmp;
3108             foreach $idl (all IDL files) {
3109                 generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
3110                 generate-bindings.pl reads $idl;
3111                 generate-bindings.pl reads supplemental_dependency.tmp;
3112                 generate-bindings.pl generates .h and .cpp files for $idl,
3113                     including all attributes in the IDL files that are implementing $idl;
3114             }
3115
3116         Tests: Confirm that build succeeds.
3117                http/tests/websocket/tests/*
3118
3119         * PlatformBlackBerry.cmake: This change is similar to the change we have done for
3120         UseJSC.cmake and UseV8.cmake (bug 75345).
3121
3122 2012-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>
3123
3124         Unreviewed, rolling out r113872.
3125         http://trac.webkit.org/changeset/113872
3126         https://bugs.webkit.org/show_bug.cgi?id=83703
3127
3128         broke chromium win/mac builds (Requested by simonjam on
3129         #webkit).
3130
3131         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3132         (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
3133         (WebCore::CCHeadsUpDisplay::initializeFonts):
3134         (WebCore::CCHeadsUpDisplay::onFrameBegin):
3135         (WebCore::CCHeadsUpDisplay::drawHudContents):
3136         (WebCore::CCHeadsUpDisplay::drawFPSCounter):
3137         (WebCore::CCHeadsUpDisplay::drawFPSCounterText):
3138         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
3139         (CCHeadsUpDisplay):
3140
3141 2012-04-11  Aaron Colwell  <acolwell@chromium.org>
3142
3143         Remove webkit prefix from Media Source runtime feature name.
3144         https://bugs.webkit.org/show_bug.cgi?id=83633
3145
3146         Reviewed by Adam Barth.
3147
3148         * bindings/generic/RuntimeEnabledFeatures.h:
3149         (WebCore::RuntimeEnabledFeatures::mediaSourceEnabled):
3150         (WebCore::RuntimeEnabledFeatures::setMediaSourceEnabled):
3151         * html/HTMLMediaElement.idl:
3152
3153 2012-04-11  No'am Rosenthal  <noam.rosenthal@nokia.com>
3154
3155         Single ShareableBitmap revision blacks out WebView on Harmattan
3156         https://bugs.webkit.org/show_bug.cgi?id=83631
3157
3158         When swizzling is not supported in the driver, we need to initialize the texture as RGBA,
3159         and make sure that the manual swizzling only modifies the sub-image.
3160
3161         Rubber stamped by Kenneth Rohde Christiansen.
3162
3163         Covered by existing tests.
3164
3165         * platform/graphics/texmap/TextureMapperGL.cpp:
3166         (WebCore::swizzleBGRAToRGBA):
3167         (WebCore::BitmapTextureGL::didReset):
3168         (WebCore):
3169         (WebCore::BitmapTextureGL::updateContents):
3170
3171 2012-04-11  Alex Nicolaou  <anicolao@chromium.org>
3172
3173         [chromium] When rendering goes idle, do not count that time against frame rate
3174         https://bugs.webkit.org/show_bug.cgi?id=73454
3175
3176         The FPS counter had a few issues with its reporting. The first
3177         3 swapbuffers are non-blocking and create FPS rates that are
3178         unrealistically high, throwing off the moving averages and
3179         introducing false spikes into the FPS graph. There was also no
3180         way to monitor the smoothness of the animation, or to focus in
3181         on a particular animation or transition.
3182
3183         This patch updates the FPS counter code so that bad data points
3184         are trimmed and not graphed; so that the graph itself is taller
3185         and more legible; so that there is a clear boundary between 40FPS
3186         and better; and to keep statistics on frame rate between
3187         pauses in the activity in the UI so that you can trigger a
3188         transition and read off the average and standard deviation for
3189         that transition to judge it smooth enough or not.
3190
3191
3192         Reviewed by James Robinson.
3193
3194         HUD is not testable in webkit.
3195
3196         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3197         (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
3198         (WebCore::CCHeadsUpDisplay::onFrameBegin):
3199         (WebCore::CCHeadsUpDisplay::drawHudContents):
3200         (WebCore::CCHeadsUpDisplay::drawFPSCounter):
3201         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
3202
3203 2012-04-11  Adrienne Walker  <enne@google.com>
3204
3205         [chromium] Draw missing layer tile checkerboards as checkerboards
3206         https://bugs.webkit.org/show_bug.cgi?id=83241
3207
3208         Reviewed by James Robinson.
3209
3210         For non-Android platforms, draw missing tile checkerboards as actual
3211         checkerboards. Use a shader to do this so that no texture uploads are
3212         needed. This only happens on the non-composited content host to avoid
3213         having unexpected (or transformed and aliased) checkerboards on other
3214         content layers.
3215
3216         * WebCore.gypi:
3217         * platform/graphics/chromium/LayerChromium.cpp:
3218         (WebCore::LayerChromium::LayerChromium):
3219         (WebCore::LayerChromium::pushPropertiesTo):
3220         * platform/graphics/chromium/LayerChromium.h:
3221         (WebCore::LayerChromium::setDrawCheckerboardForMissingTiles):
3222         (WebCore::LayerChromium::drawCheckerboardForMissingTiles):
3223         (LayerChromium):
3224         * platform/graphics/chromium/LayerRendererChromium.cpp:
3225         (WebCore::LayerRendererChromium::drawQuad):
3226         (WebCore::LayerRendererChromium::drawCheckerboardQuad):
3227         (WebCore):
3228         (WebCore::LayerRendererChromium::checkerboardProgram):
3229         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3230         * platform/graphics/chromium/LayerRendererChromium.h:
3231         (LayerRendererChromium):
3232         * platform/graphics/chromium/ShaderChromium.cpp:
3233         (WebCore::FragmentShaderCheckerboard::FragmentShaderCheckerboard):
3234         (WebCore):
3235         (WebCore::FragmentShaderCheckerboard::init):
3236         (WebCore::FragmentShaderCheckerboard::getShaderString):
3237         * platform/graphics/chromium/ShaderChromium.h:
3238         (FragmentShaderCheckerboard):
3239         (WebCore::FragmentShaderCheckerboard::alphaLocation):
3240         (WebCore::FragmentShaderCheckerboard::texTransformLocation):
3241         (WebCore::FragmentShaderCheckerboard::frequencyLocation):
3242         (WebCore):
3243         * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.h.
3244         (WebCore):
3245         (WebCore::CCCheckerboardDrawQuad::create):
3246         (WebCore::CCCheckerboardDrawQuad::CCCheckerboardDrawQuad):
3247         * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.h.
3248         (WebCore):
3249         (CCCheckerboardDrawQuad):
3250         * platform/graphics/chromium/cc/CCDrawQuad.cpp:
3251         (WebCore::CCDrawQuad::toCheckerboardDrawQuad):
3252         (WebCore):
3253         * platform/graphics/chromium/cc/CCDrawQuad.h:
3254         (WebCore):
3255         (CCDrawQuad):
3256         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3257         (WebCore::CCLayerImpl::CCLayerImpl):
3258         * platform/graphics/chromium/cc/CCLayerImpl.h:
3259         (CCLayerImpl):
3260         (WebCore::CCLayerImpl::setDrawCheckerboardForMissingTiles):
3261         (WebCore::CCLayerImpl::drawCheckerboardForMissingTiles):
3262         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3263         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
3264         * platform/graphics/chromium/cc/CCRenderPass.cpp:
3265         (WebCore::CCRenderPass::appendQuadsForLayer):
3266         * platform/graphics/chromium/cc/CCRenderPass.h:
3267         (CCRenderPass):
3268         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
3269         (CCScrollbarLayerImpl):
3270         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
3271         (CCSolidColorLayerImpl):
3272         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
3273         (CCTextureLayerImpl):
3274         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
3275         (WebCore::CCTiledLayerImpl::appendQuads):
3276         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
3277         (CCTiledLayerImpl):
3278         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
3279         (CCVideoLayerImpl):
3280
3281 2012-04-11  Joe Mason  <jmason@rim.com>
3282
3283         [BlackBerry] Update to the thread-safe GuardedPointer API
3284         https://bugs.webkit.org/show_bug.cgi?id=83603
3285
3286         Reviewed by Rob Buis.
3287
3288         RIM PR: 134894
3289         Make the destructors of all objects inheriting GuardedPointerBase protected or
3290         private, and delete them using BlackBerry::Platform::deleteGuardedObject.
3291         Access all GuardedPointers through GuardedPointerLocker. Use GuardedPointerDeleter
3292         to delete LayerCompositingThread to avoid a deadlock.
3293
3294         No new tests, refactor.
3295
3296         Reviewed internally by Yong Li and George Staikos.
3297
3298         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
3299         (WebCore::CookieDatabaseBackingStore::~CookieDatabaseBackingStore):
3300         * platform/blackberry/CookieManager.h:
3301         * platform/graphics/blackberry/LayerCompositingThread.cpp:
3302         * platform/graphics/blackberry/LayerCompositingThread.h:
3303         (LayerCompositingThread):
3304         (WTF::::deref):
3305         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
3306         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
3307
3308 2012-04-11  Andras Becsi  <andras.becsi@nokia.com>
3309
3310         [Qt] Fix the build on OpenGL ES2 platforms
3311
3312         Unreviewed build fix.
3313
3314         No new tests needed.
3315
3316         * platform/graphics/texmap/TextureMapperGL.cpp:
3317         (WebCore::BitmapTextureGL::updateContents):
3318         Fix typo in TEXMAP_OPENGL_ES_2 define.
3319
3320 2012-04-11  Ami Fischman  <fischman@chromium.org>
3321
3322         Remove unused WebVideoFrame::Format values
3323         https://bugs.webkit.org/show_bug.cgi?id=83625
3324
3325         Reviewed by Kenneth Russell.
3326
3327         Covered by existing tests.
3328
3329         * platform/graphics/chromium/VideoFrameChromium.h:
3330         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3331         (WebCore::convertVFCFormatToGC3DFormat):
3332
3333 2012-04-11  Pavel Feldman  <pfeldman@chromium.org>
3334
3335         Web Inspector: extracting NetworkRequest from Resource (step 1)
3336         https://bugs.webkit.org/show_bug.cgi?id=83684
3337
3338         Reviewed by Yury Semikhatsky.
3339
3340         Meta bug: https://bugs.webkit.org/show_bug.cgi?id=61363.
3341         In this step, NetworkRequest is introduced. It temporarily inherits from
3342         the Resource, but all the call sites are now referring to it as to request.
3343
3344         * WebCore.gypi:
3345         * WebCore.vcproj/WebCore.vcproj:
3346         * inspector/compile-front-end.py:
3347         * inspector/front-end/ApplicationCacheItemsView.js:
3348         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
3349         * inspector/front-end/AuditLauncherView.js:
3350         (WebInspector.AuditLauncherView):
3351         (WebInspector.AuditLauncherView.prototype._onRequestStarted):
3352         (WebInspector.AuditLauncherView.prototype._onRequestFinished):
3353         * inspector/front-end/AuditRules.js:
3354         (WebInspector.AuditRules.getDomainToResourcesMap):
3355         (WebInspector.AuditRules.GzipRule.prototype.doRun):
3356         (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
3357         (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
3358         (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
3359         (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
3360         (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
3361         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
3362         (WebInspector.AuditRules.CacheControlRule.prototype.doRun):
3363         (WebInspector.AuditRules.CacheControlRule.prototype.handleNonCacheableResources):
3364         (WebInspector.AuditRules.CacheControlRule.prototype._cacheableAndNonCacheableResources):
3365         (WebInspector.AuditRules.CacheControlRule.prototype.execCheck):
3366         (WebInspector.AuditRules.CacheControlRule.prototype.freshnessLifetimeGreaterThan):
3367         (WebInspector.AuditRules.CacheControlRule.prototype.responseHeader):
3368         (WebInspector.AuditRules.CacheControlRule.prototype.hasResponseHeader):
3369         (WebInspector.AuditRules.CacheControlRule.prototype.isCompressible):
3370         (WebInspector.AuditRules.CacheControlRule.prototype.isPubliclyCacheable):
3371         (WebInspector.AuditRules.CacheControlRule.prototype.responseHeaderMatch):
3372         (WebInspector.AuditRules.CacheControlRule.prototype.hasExplicitExpiration):
3373         (WebInspector.AuditRules.CacheControlRule.prototype._isExplicitlyNonCacheable):
3374         (WebInspector.AuditRules.CacheControlRule.prototype.isCacheableResource):
3375         (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources):
3376         (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks):
3377         (WebInspector.AuditRules.BrowserCacheControlRule.prototype._missingExpirationCheck):
3378         (WebInspector.AuditRules.BrowserCacheControlRule.prototype._varyCheck):
3379         (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneMonthExpirationCheck):
3380         (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneYearExpirationCheck):
3381         (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks):
3382         (WebInspector.AuditRules.ProxyCacheControlRule.prototype._questionMarkCheck):
3383         (WebInspector.AuditRules.ProxyCacheControlRule.prototype._publicCachingCheck):
3384         (WebInspector.AuditRules.ProxyCacheControlRule.prototype._setCookieCacheableCheck):
3385         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
3386         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
3387         (WebInspector.AuditRules.CookieRuleBase.prototype.mapResourceCookies):
3388         (WebInspector.AuditRules.CookieRuleBase.prototype._callbackForResourceCookiePairs):
3389         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
3390         (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
3391         (WebInspector.AuditRules.StaticCookielessRule.prototype._collectorCallback):
3392         * inspector/front-end/AuditsPanel.js:
3393         (WebInspector.AuditsPanel.prototype._executeAudit):
3394         (WebInspector.AuditCategory.prototype.run):
3395         (WebInspector.AuditRule.prototype.run):
3396         (WebInspector.AuditRule.prototype.doRun):
3397         * inspector/front-end/ConsoleMessage.js:
3398         * inspector/front-end/ConsoleModel.js:
3399         (WebInspector.ConsoleDispatcher.prototype.messageAdded):
3400         * inspector/front-end/ContentProviders.js:
3401         (WebInspector.ResourceContentProvider):
3402         (WebInspector.ResourceContentProvider.prototype.requestContent):
3403         (WebInspector.ResourceContentProvider.prototype.searchInContent):
3404         * inspector/front-end/DebuggerPresentationModel.js:
3405         * inspector/front-end/ExtensionServer.js:
3406         (WebInspector.ExtensionServer.prototype._onGetHAR):
3407         (WebInspector.ExtensionServer.prototype._notifyRequestFinished):
3408         * inspector/front-end/HAREntry.js:
3409         (WebInspector.HAREntry):
3410         (WebInspector.HAREntry.prototype.build):
3411         (WebInspector.HAREntry.prototype._buildRequest):
3412         (WebInspector.HAREntry.prototype._buildResponse):
3413         (WebInspector.HAREntry.prototype._buildContent):
3414         (WebInspector.HAREntry.prototype._buildTimings):
3415         (WebInspector.HAREntry.prototype._buildPostData):
3416         (WebInspector.HAREntry.prototype._buildCookie):
3417         (WebInspector.HAREntry.prototype._interval):
3418         (WebInspector.HAREntry.prototype.get requestBodySize):
3419         (WebInspector.HAREntry.prototype.get responseBodySize):
3420         (WebInspector.HAREntry.prototype.get responseCompression):
3421         (WebInspector.HARLog):
3422         (WebInspector.HARLog.prototype.build):
3423         (WebInspector.HARLog.prototype._buildPages):
3424         (WebInspector.HARLog.prototype._convertResource):
3425         * inspector/front-end/NetworkItemView.js:
3426         (WebInspector.NetworkItemView):
3427         * inspector/front-end/NetworkLog.js:
3428         (WebInspector.NetworkLog):
3429         (WebInspector.NetworkLog.prototype.get requests):
3430         (WebInspector.NetworkLog.prototype.pageLoadForRequest):
3431         (WebInspector.NetworkLog.prototype._onMainFrameNavigated):
3432         (WebInspector.NetworkLog.prototype._onRequestStarted):
3433         (WebInspector.NetworkLog.prototype._onLoad):
3434         (WebInspector.PageLoad):
3435         * inspector/front-end/NetworkManager.js:
3436         (WebInspector.NetworkManager.get this):
3437         (WebInspector.NetworkManager.get NetworkAgent):
3438         (WebInspector.NetworkManager):
3439         (WebInspector.NetworkManager.prototype.inflightRequestForURL):
3440         (WebInspector.NetworkDispatcher):
3441         (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithRequest):
3442         (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):
3443         (WebInspector.NetworkDispatcher.prototype._mimeTypeIsConsistentWithType):
3444         (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithCachedResource):
3445         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
3446         (WebInspector.NetworkDispatcher.prototype.requestServedFromCache):
3447         (WebInspector.NetworkDispatcher.prototype.responseReceived):
3448         (WebInspector.NetworkDispatcher.prototype.dataReceived):
3449         (WebInspector.NetworkDispatcher.prototype.loadingFinished):
3450         (WebInspector.NetworkDispatcher.prototype.loadingFailed):
3451         (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
3452         (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
3453         (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
3454         (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
3455         (WebInspector.NetworkDispatcher.prototype.webSocketClosed):
3456         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
3457         (WebInspector.NetworkDispatcher.prototype._startNetworkRequest):
3458         (WebInspector.NetworkDispatcher.prototype._updateNetworkRequest):
3459         (WebInspector.NetworkDispatcher.prototype._finishNetworkRequest):
3460         (WebInspector.NetworkDispatcher.prototype._dispatchEventToListeners):
3461         (WebInspector.NetworkDispatcher.prototype._createNetworkRequest):
3462         (get WebInspector):
3463         * inspector/front-end/NetworkPanel.js:
3464         (WebInspector.NetworkLogView.prototype._initializeView):
3465         (WebInspector.NetworkLogView.prototype.get statusBarItems):
3466         (WebInspector.NetworkLogView.prototype._createSortingFunctions):
3467         (WebInspector.NetworkLogView.prototype._updateSummaryBar):
3468         (WebInspector.NetworkLogView.prototype._updateDividersIfNeeded):
3469         (WebInspector.NetworkLogView.prototype._invalidateAllItems):
3470         (WebInspector.NetworkLogView.prototype._requestGridNode):
3471         (WebInspector.NetworkLogView.prototype._createRequestGridNode):
3472         (WebInspector.NetworkLogView.prototype._onLoadEventFired):
3473         (WebInspector.NetworkLogView.prototype._domContentLoadedEventFired):
3474         (WebInspector.NetworkLogView.prototype.refresh):
3475         (WebInspector.NetworkLogView.prototype._reset):
3476         (WebInspector.NetworkLogView.prototype.get requests):
3477         (WebInspector.NetworkLogView.prototype.requestById):
3478         (WebInspector.NetworkLogView.prototype._onRequestStarted):
3479         (WebInspector.NetworkLogView.prototype._appendRequest):
3480         (WebInspector.NetworkLogView.prototype._onRequestUpdated):
3481         (WebInspector.NetworkLogView.prototype._refreshRequest):
3482         (WebInspector.NetworkLogView.prototype._mainFrameNavigated):
3483         (WebInspector.NetworkLogView.prototype.get _setLargerRequests):
3484         (WebInspector.NetworkLogView.prototype._getPopoverAnchor):
3485         (WebInspector.NetworkLogView.prototype._showPopover):
3486         (WebInspector.NetworkLogView.prototype._contextMenu):
3487         (WebInspector.NetworkLogView.prototype._copyAll):
3488         (WebInspector.NetworkLogView.prototype._copyRequest):
3489         (WebInspector.NetworkLogView.prototype._copyLocation):
3490         (WebInspector.NetworkLogView.prototype._copyRequestHeaders):
3491         (WebInspector.NetworkLogView.prototype._copyResponseHeaders):
3492         (WebInspector.NetworkLogView.prototype._exportAll):
3493         (WebInspector.NetworkLogView.prototype._exportRequest):
3494         (WebInspector.NetworkLogView.prototype._matchRequest):
3495         (WebInspector.NetworkLogView.prototype._clearSearchMatchedList):
3496         (WebInspector.NetworkLogView.prototype._updateSearchMatchedListAfterRequestIdChanged):
3497         (WebInspector.NetworkLogView.prototype._updateHighlightIfMatched):
3498         (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequest):
3499         (WebInspector.NetworkLogView.prototype.performSearch):
3500         (WebInspector.NetworkLogView.prototype.jumpToPreviousSearchResult):
3501         (WebInspector.NetworkLogView.prototype.jumpToNextSearchResult):
3502         (WebInspector.NetworkLogView.prototype.revealAndHighlightRequest):
3503         (WebInspector.NetworkPanel.prototype.handleShortcut):
3504         (WebInspector.NetworkPanel.prototype.get requests):
3505         (WebInspector.NetworkPanel.prototype.requestById):
3506         (WebInspector.NetworkPanel.prototype._requestByAnchor):
3507         (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
3508         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
3509         (WebInspector.NetworkPanel.prototype.revealAndHighlightRequest):
3510         (WebInspector.NetworkPanel.prototype._onViewCleared):
3511         (WebInspector.NetworkPanel.prototype._onRequestSelected):
3512         (WebInspector.NetworkPanel.prototype._showRequest):
3513         (WebInspector.NetworkPanel.prototype._closeVisibleRequest):
3514         (WebInspector.NetworkPanel.prototype._toggleGridMode):
3515         (WebInspector.NetworkPanel.prototype._toggleViewingRequestMode):
3516         (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphPercentages):
3517         (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphLabels):
3518         (WebInspector.NetworkTimeCalculator.prototype.updateBoundaries):
3519         (WebInspector.NetworkTimeCalculator.prototype._lowerBound):
3520         (WebInspector.NetworkTimeCalculator.prototype._upperBound):
3521         (WebInspector.NetworkTransferTimeCalculator.prototype._lowerBound):
3522         (WebInspector.NetworkTransferTimeCalculator.prototype._upperBound):
3523         (WebInspector.NetworkTransferDurationCalculator.prototype._upperBound):
3524         (WebInspector.NetworkDataGridNode):
3525         (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
3526         (WebInspector.NetworkDataGridNode.prototype.select):
3527         (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
3528         (WebInspector.NetworkDataGridNode.prototype.get selectable):
3529         (WebInspector.NetworkDataGridNode.prototype._createTimelineCell):
3530         (WebInspector.NetworkDataGridNode.prototype.refreshRequest):
3531         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
3532         (WebInspector.NetworkDataGridNode.prototype._fileName):
3533         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
3534         (WebInspector.NetworkDataGridNode.prototype._refreshTypeCell):
3535         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
3536         (WebInspector.NetworkDataGridNode.prototype._refreshSizeCell):
3537         (WebInspector.NetworkDataGridNode.prototype._refreshTimeCell):
3538         (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
3539         (WebInspector.NetworkDataGridNode.NameComparator):
3540         (WebInspector.NetworkDataGridNode.SizeComparator):
3541         (WebInspector.NetworkDataGridNode.InitiatorComparator):
3542         (WebInspector.NetworkDataGridNode.RequestPropertyComparator):
3543         * inspector/front-end/NetworkRequest.js: Added.
3544         (WebInspector.NetworkRequest):
3545         * inspector/front-end/RawSourceCode.js:
3546         (WebInspector.RawSourceCode):
3547         (WebInspector.RawSourceCode.prototype._requestFinished):
3548         (WebInspector.RawSourceCode.prototype._createContentProvider):
3549         * inspector/front-end/Resource.js:
3550         (WebInspector.Resource):
3551         (WebInspector.Resource.displayName):
3552         (WebInspector.Resource.prototype.get request):
3553         (WebInspector.Resource.prototype.set finished):
3554         (WebInspector.Resource.prototype.set timing):
3555         (WebInspector.Resource.prototype.set requestHeaders):
3556         (WebInspector.Resource.prototype.set requestHeadersText):
3557         (WebInspector.Resource.prototype.set responseHeaders):
3558         (WebInspector.Resource.prototype.set responseHeadersText):
3559         (WebInspector.Resource.prototype.requestContent):
3560         * inspector/front-end/ResourceCookiesView.js:
3561         (WebInspector.ResourceCookiesView):
3562         (WebInspector.ResourceCookiesView.prototype.get _gotCookies):
3563         (WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
3564         * inspector/front-end/ResourceHeadersView.js:
3565         (WebInspector.ResourceHeadersView):
3566         (WebInspector.ResourceHeadersView.prototype._refreshURL):
3567         (WebInspector.ResourceHeadersView.prototype._refreshQueryString):
3568         (WebInspector.ResourceHeadersView.prototype._refreshUrlFragment):
3569         (WebInspector.ResourceHeadersView.prototype._refreshFormData):
3570         (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
3571         (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
3572         (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
3573         * inspector/front-end/ResourceScriptMapping.js:
3574         (WebInspector.ResourceScriptMapping.prototype.addScript):
3575         * inspector/front-end/ResourceTimingView.js:
3576         (WebInspector.ResourceTimingView):
3577         (WebInspector.ResourceTimingView.prototype.wasShown):
3578         (WebInspector.ResourceTimingView.prototype._refresh):
3579         (WebInspector.ResourceTimingView.createTimingTable):
3580         * inspector/front-end/ResourceTreeModel.js:
3581         (WebInspector.ResourceTreeModel):
3582         (WebInspector.ResourceTreeModel.prototype._frontendReused):
3583         (WebInspector.ResourceTreeModel.prototype._onRequestUpdated):
3584         (WebInspector.ResourceTreeModel.prototype._onRequestUpdateDropped):
3585         (WebInspector.ResourceTreeModel.prototype._createResource):
3586         (WebInspector.ResourceTreeFrame):
3587         (WebInspector.ResourceTreeFrame.prototype._addRequest):
3588         * inspector/front-end/ResourceUtils.js:
3589         * inspector/front-end/ResourcesPanel.js:
3590         (WebInspector.FrameResourceTreeElement.prototype._appendOpenInNetworkPanelAction):
3591         * inspector/front-end/WebKit.qrc:
3592         * inspector/front-end/externs.js:
3593         (WebInspector.networkRequestById):
3594         * inspector/front-end/inspector.html:
3595         * inspector/front-end/inspector.js:
3596         (WebInspector.networkRequestById):
3597         (WebInspector.openRequestInNetworkPanel):
3598
3599 2012-04-11  Pavel Feldman  <pfeldman@chromium.org>
3600
3601         Web Inspector: fix category -> type refactoring implications.
3602         https://bugs.webkit.org/show_bug.cgi?id=83680
3603
3604         Reviewed by Yury Semikhatsky.
3605
3606         We are now using type identifiers (singulars) as opposed to category identifier (plurals) in the style.
3607
3608         * inspector/front-end/NetworkPanel.js:
3609         (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems.createFilterElement):
3610         (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems):
3611         (WebInspector.NetworkLogView.prototype._showCategory):
3612         (WebInspector.NetworkLogView.prototype._hideCategory):
3613         (WebInspector.NetworkLogView.prototype._filter):
3614         (WebInspector.NetworkDataGridNode.prototype.refreshResource):
3615         (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
3616         * inspector/front-end/ResourcesPanel.js:
3617         (WebInspector.FrameResourceTreeElement):
3618         (WebInspector.ResourceRevisionTreeElement):
3619         * inspector/front-end/networkLogView.css:
3620         (.network-log-grid.data-grid .network-type-script .icon):
3621         (.network-log-grid.data-grid.small .network-type-script .icon):
3622         (.network-log-grid.data-grid .network-type-document .icon):
3623         (.network-log-grid.data-grid.small .network-type-document .icon):
3624         (.network-log-grid.data-grid .network-type-stylesheet .icon):
3625         (.network-log-grid.data-grid.small .network-type-stylesheet .icon):
3626         (.network-log-grid.data-grid .network-type-image .icon):
3627         (.network-log-grid.data-grid.small .network-type-image .icon):
3628         (.network-type-document .network-graph-bar):
3629         (.network-type-document.resource-cached .network-graph-bar):
3630         (.network-type-stylesheet .network-graph-bar):
3631         (.network-type-stylesheet.resource-cached .network-graph-bar):
3632         (.network-type-image .network-graph-bar):
3633         (.network-type-image.resource-cached .network-graph-bar):
3634         (.network-type-font .network-graph-bar):
3635         (.network-type-font.resource-cached .network-graph-bar):
3636         (.network-type-script .network-graph-bar):
3637         (.network-type-script.resource-cached .network-graph-bar):
3638         (.network-type-xhr .network-graph-bar):
3639         (.network-type-xhr.resource-cached .network-graph-bar):
3640         (.network-type-websocket .network-graph-bar):
3641         (.network-type-websocket.resource-cached .network-graph-bar):
3642         (.network-log-grid.data-grid.filter-other table.data tr.revealed.network-type-other):
3643         * inspector/front-end/resourcesPanel.css:
3644         (.resource-sidebar-tree-item.resources-type-image .icon):
3645         (.resources-type-image .image-resource-icon-preview):
3646         (.children.small .resource-sidebar-tree-item.resources-type-image .icon):
3647         (.children.small .resources-type-image .image-resource-icon-preview):
3648         (.resource-sidebar-tree-item.resources-type-document .icon):
3649         (.children.small .resource-sidebar-tree-item.resources-type-document .icon):
3650         (.resource-sidebar-tree-item.resources-type-stylesheet .icon):
3651         (.children.small .resource-sidebar-tree-item.resources-type-stylesheet .icon):
3652         (.resource-sidebar-tree-item.resources-type-font .icon):
3653         (.children.small .resource-sidebar-tree-item.resources-type-font .icon):
3654         (.resource-sidebar-tree-item.resources-type-script .icon):
3655         (.children.small .resource-sidebar-tree-item.resources-type-script .icon):
3656         (.resource-sidebar-tree-item.resources-type-xhr .icon):
3657         (.children.small .resource-sidebar-tree-item.resources-type-xhr .icon):
3658
3659 2012-04-11   Arko Saha  <arko@motorola.com>
3660
3661         Microdata: Implement cache mechanism for HTMLPropertiesCollection.
3662         https://bugs.webkit.org/show_bug.cgi?id=80490
3663
3664         Reviewed by Ryosuke Niwa.
3665
3666         Implemented caching mechanism for HTMLPropertiesCollection.
3667         propertyCache - contains microdata item properties.
3668         itemRefElements - contains sorted microdata item and itemref elements.
3669         propertyNames - contains microdata property names of the elements in the collection.
3670         itemRefElementPosition - store the current position of itemRefElements.
3671         hasItemRefElements - set to ture once we have sorted microdata item and itemref elements list i.e, itemRefElements.
3672         Cache is invalidated only when dom tree modified. Whenever any query is made on HTMLPropertiesCollection,
3673         result is returned from the cache. Earliar we used to calculate properties node list every time a query is made.
3674
3675         * html/HTMLPropertiesCollection.cpp:
3676         (WebCore):
3677         (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
3678         (WebCore::HTMLPropertiesCollection::invalidateCacheIfNeeded):
3679         (WebCore::HTMLPropertiesCollection::updateRefElements): Appends microdata item element and elements which
3680         are added through itemref attribute in itemRefElements (in tree order).
3681         (WebCore::nextNodeWithProperty):
3682         (WebCore::HTMLPropertiesCollection::itemAfter): Takes parent base and previous item property as argument.
3683         Finds the next item property in base.
3684         (WebCore::HTMLPropertiesCollection::calcLength): Calculates the length of properties collection if length
3685         is not available in the cache.
3686         (WebCore::HTMLPropertiesCollection::length):
3687         (WebCore::HTMLPropertiesCollection::firstProperty): Returns the first property in the collection.
3688         (WebCore::HTMLPropertiesCollection::item):
3689         (WebCore::HTMLPropertiesCollection::findProperties): Finds microdata item properties in the base element.
3690         Appends the properties in propertyCache and property names in propertyNames.
3691         (WebCore::HTMLPropertiesCollection::updateNameCache):  It updates the propertyCache and propertyNames if hasNameCache is false.
3692         (WebCore::HTMLPropertiesCollection::names):
3693         (WebCore::HTMLPropertiesCollection::namedItem):
3694         (WebCore::HTMLPropertiesCollection::hasNamedItem):
3695         * html/HTMLPropertiesCollection.h:
3696         (HTMLPropertiesCollection):
3697
3698 2012-04-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3699
3700         [Qt] Fix issues when using the WebView as ShaderEffectSource
3701         https://bugs.webkit.org/show_bug.cgi?id=83587
3702
3703         Reviewed by Noam Rosenthal.
3704
3705         - Make sure that the bound frame buffer is preserved instead of binding
3706           to the default one
3707         - Accept a "mirrored" flag in beginPainting that we're applying on the
3708           projection matrix just as with internal FBOs
3709
3710         The "flip" logic in createProjectionMatrix has been reversed and renamed to
3711         mirrored so that FBO rendering is considered the special case and not the
3712         other way around just like within Qt.
3713
3714         * platform/graphics/texmap/TextureMapper.h:
3715         (WebCore::TextureMapper::beginPainting):
3716         * platform/graphics/texmap/TextureMapperGL.cpp:
3717         (WebCore::TextureMapperGLData::TextureMapperGLData):
3718         (TextureMapperGLData):
3719         (WebCore::TextureMapperGL::beginPainting):
3720         (WebCore::createProjectionMatrix):
3721         (WebCore::BitmapTextureGL::bind):
3722         (WebCore::TextureMapperGL::bindSurface):
3723         * platform/graphics/texmap/TextureMapperGL.h:
3724
3725 2012-04-11  Stephen Chenney  <schenney@chromium.org>
3726
3727         Shadow tree TreeScope data is not removed by ContainerNode::removeAllChildren
3728         https://bugs.webkit.org/show_bug.cgi?id=83484
3729
3730         Unreviewed attempted build fix.
3731
3732         * dom/ContainerNodeAlgorithms.h: Adding Document.h include.
3733
3734 2012-04-11  Luke Macpherson  <macpherson@chromium.org>
3735
3736         Remove unnecessary assignments from CSSParser::parseLinearGradient().
3737         https://bugs.webkit.org/show_bug.cgi?id=83661
3738
3739         Reviewed by Kentaro Hara.
3740
3741         No new tests / code cleanup only.
3742
3743         * css/CSSParser.cpp:
3744         (WebCore::CSSParser::parseLinearGradient):
3745
3746 2012-04-11  Stephen Chenney  <schenney@chromium.org>
3747
3748         Shadow tree TreeScope data is not removed by ContainerNode::removeAllChildren
3749         https://bugs.webkit.org/show_bug.cgi?id=83484
3750
3751         Reviewed by Hajime Morita.
3752
3753         The ContainerNode::removeAllChildren method does fast and dirty node removal.
3754         As compared to ContainerNode::removeChildren, it does not include the
3755         method to adopt the removed child node into the root document's TreeScope.
3756         Rather, it leaves the existing TreeScope in place. However, the existing
3757         TreeScope may be removed, causing a crash when something prevents the child
3758         node from being deleted immediately. The fix is to modify the code in
3759         ContainerNodeAlgorithms to do the TreeScope adoption.
3760
3761         Could not reproduce crash in layout test.
3762
3763         * dom/ContainerNodeAlgorithms.h:
3764         (Private):
3765         (WebCore::Private::NodeRemovalDispatcher::dispatch):
3766         (WebCore::Private::addChildNodesToDeletionQueue):
3767
3768 2012-04-11  Yury Semikhatsky  <yurys@chromium.org>
3769
3770         Web Inspector: showing summary view is very slow on a snapshot with thousands of constructors
3771         https://bugs.webkit.org/show_bug.cgi?id=83682
3772
3773         Node content is created only when the node becomes visible in the corresponding view.
3774         This saves a lot of time when openning summary/comparison view of a snapshot
3775         with lots of different classes.
3776
3777         Reviewed by Pavel Feldman.
3778
3779         * inspector/front-end/DetailedHeapshotGridNodes.js:
3780         (WebInspector.HeapSnapshotGridNode.prototype.ensureContentCreated):
3781         (WebInspector.HeapSnapshotLazyGridNode):
3782         (WebInspector.HeapSnapshotLazyGridNode.prototype.ensureContentCreated):
3783         (WebInspector.HeapSnapshotLazyGridNode.prototype.createCells):
3784         (WebInspector.HeapSnapshotConstructorNode):
3785         (WebInspector.HeapSnapshotDiffNode):
3786         * inspector/front-end/DetailedHeapshotView.js:
3787         (WebInspector.HeapSnapshotSortableDataGrid):
3788         (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
3789         (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize):
3790         (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll):
3791         (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
3792         (WebInspector.HeapSnapshotConstructorsDataGrid):
3793         (WebInspector.HeapSnapshotDiffDataGrid):
3794         (WebInspector.DetailedHeapshotView.prototype._changeNameFilter):
3795         * inspector/front-end/heapProfiler.css:
3796         (.detailed-heapshot-view .data-grid tr:empty):
3797
3798 2012-04-11  Simon Pena  <spena@igalia.com>
3799
3800         [GTK] media/event-attributes.html fails
3801         https://bugs.webkit.org/show_bug.cgi?id=71662
3802
3803         Reviewed by Philippe Normand.
3804
3805         In MediaPlayerPrivateGStreamer::didEnd, when EOS is reached, don't
3806         synchronize position and duration on regular playback. That is:
3807         synchronize it (and fire the durationChange signal) only on reverse
3808         playback.
3809
3810         This change makes media/event-attributes.html pass. It was
3811         previously failing because an additional durationChange signal was
3812         emitted.
3813
3814         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Avoid
3815         sending durationChange signal on regular playback.
3816
3817 2012-04-11  Andras Becsi  <andras.becsi@nokia.com>
3818
3819         Fix the build with gcc 4.7.0
3820         https://bugs.webkit.org/show_bug.cgi?id=83584
3821
3822         Reviewed by Alexey Proskuryakov.
3823
3824         No new tests needed.
3825
3826         * Target.pri: Disable Werror on the ANGLE code since it has several recurring issues
3827         because older versions of flex (<2.5.35) and bison (<2.5) generate code which
3828         triggers warnings. This generated code is committed on each version update of ANGLE,
3829         and it is very likely that the code is generated with older versions of the mentioned
3830         tools.
3831         * html/HTMLImageElement.cpp:
3832         (WebCore::HTMLImageElement::createForJSConstructor): Fails because of -Werror=extra
3833         * platform/graphics/TiledBackingStoreClient.h: Fails because -Werror=delete-non-virtual-dtor,
3834         gcc requires classes which have virtual methods to have a virtual destructor, if their instances
3835         or the instances of their subclasses are deleted.
3836         (WebCore::TiledBackingStoreClient::~TiledBackingStoreClient):
3837         * platform/graphics/texmap/TextureMapperPlatformLayer.h: Ditto.
3838         (WebCore::TextureMapperPlatformLayer::~TextureMapperPlatformLayer):
3839
3840 2012-04-11  Kent Tamura  <tkent@chromium.org>
3841
3842         [V8] Calendar Picker: Add a helper function to expose PagePopupClient::setValueAndClosePopup() to JavaScript
3843         https://bugs.webkit.org/show_bug.cgi?id=83561
3844
3845         Reviewed by Adam Barth.
3846
3847         Add ScriptController::installFunctionsForPagePopup(), which add
3848         window.setValueAndClosePopup() for JavaScript code in PagePopup
3849         environment, and the function calls
3850         WebCore::PagePopupClient::setValueAndClosePopup().
3851
3852         This patch introduces Supplement<DOMWindow> object to hold a
3853         PagePopupClient object. It makes keeping a PagePopupClient easier.
3854
3855         * WebCore.gypi: Add DOMWindowPagePopup.{cpp,h}
3856         * bindings/v8/ScriptController.cpp:
3857         (WebCore::setValueAndClosePopupCallback):
3858         (WebCore::ScriptController::installFunctionsForPagePopup):
3859         * bindings/v8/ScriptController.h:
3860         (ScriptController): Add installFunctionsForPagePopup().
3861         * page/DOMWindowPagePopup.cpp: Added.
3862         (WebCore::DOMWindowPagePopup::DOMWindowPagePopup):
3863         (WebCore::DOMWindowPagePopup::supplementName):
3864         Returns "DOMWindowPagePopup" as a key of this Supplement<DOMWindow>.
3865         (WebCore::DOMWindowPagePopup::setValueAndClosePopup):
3866         Gets a DOMWindowPagePopup from the window, then calls PagePopupClient::setValueAndClosePopup().
3867         (WebCore::DOMWindowPagePopup::install):
3868         On-demand creation of DOMWindowPagePopup doesn't work because it
3869         must have a PagePopupClient object. We need to install
3870         DOMWindowPagePopup explicitly.
3871         * page/DOMWindowPagePopup.h: Added.
3872
3873 2012-04-11  Sadrul Habib Chowdhury  <sadrul@chromium.org>
3874
3875         [chromium] Add Battery Status API support.
3876
3877         Add Battery Status API support to chromium.
3878         https://bugs.webkit.org/show_bug.cgi?id=83284
3879
3880         Reviewed by Adam Barth.
3881
3882         This change is covered by tests in batterystatus/.
3883
3884         * Modules/battery/BatteryController.cpp:
3885         (WebCore::BatteryController::updateBatteryStatus):
3886         (WebCore):
3887         * Modules/battery/BatteryController.h:
3888         (BatteryController):
3889         * Modules/battery/BatteryManager.cpp:
3890         (WebCore::BatteryManager::charging):
3891         (WebCore::BatteryManager::chargingTime):
3892         (WebCore::BatteryManager::dischargingTime):
3893         (WebCore::BatteryManager::level):
3894         * WebCore.gyp/WebCore.gyp:
3895         * WebCore.gypi:
3896
3897 2012-04-11  Mihnea Ovidenie  <mihnea@adobe.com>
3898
3899         [CSS Regions]Add helper class for flow threads info in RenderView
3900         https://bugs.webkit.org/show_bug.cgi?id=83464
3901
3902         Reviewed by David Hyatt.
3903
3904         This patch creates a new helper class FlowThreadController that will accommodate all the flow thread
3905         related info from RenderView and moves all the data structures/methods from RenderView into this new class.
3906         There is only one FlowThreadController object per RenderView and it can be retrieved using flowThreadController() method from RenderView.
3907         The flow thread controller object is owned by the RenderView and it is created on demand only if there are flowing
3908         threads in the page.
3909
3910         Since there is no change in functionality, there are no new tests added.
3911
3912         * CMakeLists.txt:
3913         * GNUmakefile.list.am:
3914         * Target.pri:
3915         * WebCore.gypi:
3916         * WebCore.vcproj/WebCore.vcproj:
3917         * WebCore.xcodeproj/project.pbxproj:
3918         * dom/Document.cpp:
3919         (WebCore::Document::webkitGetFlowByName):
3920         * dom/NodeRenderingContext.cpp:
3921         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
3922         * rendering/FlowThreadController.cpp: Added.
3923         (WebCore):
3924         (WebCore::FlowThreadController::create):
3925         (WebCore::FlowThreadController::FlowThreadController):
3926         (WebCore::FlowThreadController::~FlowThreadController):
3927         (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
3928         (WebCore::FlowThreadController::layoutRenderNamedFlowThreads):
3929         * rendering/FlowThreadController.h: Added.
3930         (WebCore):
3931         (FlowThreadController):
3932         (WebCore::FlowThreadController::currentRenderFlowThread):
3933         (WebCore::FlowThreadController::setCurrentRenderFlowThread):
3934         (WebCore::FlowThreadController::isRenderNamedFlowThreadOrderDirty):
3935         (WebCore::FlowThreadController::setIsRenderNamedFlowThreadOrderDirty):
3936         (WebCore::FlowThreadController::renderNamedFlowThreadList):
3937         (WebCore::FlowThreadController::hasRenderNamedFlowThreads):
3938         * rendering/RenderFlowThread.cpp:
3939         (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
3940         (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
3941         (WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler):
3942         (WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler):
3943         * rendering/RenderNamedFlowThread.cpp:
3944         (WebCore::RenderNamedFlowThread::nextRendererForNode):
3945         (WebCore::RenderNamedFlowThread::previousRendererForNode):
3946         (WebCore::RenderNamedFlowThread::removeRegionFromThread):
3947         (WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
3948         (WebCore::RenderNamedFlowThread::removeDependencyOnFlowThread):
3949         * rendering/RenderNamedFlowThread.h:
3950         (RenderNamedFlowThread):
3951         * rendering/RenderObject.cpp:
3952         (WebCore::RenderObject::createObject):
3953         (WebCore::RenderObject::enclosingRenderFlowThread):
3954         (WebCore::RenderObject::willBeDestroyed):
3955         * rendering/RenderTreeAsText.cpp:
3956         (WebCore::writeRenderNamedFlowThreads):
3957         * rendering/RenderView.cpp:
3958         (WebCore::RenderView::RenderView):
3959         (WebCore::RenderView::layout):
3960         (WebCore::RenderView::hasRenderNamedFlowThreads):
3961         (WebCore::RenderView::flowThreadController):
3962         * rendering/RenderView.h:
3963         (WebCore):
3964         (RenderView):
3965
3966 2012-04-11  Alexander Pavlov  <apavlov@chromium.org>
3967
3968         Web Inspector: [Device Metrics] Implement dimension swapping
3969         https://bugs.webkit.org/show_bug.cgi?id=83676
3970
3971         The change adds a "Swap dimensions" button that swaps the emulated device dimensions to
3972         mimic the device rotation (give that the ORIENTATION_EVENTS feature is disabled in Chromium).
3973
3974         Reviewed by Yury Semikhatsky.
3975
3976         * English.lproj/localizedStrings.js:
3977         * inspector/front-end/SettingsScreen.js:
3978         (WebInspector.SettingsScreen.prototype._createDeviceMetricsElement.swapDimensionsClicked):
3979         (WebInspector.SettingsScreen.prototype._createDeviceMetricsElement):
3980
3981 2012-04-11  Kent Tamura  <tkent@chromium.org>
3982
3983         Fix compiler warnings for generated CalendarPicker.cpp with VC++
3984         https://bugs.webkit.org/show_bug.cgi?id=83672
3985
3986         Reviewed by Kentaro Hara.
3987
3988         * make-file-arrays.py:
3989         (main): Do not generate literal integers larger than 127 for
3990         members of char arrays. Use '\xHH' instead.
3991
3992 2012-04-11  Pavel Feldman  <pfeldman@chromium.org>
3993
3994         Web Inspector: fix category -> type refactoring implications.
3995         https://bugs.webkit.org/show_bug.cgi?id=83680
3996
3997         Reviewed by Yury Semikhatsky.
3998
3999         We are now using type identifiers (singulars) as opposed to category identifier (plurals) in the style.
4000
4001         * inspector/front-end/NetworkPanel.js:
4002         (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems.createFilterElement):
4003         (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems):
4004         (WebInspector.NetworkLogView.prototype._showCategory):
4005         (WebInspector.NetworkLogView.prototype._hideCategory):
4006         (WebInspector.NetworkLogView.prototype._filter):
4007         (WebInspector.NetworkDataGridNode.prototype.refreshResource):
4008         (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
4009         * inspector/front-end/ResourcesPanel.js:
4010         (WebInspector.FrameResourceTreeElement):
4011         (WebInspector.ResourceRevisionTreeElement):
4012         * inspector/front-end/networkLogView.css:
4013         (.network-log-grid.data-grid .network-type-script .icon):
4014         (.network-log-grid.data-grid.small .network-type-script .icon):
4015         (.network-log-grid.data-grid .network-type-document .icon):
4016         (.network-log-grid.data-grid.small .network-type-document .icon):
4017         (.network-log-grid.data-grid .network-type-stylesheet .icon):
4018         (.network-log-grid.data-grid.small .network-type-stylesheet .icon):
4019         (.network-log-grid.data-grid .network-type-image .icon):
4020         (.network-log-grid.data-grid.small .network-type-image .icon):
4021         (.network-type-document .network-graph-bar):
4022         (.network-type-document.resource-cached .network-graph-bar):
4023         (.network-type-stylesheet .network-graph-bar):
4024         (.network-type-stylesheet.resource-cached .network-graph-bar):
4025         (.network-type-image .network-graph-bar):
4026         (.network-type-image.resource-cached .network-graph-bar):
4027         (.network-type-font .network-graph-bar):
4028         (.network-type-font.resource-cached .network-graph-bar):
4029         (.network-type-script .network-graph-bar):
4030         (.network-type-script.resource-cached .network-graph-bar):
4031         (.network-type-xhr .network-graph-bar):
4032         (.network-type-xhr.resource-cached .network-graph-bar):
4033         (.network-type-websocket .network-graph-bar):
4034         (.network-type-websocket.resource-cached .network-graph-bar):
4035         (.network-log-grid.data-grid.filter-other table.data tr.revealed.network-type-other):
4036         * inspector/front-end/resourcesPanel.css: