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