520d99c236723e06cd72b65c7517996411de2c74
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-07  Andreas Kling  <akling@apple.com>
2
3         Remove desktop version of -webkit-text-size-adjust property.
4         <http://webkit.org/b/56543>
5         <rdar://problem/9150203>
6
7         Reviewed by Simon Fraser.
8
9         This property existed to support a number of Apple-internal clients of WebKit.
10         We no longer need this property, and since it's clashing with a mobile version of the
11         same property with different meaning, let's remove it altogether from the desktop build.
12
13         * css/CSSComputedStyleDeclaration.cpp:
14         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
15         * css/CSSParser.cpp:
16         (WebCore::isValidKeywordPropertyAndValue):
17         (WebCore::isKeywordPropertyID):
18         (WebCore::CSSParser::parseValue):
19         * css/CSSPrimitiveValue.cpp:
20         (WebCore::CSSPrimitiveValue::computeLengthDouble):
21         * css/CSSProperty.cpp:
22         (WebCore::CSSProperty::isInheritedProperty):
23         * css/CSSPropertyNames.in:
24         * css/StyleBuilder.cpp:
25         (WebCore::ApplyPropertyLineHeight::applyValue):
26         * css/StyleResolver.cpp:
27         (WebCore::StyleResolver::updateFont):
28         (WebCore::StyleResolver::applyProperties):
29         (WebCore::StyleResolver::applyProperty):
30         * css/StyleResolver.h:
31         (StyleResolver):
32         * css/svg.css:
33         * editing/EditingStyle.cpp:
34         * inspector/front-end/inspector.css:
35         (#console-messages):
36         * inspector/front-end/resourcesPanel.css:
37         (.storage-view.query):
38         * rendering/style/RenderStyle.cpp:
39         (WebCore::RenderStyle::diff):
40         * rendering/style/RenderStyle.h:
41         * rendering/style/StyleRareInheritedData.cpp:
42         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
43         (WebCore::StyleRareInheritedData::operator==):
44         * rendering/style/StyleRareInheritedData.h:
45         (StyleRareInheritedData):
46
47 2013-03-07  Joshua Bell  <jsbell@chromium.org>
48
49         IndexedDB: Use WeakPtr for Factory-to-BackingStore reference
50         https://bugs.webkit.org/show_bug.cgi?id=111459
51
52         Reviewed by Adam Barth.
53
54         IDBFactoryBackendImpl maintains a map of backing stores - if another database in the same
55         origin is opened, the backing store instance must be re-used). This was a map to raw
56         pointers so that the backing store can be collected when all database references are
57         dropped. The map was maintained manually by passing the factory to the IDBBackingStore which
58         would add/remove itself on creation/destruction.
59
60         Replace this with a HashMap<WeakPtr<>>. This simplifies the plumbing; map entries
61         "leak" but are purged on subsequent opens.
62
63         Added webkit_unit_test (Chromium port) to verify refcounts.
64
65         * Modules/indexeddb/IDBBackingStore.cpp:
66         (WebCore::IDBBackingStore::IDBBackingStore): No need to notify factory of lifetime.
67         (WebCore::IDBBackingStore::~IDBBackingStore): Ditto.
68         (WebCore::IDBBackingStore::open): Ditto.
69         * Modules/indexeddb/IDBBackingStore.h: No reference to the factory, but...
70         (WebCore::IDBBackingStore::createWeakPtr): Do need to expose weak pointers for the factory to hold.
71         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
72         (WebCore::cleanWeakMap): Helper function to scrub a HashMap<WeakPtr<T>> of empty pointers.
73         May move to WTF when we've learned how general it is, or come up with a dedicated WeakPtrHashMap type.
74         (WebCore::IDBFactoryBackendImpl::openBackingStore): WeakPtr fu.
75         * Modules/indexeddb/IDBFactoryBackendImpl.h:
76         (IDBFactoryBackendImpl): Remove plumbing methods.
77
78 2013-03-07  Otto Derek Cheung  <otcheung@rim.com>
79
80         [BlackBerry] RefCounting ParsedCookie to avoid SegFaults
81         https://bugs.webkit.org/show_bug.cgi?id=111761
82
83         Reviewed by Rob Buis.
84
85         Making necessary changes to ref count the ParsedCookie object.
86
87         Tested using the opera cookie test suite and the BB Browser cookie test suite.
88         Tested using the browser, visiting popular sites such as facebook, reddit, google etc
89         to ensure cookie functionality isn't changed.
90
91         * loader/blackberry/CookieJarBlackBerry.cpp:
92         (WebCore::getRawCookies):
93         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
94         (WebCore::CookieDatabaseBackingStore::insert):
95         (WebCore::CookieDatabaseBackingStore::update):
96         (WebCore::CookieDatabaseBackingStore::remove):
97         (WebCore::CookieDatabaseBackingStore::getCookiesFromDatabase):
98         (WebCore::CookieDatabaseBackingStore::invokeGetCookiesWithLimit):
99         (WebCore::CookieDatabaseBackingStore::invokeSendChangesToDatabase):
100         (WebCore::CookieDatabaseBackingStore::addToChangeQueue):
101         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
102         (CookieDatabaseBackingStore):
103         * platform/blackberry/CookieManager.cpp:
104         (WebCore::cookieSorter):
105         (WebCore::CookieManager::setCookies):
106         (WebCore::CookieManager::getCookie):
107         (WebCore::CookieManager::generateHtmlFragmentForCookies):
108         (WebCore::CookieManager::getRawCookies):
109         (WebCore::CookieManager::checkAndTreatCookie):
110         (WebCore::CookieManager::addCookieToMap):
111         (WebCore::CookieManager::getBackingStoreCookies):
112         (WebCore::CookieManager::findOrCreateCookieMap):
113         (WebCore::CookieManager::removeCookieWithName):
114         (WebCore::CookieManager::cookieLimitCleanUp):
115         * platform/blackberry/CookieManager.h:
116         * platform/blackberry/CookieMap.cpp:
117         (WebCore::CookieMap::addOrReplaceCookie):
118         (WebCore::CookieMap::removeCookieAtIndex):
119         (WebCore::CookieMap::removeCookie):
120         (WebCore::CookieMap::getAllCookies):
121         (WebCore::CookieMap::removeOldestCookie):
122         (WebCore::CookieMap::deleteAllCookiesAndDomains):
123         (WebCore::CookieMap::getAllChildCookies):
124         * platform/blackberry/CookieMap.h:
125         (CookieMap):
126         * platform/blackberry/CookieParser.cpp:
127         (WebCore):
128         (WebCore::CookieParser::parse):
129         (WebCore::CookieParser::parseOneCookie):
130         * platform/blackberry/CookieParser.h:
131         (CookieParser):
132         * platform/blackberry/ParsedCookie.cpp:
133         * platform/blackberry/ParsedCookie.h:
134         (ParsedCookie):
135         (WebCore::ParsedCookie::create):
136
137 2013-03-07  Aaron Colwell  <acolwell@chromium.org>
138
139         Heap-use-after-free in WebCore::HTMLMediaElement::~HTMLMediaElement
140         https://bugs.webkit.org/show_bug.cgi?id=110623
141
142         Reviewed by Kentaro Hara.
143
144         Test: http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html
145
146         * bindings/v8/V8GCController.cpp: Fix MinorGCWrapperVisitor so it doesn't collect ActiveDOMObjects
147                                           that have pending activity.
148         * html/HTMLAudioElement.h:
149         (HTMLAudioElement): Removed hasPendingActivity() now that this is handled by the base class.
150         * html/HTMLAudioElement.idl: Removed ActiveDOMObject annotation since HTMLMediaElement now has it.
151         * html/HTMLMediaElement.cpp:
152         (WebCore::HTMLMediaElement::hasPendingActivity): Update implementation to return true if the media
153                                                          has audio and is playing. This brings the code into
154                                                          compliance with the detached element behavior outlined
155                                                          in the HTML5 spec.
156         * html/HTMLMediaElement.idl: Added ActiveDOMObject annotation so that all derived classes are
157                                      considered ActiveDOMObjects.
158
159 2013-03-07  Jeffrey Pfau  <jpfau@apple.com>
160
161         CFNetwork cache partitioning does not work properly on subdomains
162         https://bugs.webkit.org/show_bug.cgi?id=111772
163
164         Reviewed by David Kilzer.
165
166         Ensure that the cache partitioning is done over the top privately-controlled domain for the NSURLRequest.
167
168         Not possible to test with current automated test tools, must be tested manually.
169
170         * loader/cache/MemoryCache.cpp: Remove extraneous calls to partitionName
171         (WebCore):
172         (WebCore::MemoryCache::add):
173         (WebCore::MemoryCache::revalidationSucceeded):
174         (WebCore::MemoryCache::resourceForRequest):
175         (WebCore::MemoryCache::evict):
176         (WebCore::MemoryCache::removeResourcesWithOrigin):
177         * platform/network/cf/ResourceRequest.h: Put top privately-controlled domain reduction code into ResourceRequest::partitionName
178         (ResourceRequest):
179         (WebCore::ResourceRequest::cachePartition):
180         (WebCore::ResourceRequest::setCachePartition): Pre-process the partition name
181         * platform/network/cf/ResourceRequestCFNet.cpp:
182         (WebCore):
183         (WebCore::ResourceRequest::partitionName):
184         * platform/network/mac/ResourceRequestMac.mm:
185         (WebCore::ResourceRequest::doUpdatePlatformRequest): Use a UTF-8 version of the cache partition name
186
187 2013-03-07  Kenneth Russell  <kbr@google.com>
188
189         Compute WebGL context attributes from DrawingBuffer when it is used
190         https://bugs.webkit.org/show_bug.cgi?id=111666
191
192         Reviewed by James Robinson.
193
194         Fixed computation of antialias flag when DrawingBuffer is used.
195
196         No new tests; covered by existing tests. Ran WebGL conformance
197         tests on desktop Linux and Android to test.
198
199         * html/canvas/WebGLRenderingContext.cpp:
200         (WebCore):
201         (WebCore::WebGLRenderingContext::getContextAttributes):
202             Query DrawingBuffer, when used, for antialias flag.
203
204 2013-03-07  Beth Dakin  <bdakin@apple.com>
205
206         Need API to draw custom overhang area
207         https://bugs.webkit.org/show_bug.cgi?id=111679
208         -and corresponding-
209         <rdar://problem/13291415>
210
211         Reviewed by Simon Fraser.
212
213         This will allow clients to put custom images into the top or bottom overhang area.
214
215         New FrameView API takes a bool indicating whether the client wants a top/bottom 
216         overhang layer. If the bool is true, the overhang layer will be returned. 
217         * WebCore.exp.in:
218         * page/FrameView.cpp:
219         (WebCore::FrameView::setWantsLayerForTopOverHangArea):
220         (WebCore::FrameView::setWantsLayerForBottomOverHangArea):
221         * page/FrameView.h:
222         (FrameView):
223
224         Keep member variables for the top and bottom overhang layers. Create them if 
225         necessary, and update them if the root layer changes.
226         * rendering/RenderLayerCompositor.cpp:
227         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
228         (WebCore::RenderLayerCompositor::updateLayerForTopOverhangArea):
229         (WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
230         (WebCore::RenderLayerCompositor::reportMemoryUsage):
231         * rendering/RenderLayerCompositor.h:
232         (RenderLayerCompositor):
233
234 2013-03-07  Gavin Barraclough  <barraclough@apple.com>
235
236         Reduce page cache size on Mac
237         https://bugs.webkit.org/show_bug.cgi?id=111795
238
239         Rubber stamped by Geoff Garen
240
241         5 entries is unnecessarily large; research show 3 should suffice.
242         On a low memory warning we should clear this completely.
243
244         * platform/mac/MemoryPressureHandlerMac.mm:
245         (WebCore::MemoryPressureHandler::releaseMemory):
246             - clear the page cache completely
247
248 2013-03-07  Simon Fraser  <simon.fraser@apple.com>
249
250         Rename Mac's TileCache to TileController, and WebTileCacheLayer to WebTiledBackingLayer
251         https://bugs.webkit.org/show_bug.cgi?id=111779
252
253         Reviewed by Tim Horton.
254         
255         "TileCache" was a name conflict in downstream code, so rename it to TileController.
256         The layer that has a TileController is now a WebTiledBackingLayer (which fits with
257         the TiledBacking API that TileController exposes).
258         
259         Also renamed the flags in PlatformCALayer to match.
260
261         Rename only, no behavior change.
262
263         * WebCore.xcodeproj/project.pbxproj:
264         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
265         (WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):
266         * platform/graphics/GraphicsLayerClient.h:
267         (WebCore::GraphicsLayerClient::shouldUseTiledBacking):
268         * platform/graphics/ca/GraphicsLayerCA.cpp:
269         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
270         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
271         (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
272         (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
273         (WebCore::GraphicsLayerCA::updateVisibleRect):
274         (WebCore::GraphicsLayerCA::getDebugBorderInfo):
275         (WebCore::GraphicsLayerCA::requiresTiledLayer):
276         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
277         * platform/graphics/ca/GraphicsLayerCA.h:
278         * platform/graphics/ca/PlatformCALayer.h:
279         (WebCore::PlatformCALayer::usesTiledBackingLayer):
280         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
281         (PlatformCALayer::PlatformCALayer):
282         (PlatformCALayer::~PlatformCALayer):
283         (PlatformCALayer::tiledBacking):
284         * platform/graphics/ca/mac/TileController.h: Renamed from Source/WebCore/platform/graphics/ca/mac/TileCache.h.
285         * platform/graphics/ca/mac/WebTileLayer.h:
286         (TileController):
287         * platform/graphics/ca/mac/WebTileLayer.mm:
288         (-[WebTileLayer drawInContext:]):
289         (-[WebTileLayer setTileController:WebCore::]):
290         (-[WebTileLayer logFilledFreshTile]):
291         * platform/graphics/ca/mac/WebTiledBackingLayer.h: Renamed from Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.h.
292         * platform/graphics/ca/mac/WebTiledBackingLayer.mm: Renamed from Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.mm.
293         * platform/graphics/mac/WebLayer.mm:
294         (drawLayerContents):
295         * rendering/RenderLayerBacking.cpp:
296         (WebCore::RenderLayerBacking::RenderLayerBacking):
297         (WebCore::RenderLayerBacking::shouldUseTiledBacking):
298         (WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
299         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
300         * rendering/RenderLayerBacking.h:
301         (WebCore::RenderLayerBacking::usingTiledBacking):
302         (RenderLayerBacking):
303         (WebCore::RenderLayerBacking::hasTiledBackingFlatteningLayer):
304         * rendering/RenderLayerCompositor.cpp:
305         (WebCore::RenderLayerCompositor::frameViewDidLayout):
306         (WebCore::RenderLayerCompositor::rootFixedBackgroundsChanged):
307         (WebCore::RenderLayerCompositor::supportsFixedRootBackgroundCompositing):
308
309 2013-03-07  Alexey Proskuryakov  <ap@apple.com>
310
311         FormData should allow setting filename to empty
312         https://bugs.webkit.org/show_bug.cgi?id=111687
313
314         Reviewed by Brady Eidson.
315
316         Tests: http/tests/local/formdata/send-form-data-with-empty-blob-filename.html
317                http/tests/local/formdata/send-form-data-with-empty-file-filename.html
318
319         * platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems):
320         Missing value is a null string. If the string is empty, we should treat is as
321         authoritative.
322
323 2013-03-07  David Hyatt  <hyatt@apple.com>
324
325         REGRESSION: fast/border/border-fit-2.html needs updating
326         https://bugs.webkit.org/show_bug.cgi?id=111776
327
328         Reviewed by Simon Fraser.
329
330         This test is incorrectly shrinking the border image now.
331         We need to apply some clamping to the border-fit like the
332         old code did. The pixel results *are* still changing though,
333         since a layout-time shrinkage will not result in right-aligned
334         boxes in an LTR block when the left edge gets chopped. We'll
335         have to see if this behavioral change ends up being a problem,
336         but for now we'll rebaseline and assume it will be ok.
337
338         * rendering/RenderBlock.cpp:
339         (WebCore::RenderBlock::fitBorderToLinesIfNeeded):
340
341 2013-03-07  Antoine Quint  <graouts@apple.com>
342
343         Web Inspector: provide reasons why a layer was composited in the LayerTreeAgent
344         https://bugs.webkit.org/show_bug.cgi?id=111703
345
346         Introduce a new LayerTree.reasonsForCompositingLayer(layerId) method which returns
347         the list of reasons why the provided layer was composited as an object with an
348         optional property for each possible reason. The RenderLayerCompositor already knows
349         how to provide this information via its own reasonsForCompositing() method, and we
350         process the returned bitmask to populate the object sent to the front-end.
351
352         Reviewed by Timothy Hatcher.
353
354         Test: inspector-protocol/layers/layers-compositing-reasons.html
355
356         * inspector/Inspector.json:
357         * inspector/InspectorLayerTreeAgent.cpp:
358         (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
359         (WebCore):
360         * inspector/InspectorLayerTreeAgent.h:
361         (InspectorLayerTreeAgent):
362
363 2013-03-07  Anders Carlsson  <andersca@apple.com>
364
365         Add a didFocusTextField callback to the injected bundle form client
366         https://bugs.webkit.org/show_bug.cgi?id=111771
367
368         Reviewed by Andreas Kling.
369
370         Export a symbol needed by WebKit2.
371
372         * WebCore.exp.in:
373
374 2013-03-06  James Robinson  <jamesr@chromium.org>
375
376         [chromium] Stop using WebTransformationMatrix on WebLayer
377         https://bugs.webkit.org/show_bug.cgi?id=111635
378
379         Reviewed by Adrienne Walker.
380
381         Switches over to the SkMatrix44 transform setters.
382
383         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
384         (WebCore::transformToSkMatrix44):
385           Utility for convering a WebCore::TransformationMatrix to an SkMatrix44.
386           Will move to a more common location once it gets more callers.
387         (WebCore::GraphicsLayerChromium::updateTransform):
388         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
389
390 2013-03-07  Eric Carlson  <eric.carlson@apple.com>
391
392         [Mac] allow iOS to use CaptionUserPreferencesMac
393         https://bugs.webkit.org/show_bug.cgi?id=111770
394
395         Reviewed by Dean Jackson.
396
397         No new tests, covered by existing tests.
398
399         * page/CaptionUserPreferencesMac.h:
400         * page/CaptionUserPreferencesMac.mm:
401         (WebCore::userCaptionPreferencesChangedNotificationCallback): Respond to notifications on
402             the web thread.
403
404 2013-03-07  Mike West  <mkwst@chromium.org>
405
406         Move side-effects on hover/active state out of hit-testing
407         https://bugs.webkit.org/show_bug.cgi?id=98168
408
409         Reviewed by Julien Chaffraix.
410
411         Original patch by Allan Sandfeld Jensen; I'm just tweaking things.
412
413         Document::updateHoverActiveState is currently called during hit testing
414         to update the hover and active states of elements effected by mouse
415         movements (or their keyboard equivalents). This conflates the hit test
416         algorithm itself with side-effects associated with specific use-cases.
417
418         This conflation makes it very difficult to reuse the hover/active logic
419         for things other than hit testing. 'mouseenter'/'mouseleave' events[1]
420         are one example of a feature that would be simple to implement on top of
421         this existing logic if we split it out from the hit testing path, and
422         instead call it explicitly when necessary. An explicit split between
423         hit testing and its side-effects will also enable us to simplify the
424         logic in future patches with well-named parameters, rather than relying
425         on stuffing properties into HitTestRequest.
426
427         This patch drops the call to Document::updateHoverActiveState from
428         RenderView::hitTest, and adjusts the three call-sites in EventHandler
429         to explicitly call out to it rather than Document::updateStyleIfNeeded.
430         The latter call is still necessary but has been folded into
431         updateHoverActiveState, as the former is never called without calling
432         the latter.
433
434         [1]: http://wkbug.com/18930
435
436         * dom/Document.h:
437         * dom/Document.cpp:
438         (WebCore::Document::updateHoverActiveState):
439             First, this function must now only be called from contexts that were
440             performing a read/write hit-test: the code asserts this
441             precondition.
442
443             Second, rather than accepting a HitTestResult, the function accepts
444             an Element* from which to begin the hover/active chain changes.
445
446             Third, we have to explicitly update the hover/active states for
447             documents between the updated element and the top-level document.
448             The hit-testing logic was taking care of this for us, now we need to
449             take care of it ourselves.
450
451             Fourth, call out to updateStyleIfNeeded rather than making our
452             caller do so. The calls were always paired; now that's explicit.
453         (WebCore::Document::prepareMouseEvent):
454         * page/EventHandler.cpp:
455         (WebCore::EventHandler::hitTestResultAtPoint):
456         (WebCore::EventHandler::sendContextMenuEventForKey):
457         (WebCore::EventHandler::hoverTimerFired):
458             Call out to updateHoverActiveState rather than updateStyleIfNeeded.
459         * rendering/RenderView.cpp:
460         (WebCore::RenderView::hitTest):
461             Drop the call to updateHoverActiveState.
462
463 2013-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
464
465         Unreviewed, rolling out r145097.
466         http://trac.webkit.org/changeset/145097
467         https://bugs.webkit.org/show_bug.cgi?id=111765
468
469         Triggers an ASSERT in the Chromium port (Requested by abarth
470         on #webkit).
471
472         * html/FileInputType.cpp:
473         (WebCore::FileInputType::appendFormData):
474         * platform/network/FormData.cpp:
475         (WebCore::FormData::appendKeyValuePairItems):
476
477 2013-03-07  Chris Fleizach  <cfleizach@apple.com>
478
479         AX: Can't activate links with VoiceOver in Safari
480         https://bugs.webkit.org/show_bug.cgi?id=111755
481
482         Reviewed by Tim Horton.
483
484         VoiceOver is relying on the press action being the first action in the list. We changed
485         that order inadvertently recently, which confuses VoiceOver.
486
487         Test: platform/mac/accessibility/press-action-is-first.html
488
489         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
490         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
491
492 2013-03-07  Rafael Weinstein  <rafaelw@chromium.org>
493
494         Unreviewed, rolling out r145083.
495         http://trac.webkit.org/changeset/145083
496         https://bugs.webkit.org/show_bug.cgi?id=110733
497
498         caused lots crashes in http/tests/security/xssAuditor/* tests
499
500         * html/parser/XSSAuditor.cpp:
501         (WebCore::XSSAuditor::XSSAuditor):
502         (WebCore::XSSAuditor::init):
503         (WebCore::XSSAuditor::filterToken):
504         * html/parser/XSSAuditor.h:
505         * html/parser/XSSAuditorDelegate.cpp:
506         (WebCore::XSSAuditorDelegate::didBlockScript):
507         * html/parser/XSSAuditorDelegate.h:
508         (WebCore::XSSInfo::create):
509         (XSSInfo):
510         (WebCore::XSSInfo::XSSInfo):
511
512 2013-03-07  Michelangelo De Simone  <michelangelo@webkit.org>
513
514         [CSS Shaders] Implement hue and saturation non-separable blend modes
515         https://bugs.webkit.org/show_bug.cgi?id=109464
516
517         Added the following GLSL helper functions to the CustomFilterValidatedProgram:
518
519             - css_Sat(C): returns the saturation for the color C
520             - css_SetSat(C, s): sets the saturation s on the color C
521             - css_SetSatHelper(Cmin, Cmid, Cmax, s): helper function for css_SetSat
522
523         The above functions are being used for the "hue" and "saturation" non-separable
524         blend modes, the relevant spec for such modes is at URL:
525         https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blendingnonseparable
526
527         Reviewed by Dean Jackson.
528
529         Tests: css3/filters/custom/custom-filter-nonseparable-blend-mode-hue.html
530                css3/filters/custom/custom-filter-nonseparable-blend-mode-saturation.html
531
532         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
533         (WebCore::CustomFilterValidatedProgram::blendFunctionString):
534
535 2013-03-07  Andrey Lushnikov  <lushnikov@chromium.org>
536
537         Web Inspector: [ACE] set correct font
538         https://bugs.webkit.org/show_bug.cgi?id=111747
539
540         Reviewed by Pavel Feldman.
541
542         No new tests.
543
544         Set class "source-code" for the ace editor element.
545
546         * inspector/front-end/AceTextEditor.js:
547         (WebInspector.AceTextEditor):
548
549 2013-03-06  Ojan Vafai  <ojan@chromium.org>
550
551         Recalculate borders at the beginning of table layout
552         https://bugs.webkit.org/show_bug.cgi?id=111634
553
554         Reviewed by Julien Chaffraix.
555
556         Doing it in convertStyleLogicalWidthToComputedWidth missed some dynamic
557         relayout cases. I confirmed that the new results match the results we
558         would get if we set the border width initially instead of dynamically.
559
560         * rendering/RenderTable.cpp:
561         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
562         (WebCore::RenderTable::layout):
563
564 2013-03-07  David Hyatt  <hyatt@apple.com>
565
566         border-fit-adjust should happen at layout time rather than paint time
567         https://bugs.webkit.org/show_bug.cgi?id=111606
568         <rdar://problem/13101714>
569
570         Reviewed by Antti Koivisto.
571
572         In order for border-fit-adjust to be accurate in more cases, it needs
573         to be a layout-time adjustment rather than a paint-time adjustment.
574         Specifically there are cases where an LTR adjusted box was right-aligned
575         by its container, and without genuinely shrinking the size of the box,
576         we end up chopping off the right edge but not shifting the box to the
577         right to compensate.
578         
579         This patch changes border-fit-adjust to now do the adjustment using
580         the override width mechanism and a second layout pass instead of just
581         hacking painting.
582
583         Test: fast/block/border-fit-with-right-alignment.html
584
585         * rendering/RenderBlock.cpp:
586         (WebCore::RenderBlock::layoutBlock):
587         Calls fitBorderToLinesIfNeeded at the end of layout to do a second
588         layout pass if the adjustment needs to be made.
589
590         (WebCore::RenderBlock::fitBorderToLinesIfNeeded):
591         Renamed borderFitAdjust to fitBorderToLinesIfNeeded and made it
592         non-virtual, since it's no longer called from RenderBox code. Changed it
593         to do a relayout using override widths if an adjustment is needed.
594
595         * rendering/RenderBlock.h:
596         (RenderBlock):
597         Renamed borderFitAdjust to fitBorderToLinesIfNeeded and made it
598         non-virtual.
599
600         * rendering/RenderBox.cpp:
601         (WebCore::RenderBox::paintBoxDecorations):
602         (WebCore::RenderBox::paintMask):
603         Removed the paint-time border-fit adjustment.
604
605         (WebCore::RenderBox::computeLogicalWidthInRegion):
606         Use the override width when border-fit is set to lines.
607
608         * rendering/RenderBox.h:
609         (RenderBox):
610         Remove the virtual borderFitAdjust method.
611
612 2013-03-07  Allan Sandfeld Jensen  <allan.jensen@digia.com>
613
614         REGRESSION(r143727): Clicking / selecting inside an <embed> is broken
615         https://bugs.webkit.org/show_bug.cgi?id=111217
616
617         Reviewed by Julien Chaffraix.
618
619         Hit-testing into child frames need to happen in RenderPart, otherwise
620         we will miss frame views in <embed> and <object> elements. 
621
622         Test: fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content.html
623
624         * rendering/RenderFrameBase.cpp:
625         * rendering/RenderFrameBase.h:
626         (RenderFrameBase):
627         * rendering/RenderPart.cpp:
628         (WebCore::RenderPart::nodeAtPoint):
629         * rendering/RenderPart.h:
630         (RenderPart):
631
632 2013-03-07  Alexey Proskuryakov  <ap@apple.com>
633
634         FormData should allow setting filename to empty
635         https://bugs.webkit.org/show_bug.cgi?id=111687
636
637         Reviewed by Brady Eidson.
638
639         Tests: http/tests/local/formdata/send-form-data-with-empty-blob-filename.html
640                http/tests/local/formdata/send-form-data-with-empty-file-filename.html
641
642         * html/FileInputType.cpp: (WebCore::FileInputType::appendFormData):
643         Use a Blob for empty file input, not a hacky File with empty path.
644
645         * platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems):
646         Missing value is a null string. If the string is empty, we should treat is as
647         authoritative.
648
649 2013-03-07  Andrey Lushnikov  <lushnikov@chromium.org>
650
651         Web Inspector: [CodeMirror] dublicated horizontal scroll
652         https://bugs.webkit.org/show_bug.cgi?id=111712
653
654         Reviewed by Pavel Feldman.
655
656         Set a box-sizing css property on all codemirror elements to
657         "content-box".
658
659         No new tests.
660
661         * inspector/front-end/cm/cmdevtools.css:
662         (.CodeMirror *):
663
664 2013-03-07  Vsevolod Vlasov  <vsevik@chromium.org>
665
666         Web Inspector: Styles sidebar pane toolbar disappears in horizontal split mode.
667         https://bugs.webkit.org/show_bug.cgi?id=111735
668
669         Reviewed by Pavel Feldman.
670
671         * inspector/front-end/ElementsPanel.js:
672         (WebInspector.ElementsPanel.prototype._splitVertically):
673         * inspector/front-end/elementsPanel.css:
674         (.sidebar-pane.composite .metrics-and-computed .sidebar-pane-toolbar):
675
676 2013-03-07  Zan Dobersek  <zdobersek@igalia.com>
677
678         [GTK] Limit the supported compilers to GCC >= 4.7 and Clang >= 3.0
679         https://bugs.webkit.org/show_bug.cgi?id=109932
680
681         Reviewed by Martin Robinson.
682
683         * GNUmakefile.am: Replace references to SYMBOL_VISIBILITY_INLINES and SYMBOL_VISIBILITY variables with the actual flags.
684         They are now available by default due to the limited set of supported compilers.
685         * bindings/gobject/GNUmakefile.am: Ditto.
686
687 2013-03-07  Mike West  <mkwst@chromium.org>
688
689         XSSAuditor should send only one console error when blocking a page.
690         https://bugs.webkit.org/show_bug.cgi?id=110733
691
692         Reviewed by Daniel Bates.
693
694         Currently, we send two console errors when XSSAuditor blocks a page:
695         "Refused to execute a JavaScript script. Source code of script found
696         within request.\n", and "Entire page will be blocked.".
697
698         We should only send one message, tuning it properly for the context, and
699         including the URL of the page effected by the XSSAuditor's work.
700
701         Covered by rebaselines of all the XSSAuditor and 'reflected-xss' tests.
702
703         * html/parser/XSSAuditor.cpp:
704         * html/parser/XSSAuditor.h:
705         (WebCore::XSSAuditor::XSSAuditor):
706             Add two booleans to track the headers used to set the XSSAuditor state.
707         (WebCore::XSSAuditor::init):
708             Save a copy of the document's URL even if we're not generating a
709             report upon violation: we'll need it for the console messages. Also
710             populate the didSendValidXXXHeader booleans for use later.
711         (WebCore::XSSAuditor::filterToken):
712             Add detail about the header status to the constructed XSSInfo object.
713         * html/parser/XSSAuditorDelegate.cpp:
714         (WebCore::buildConsoleError):
715             Move message construction out into a separate inlined function, as
716             it's becoming complex.
717         (WebCore::XSSAuditorDelegate::didBlockScript):
718             Fold the "Entire page will be blocked" message into the main console
719             error.
720         * html/parser/XSSAuditorDelegate.h:
721         (WebCore::XSSInfo::create):
722         (WebCore::XSSInfo::XSSInfo):
723             Add detail about header status to XSSInfo in order to correctly
724             construct the console error.
725
726 2013-03-07  Vsevolod Vlasov  <vsevik@chromium.org>
727
728         Web Inspector: Add some more compilation annotations to NavigatorView
729         https://bugs.webkit.org/show_bug.cgi?id=111730
730
731         Reviewed by Alexander Pavlov.
732
733         * inspector/front-end/NavigatorView.js:
734
735 2013-03-06  Gustavo Noronha Silva  <gns@gnome.org>
736
737         [GTK] Enable translations for WebKit2
738         https://bugs.webkit.org/show_bug.cgi?id=111398
739
740         Reviewed by Martin Robinson.
741
742         Build change only, thus no tests.
743
744         * GNUmakefile.am: distribute po files.
745         * platform/gtk/po/POTFILES.in: adjust paths for translatable files.
746
747 2013-03-07  Andrey Lushnikov  <lushnikov@chromium.org>
748
749         Web Inspector: [CodeMirror] update codemirror to version 3.1
750         https://bugs.webkit.org/show_bug.cgi?id=111711
751
752         Reviewed by Vsevolod Vlasov.
753
754         Update code mirror experimental editor to version 3.1
755
756         No new tests.
757
758         * inspector/front-end/cm/codemirror.css:
759         (.CodeMirror div.CodeMirror-cursor):
760         (.CodeMirror div.CodeMirror-secondarycursor):
761         (.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor):
762         (.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor:not(#nonsense_id)):
763         (.CodeMirror div.CodeMirror-cursor.CodeMirror-overwrite):
764         (.CodeMirror-gutters):
765         (.CodeMirror-linewidget):
766         (.CodeMirror-widget):
767         (.CodeMirror-focused div.CodeMirror-cursor):
768         (@media print):
769         * inspector/front-end/cm/codemirror.js:
770         (window.CodeMirror):
771         (window.CodeMirror.):
772
773 2013-03-07  Sergio Correia  <sergio.correia@openbossa.org>
774
775         OpenGLShims: fix check for ANGLE GLES2 extensions
776         https://bugs.webkit.org/show_bug.cgi?id=111656
777
778         Reviewed by Simon Hausmann.
779
780         The check for ANGLE GLES2 extensions is currently being overriden
781         with checks for APPLE extensions in lookupOpenGLFunctionAddress().
782
783         No new tests. No user visible behavior changed.
784
785         * platform/graphics/OpenGLShims.cpp:
786         (WebCore::lookupOpenGLFunctionAddress):
787
788 2013-03-07  David Kilzer  <ddkilzer@apple.com>
789
790         Rename visible_units.h to VisibleUnits.h in WebCore.vcxproj.filters
791         <http://webkit.org/b/111426>
792
793         * WebCore.vcxproj/WebCore.vcxproj.filters: Rename visible_units.h
794         to VisibleUnits.h and re-sort.
795
796 2013-03-07  Vsevolod Vlasov  <vsevik@chromium.org>
797
798         Web Inspector: Support a shortcut for reloading front-end in debug mode.
799         https://bugs.webkit.org/show_bug.cgi?id=111709
800
801         Reviewed by Pavel Feldman.
802
803         * inspector/front-end/buildSystemOnly.js:
804         * inspector/front-end/inspector.js:
805         (WebInspector.documentKeyDown):
806
807 2013-03-07  Vsevolod Vlasov  <vsevik@chromium.org>
808
809         Web Inspector: Support setting up file system mappings from scripts panel context menu.
810         https://bugs.webkit.org/show_bug.cgi?id=111583
811
812         Reviewed by Pavel Feldman.
813
814         Added context menu items to set up network - file system mappings from sources panel.
815         Implemented mapping add/remove methods on Workspace.
816         Added a dialog suggesting to reload front-end after making such changes.
817
818         * English.lproj/localizedStrings.js:
819         * inspector/front-end/FileSystemMapping.js:
820         (WebInspector.FileSystemMappingImpl.prototype.fileSystemPath):
821         * inspector/front-end/FileSystemProjectDelegate.js:
822         (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemRemoved):
823         (WebInspector.FileSystemWorkspaceProvider.prototype.fileSystemPath):
824         * inspector/front-end/FilteredItemSelectionDialog.js:
825         (WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
826         (WebInspector.FilteredItemSelectionDialog.prototype.setQuery):
827         (WebInspector.SelectUISourceCodeDialog):
828         (WebInspector.SelectUISourceCodeDialog.prototype.uiSourceCodeSelected):
829         (WebInspector.SelectUISourceCodeDialog.prototype.filterProject):
830         (WebInspector.SelectUISourceCodeDialog.prototype.filterUISourceCode):
831         (WebInspector.SelectUISourceCodeDialog.prototype.selectItem):
832         (WebInspector.SelectUISourceCodeDialog.prototype._uiSourceCodeAdded):
833         (WebInspector.OpenResourceDialog):
834         (WebInspector.OpenResourceDialog.prototype.uiSourceCodeSelected):
835         (WebInspector.OpenResourceDialog.prototype.filterProject):
836         (WebInspector.SelectUISourceCodeForProjectTypeDialog):
837         (WebInspector.SelectUISourceCodeForProjectTypeDialog.prototype.uiSourceCodeSelected):
838         (WebInspector.SelectUISourceCodeForProjectTypeDialog.prototype.filterProject):
839         (WebInspector.SelectUISourceCodeForProjectTypeDialog.show):
840         * inspector/front-end/ScriptsPanel.js:
841         (WebInspector.ScriptsPanel.prototype._mapFileSystemToNetwork.mapFileSystemToNetwork):
842         (WebInspector.ScriptsPanel.prototype._mapFileSystemToNetwork):
843         (WebInspector.ScriptsPanel.prototype._removeNetworkMapping):
844         (WebInspector.ScriptsPanel.prototype._mapNetworkToFileSystem.mapNetworkToFileSystem):
845         (WebInspector.ScriptsPanel.prototype._mapNetworkToFileSystem):
846         (WebInspector.ScriptsPanel.prototype.):
847         (WebInspector.ScriptsPanel.prototype._appendUISourceCodeMappingItems):
848         (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
849         * inspector/front-end/SettingsScreen.js:
850         (WebInspector.WorkspaceSettingsTab):
851         (WebInspector.WorkspaceSettingsTab.prototype.wasShown):
852         (WebInspector.WorkspaceSettingsTab.prototype._reset):
853         * inspector/front-end/ViewportControl.js:
854         (WebInspector.ViewportControl.prototype.refresh):
855         * inspector/front-end/Workspace.js:
856         (WebInspector.Workspace.prototype.addMapping):
857         (WebInspector.Workspace.prototype.removeMapping):
858         * inspector/front-end/externs.js:
859         (WebInspector.suggestReload):
860         * inspector/front-end/inspector.js:
861         (WebInspector.suggestReload):
862
863 2013-03-07  Vsevolod Vlasov  <vsevik@chromium.org>
864
865         Web Inspector: Add support for frontend reloading
866         https://bugs.webkit.org/show_bug.cgi?id=111727
867
868         Reviewed by Pavel Feldman.
869
870         This patch adds support for frontend reloading including:
871           - making sure no messages are sent to backend once frontend started reloading
872           - updating frontend url with up-to-date dockSide query parameter value.
873
874         * inspector/front-end/InspectorBackend.js:
875         (InspectorBackendClass.prototype.sendMessageObjectToBackend):
876         (InspectorBackendClass.prototype.disconnect):
877         * inspector/front-end/externs.js:
878         (WebInspector.reload):
879         * inspector/front-end/inspector.js:
880         (WebInspector.reload):
881
882 2013-03-07  Alexei Filippov  <alph@chromium.org>
883
884         Web Inspector: Change profile start button caption depending on profile type.
885         https://bugs.webkit.org/show_bug.cgi?id=111698
886
887         Change the start profiling button caption to "Snapshot" for
888         snapshot-like profile types, e.g. JS heap snapshot, native memory snapshot.
889
890         Reviewed by Yury Semikhatsky.
891
892         * English.lproj/localizedStrings.js:
893         * inspector/front-end/HeapSnapshotView.js:
894         (WebInspector.HeapSnapshotProfileType.prototype.isInstantProfile):
895         * inspector/front-end/NativeMemorySnapshotView.js:
896         (WebInspector.NativeSnapshotProfileType.prototype.isInstantProfile):
897         (WebInspector.NativeMemoryProfileType.prototype.isInstantProfile):
898         * inspector/front-end/ProfileLauncherView.js:
899         (WebInspector.ProfileLauncherView):
900         (WebInspector.ProfileLauncherView.prototype.addProfileType):
901         (WebInspector.ProfileLauncherView.prototype._updateControls):
902         (WebInspector.MultiProfileLauncherView.prototype._updateControls):
903         (WebInspector.MultiProfileLauncherView.prototype._profileTypeChanged):
904         * inspector/front-end/ProfilesPanel.js:
905         (WebInspector.ProfileType.prototype.isInstantProfile):
906
907 2013-03-07  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
908
909         [texmap] Remove direct access to clip state from clip stack
910         https://bugs.webkit.org/show_bug.cgi?id=111630
911
912         Reviewed by Allan Sandfeld Jensen.
913
914         As we are now monitoring the clip state from
915         TextureMapperGL/BitmapTextureGL, have direct access to clip state object
916         would eventually make it dirty without properly setting the
917         'clipStateDirty' flag. This bug intends to substitute direct access with
918         auxiliary functions which would set the clip state dirty when necessary.
919
920         No new tests. No user visible behavior changed.
921
922         * platform/graphics/texmap/TextureMapperGL.cpp:
923         (WebCore::TextureMapperGL::ClipStack::intersect):
924         (WebCore::TextureMapperGL::ClipStack::setStencilIndex):
925         (WebCore::TextureMapperGL::drawBorder):
926         (WebCore::TextureMapperGL::drawTexture):
927         (WebCore::TextureMapperGL::beginScissorClip):
928         (WebCore::TextureMapperGL::beginClip):
929         Replaced direct access with auxiliary functions.
930
931         * platform/graphics/texmap/TextureMapperGL.h:
932         (ClipStack): Removed ClipStack::current() function.
933         (WebCore::TextureMapperGL::ClipStack::getStencilIndex): Added.
934         (WebCore::TextureMapperGL::ClipStack::isCurrentScissorBoxEmpty): Added.
935
936 2013-03-07  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
937
938         [Texturemapper] transform-style 'flat' value is broken
939         https://bugs.webkit.org/show_bug.cgi?id=111566
940
941         Reviewed by Allan Sandfeld Jensen.
942
943         After changes from r144290, the CSS3 'transform-styles' property, when
944         used with 'flat' value, resulted in non-stenciled rendering inside
945         clipped area - vide example from Surfin' Safari blog:
946         https://www.webkit.org/blog-files/3d-transforms/transform-style.html
947
948         This patch forces the clip state to be applied when binding the default
949         surface.
950
951         No new tests. No user visible behavior changed.
952
953         * platform/graphics/texmap/TextureMapperGL.cpp:
954         (WebCore::TextureMapperGL::ClipStack::apply):
955         (WebCore::TextureMapperGL::ClipStack::applyIfNeeded): Added.
956         Moved state cache check from apply() to applyIfNeeded().
957
958         (WebCore::BitmapTextureGL::clearIfNeeded):
959         (WebCore::BitmapTextureGL::bind):
960         (WebCore::TextureMapperGL::beginScissorClip):
961         (WebCore::TextureMapperGL::beginClip):
962         (WebCore::TextureMapperGL::endClip):
963         * platform/graphics/texmap/TextureMapperGL.h:
964         (ClipStack):
965         Use applyIfNeeded() to check for clip state before clipping.
966
967 2013-03-07  Andrey Lushnikov  <lushnikov@chromium.org>
968
969         Web Inspector: refactoring: move TextEditorModel.Indent enum into TextUtils
970         https://bugs.webkit.org/show_bug.cgi?id=111715
971
972         Reviewed by Pavel Feldman.
973
974         Move WebInspector.TextEditorModel.Indent into WebInspector.TextUtils namespace.
975
976         No new tests: no change in behaviour.
977
978         * inspector/front-end/SettingsScreen.js:
979         (WebInspector.GenericSettingsTab):
980         * inspector/front-end/TextEditorModel.js:
981         (WebInspector.TextEditorModel.endsWithBracketRegex.):
982         * inspector/front-end/TextUtils.js:
983
984 2013-03-07  Ian Vollick  <vollick@chromium.org>
985
986         Fix painting phases for composited scrolling
987         https://bugs.webkit.org/show_bug.cgi?id=107618
988
989         Reviewed by Simon Fraser.
990
991         With composited scrolling, the scrolling contents layer paints the 
992         foreground and the main graphics layer paints the background. This 
993         causes a few problems:
994
995           1) If we create a foreground layer, we end up with two layers painting 
996              the foreground phase.
997           2) Focus rings / outlines paint into the foreground layer, so they end
998              up moving around with the scrolling contents.
999           3) Neg z-order descendants paint in the the main graphics layer and
1000              will therefore not scroll.
1001
1002         To deal with 1) we need to stop painting the foreground into both the
1003         foreground and scrolling contents layers. We also need to ensure that
1004         the foreground layer is the right size and has the right offset from
1005         renderer if we're on the composited scrolling path.
1006
1007         To deal with 2) and 3), I have added a new graphics layer painting phase 
1008         flag -- GraphicsLayerPaintCompositedScroll -- and applied it to two
1009         layers in the subtree created by RenderLayerBacking. This ultimately
1010         affects the paint phase passed to RenderLayer::paintLayerContents and
1011         allows us to paint the focus rings, outlines and negative z-order
1012         descendants into the proper layers.
1013
1014         Tests: compositing/overflow/composited-scrolling-paint-phases.html
1015                compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html
1016                compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html
1017
1018         * page/Frame.h:
1019           Added a flag for including painting phases in the layer tree dump.
1020         (WebCore::GraphicsLayer::dumpProperties):
1021           Can now dump painting phase information, but only if requested.
1022         * platform/graphics/GraphicsLayerClient.h:
1023           Added a new entry to GraphicsLayerPaintingPhaseFlags for comp-scroll.
1024         (WebCore::RenderLayer::paintLayerContents):
1025           Updated the logic to account for the new comp-scroll-related paint
1026           phase flag.
1027         * rendering/RenderLayer.h:
1028           Added the RenderLayer painting phase counterpart to
1029           GraphicsLayerPaintCompositedScroll.
1030         * rendering/RenderLayerBacking.cpp:
1031         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1032           Ensures that the foreground layer is sized correctly for comp-scroll.
1033         (WebCore::RenderLayerBacking::updateScrollingLayers):
1034           If we have a foreground layer, the scrolling contents layer no
1035           longer gets assigned the foreground painting phase.
1036         (WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer):
1037           If we're comp-scrolling, then the primary layer gets the new phase.
1038         (WebCore::RenderLayerBacking::paintIntoLayer):
1039           Simply translates the new graphics layer painting phase to its
1040           render layer counterpart.
1041         (WebCore::RenderLayerCompositor::layerTreeAsText):
1042         * testing/Internals.cpp:
1043         (WebCore::Internals::layerTreeAsText):
1044         * testing/Internals.h:
1045         * testing/Internals.idl:
1046           The above changes are solely plumbing to allow layout tests to
1047           request that paint phase information be included in the layer tree
1048           dump.
1049
1050 2013-03-07  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1051
1052         [Qt] Use Qt5.1 supportedMimeTypes methods.
1053         https://bugs.webkit.org/show_bug.cgi?id=111185
1054
1055         Reviewed by Jocelyn Turcotte.
1056
1057         Uses the supportedMimeTypes() methods from QImageReader and QImageWriter when available.
1058
1059         * platform/MIMETypeRegistry.cpp:
1060         (WebCore::initializeSupportedImageMIMETypes):
1061         (WebCore::initializeSupportedImageMIMETypesForEncoding):
1062
1063 2013-03-07  Ilya Tikhonovsky  <loislo@chromium.org>
1064
1065         Web Inspector: Flame Chart. Stick item color to the function.
1066         https://bugs.webkit.org/show_bug.cgi?id=111697
1067
1068         Reviewed by Yury Semikhatsky.
1069
1070         Different nodes associated with a single function have to use the same color.
1071         Minor polish: do not filter out (idle) and (program) items. They were big due to an error on v8 side.
1072         Set minimum width to 0 for more precise picture.
1073
1074         * inspector/front-end/FlameChart.js:
1075         (WebInspector.FlameChart):
1076         (WebInspector.FlameChart.prototype._rootNodes):
1077         (WebInspector.FlameChart.prototype.draw):
1078         (WebInspector.FlameChart.prototype._drawNode):
1079         (WebInspector.FlameChart.prototype._drawBar):
1080
1081 2013-03-07  Andrey Lushnikov  <lushnikov@chromium.org>
1082
1083         Web Inspector: [ACE] gutter size should be fixed.
1084         https://bugs.webkit.org/show_bug.cgi?id=111576
1085
1086         Reviewed by Pavel Feldman.
1087
1088         Add a custom ace editor build that supports setFixedGutterWidth configuration
1089         parameter and switch this setting on.
1090
1091         No new tests.
1092
1093         * inspector/front-end/AceTextEditor.js:
1094         (WebInspector.AceTextEditor): Switch fixedGutterWidth setting on.
1095         * inspector/front-end/ace/ace.js:
1096         (.):
1097
1098 2013-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1099
1100         Unreviewed, rolling out r145059.
1101         http://trac.webkit.org/changeset/145059
1102         https://bugs.webkit.org/show_bug.cgi?id=111707
1103
1104         crash webkit build (Requested by tasak on #webkit).
1105
1106         * CMakeLists.txt:
1107         * GNUmakefile.list.am:
1108         * Target.pri:
1109         * WebCore.gypi:
1110         * WebCore.xcodeproj/project.pbxproj:
1111         * css/CSSAllInOne.cpp:
1112         * css/DocumentRuleSets.cpp:
1113         (WebCore::ShadowDistributedRules::collectMatchRequests):
1114         * css/DocumentRuleSets.h:
1115         * css/ElementRuleCollector.cpp: Removed.
1116         * css/ElementRuleCollector.h: Removed.
1117         * css/PageRuleCollector.cpp: Removed.
1118         * css/PageRuleCollector.h: Removed.
1119         * css/StyleResolver.cpp:
1120         (WebCore::leftToRightDeclaration):
1121         (WebCore):
1122         (WebCore::rightToLeftDeclaration):
1123         (WebCore::StyleResolver::State::ensureRuleList):
1124         (WebCore::StyleResolver::State::clear):
1125         (WebCore::StyleResolver::addMatchedProperties):
1126         (WebCore::StyleResolver::addElementStyleProperties):
1127         (MatchingUARulesScope):
1128         (WebCore::MatchingUARulesScope::MatchingUARulesScope):
1129         (WebCore::MatchingUARulesScope::~MatchingUARulesScope):
1130         (WebCore::MatchingUARulesScope::isMatchingUARules):
1131         (WebCore::StyleResolver::collectMatchingRules):
1132         (WebCore::StyleResolver::collectMatchingRulesForRegion):
1133         (WebCore::StyleResolver::sortAndTransferMatchedRules):
1134         (WebCore::StyleResolver::matchScopedAuthorRules):
1135         (WebCore::StyleResolver::matchHostRules):
1136         (WebCore::StyleResolver::matchAuthorRules):
1137         (WebCore::StyleResolver::matchUserRules):
1138         (WebCore::StyleResolver::matchUARules):
1139         (WebCore::StyleResolver::collectMatchingRulesForList):
1140         (WebCore::compareRules):
1141         (WebCore::StyleResolver::sortMatchedRules):
1142         (WebCore::StyleResolver::matchAllRules):
1143         (WebCore::StyleResolver::State::initForStyleResolve):
1144         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
1145         (WebCore::StyleResolver::styleForElement):
1146         (WebCore::StyleResolver::styleForKeyframe):
1147         (WebCore::StyleResolver::pseudoStyleForElement):
1148         (WebCore::StyleResolver::styleForPage):
1149         (WebCore::StyleResolver::pseudoStyleRulesForElement):
1150         (WebCore::StyleResolver::ruleMatches):
1151         (WebCore::StyleResolver::checkRegionSelector):
1152         (WebCore::comparePageRules):
1153         (WebCore::StyleResolver::matchPageRules):
1154         (WebCore::checkPageSelectorComponents):
1155         (WebCore::StyleResolver::matchPageRulesForList):
1156         (WebCore::StyleResolver::isLeftPage):
1157         (WebCore::StyleResolver::isFirstPage):
1158         (WebCore::StyleResolver::pageName):
1159         * css/StyleResolver.h:
1160         (WebCore::MatchRequest::MatchRequest):
1161         (MatchRequest):
1162         (StyleResolver):
1163         (MatchResult):
1164         (WebCore::StyleResolver::State::State):
1165         (State):
1166         (WebCore::StyleResolver::State::takeRuleList):
1167         (WebCore::StyleResolver::State::setSameOriginOnly):
1168         (WebCore::StyleResolver::State::isSameOriginOnly):
1169         (WebCore::StyleResolver::State::pseudoStyleRequest):
1170         (WebCore::StyleResolver::State::setMode):
1171         (WebCore::StyleResolver::State::mode):
1172         (WebCore::StyleResolver::State::matchedRules):
1173         (WebCore::StyleResolver::State::addMatchedRule):
1174         * inspector/InspectorCSSAgent.cpp:
1175         (WebCore::InspectorCSSAgent::willMatchRule):
1176         * inspector/InspectorCSSAgent.h:
1177         (WebCore):
1178         (InspectorCSSAgent):
1179         * inspector/InspectorInstrumentation.cpp:
1180         (WebCore):
1181         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
1182         * inspector/InspectorInstrumentation.h:
1183         (WebCore):
1184         (InspectorInstrumentation):
1185         (WebCore::InspectorInstrumentation::willMatchRule):
1186
1187 2013-03-07  Kentaro Hara  <haraken@chromium.org>
1188
1189         Unreviewed. Rebaselined run-bindings-tests.
1190
1191         * bindings/scripts/test/V8/V8TestInterface.cpp:
1192         (WebCore):
1193         * bindings/scripts/test/V8/V8TestObj.cpp:
1194         (WebCore):
1195
1196 2013-03-07  Takashi Sakamoto  <tasak@google.com>
1197
1198         [Refactoring] Implement RuleCollector
1199         https://bugs.webkit.org/show_bug.cgi?id=109916
1200
1201         Reviewed by Antti Koivisto.
1202
1203         Implemented rule collector for an element and collector for a page.
1204         Not all members in class State are required entire while resolving
1205         a style.
1206
1207         No new tests, because just refactoring.
1208
1209         * CMakeLists.txt:
1210         * GNUmakefile.list.am:
1211         * Target.pri:
1212         * WebCore.gypi:
1213         * WebCore.xcodeproj/project.pbxproj:
1214         * css/CSSAllInOne.cpp:
1215         Added ElementRuleCollector and PageRuleCollector.
1216         * css/DocumentRuleSets.cpp:
1217         (WebCore::ShadowDistributedRules::collectMatchRequests):
1218         Since behaviorAtBoundary is a state owned by ElementRuleCollector,
1219         removed from here.
1220         * css/DocumentRuleSets.h:
1221         (WebCore::ShadowDistributedRules::isEmpty):
1222         Added to quickly check whether there exist any ShadowDistributedRules
1223         or not.
1224         * css/ElementRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
1225         (WebCore):
1226         (WebCore::ElementRuleCollector::matchedResult):
1227         (WebCore::ElementRuleCollector::matchedRuleList):
1228         (WebCore::ElementRuleCollector::addMatchedRule):
1229         (WebCore::ElementRuleCollector::clearMatchedRules):
1230         (WebCore::ElementRuleCollector::ensureRuleList):
1231         (WebCore::ElementRuleCollector::addElementStyleProperties):
1232         (WebCore::ElementRuleCollector::collectMatchingRules):
1233         (WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
1234         (WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
1235         (WebCore::ElementRuleCollector::matchScopedAuthorRules):
1236         (WebCore::ElementRuleCollector::matchHostRules):
1237         (WebCore::ElementRuleCollector::matchShadowDistributedRules):
1238         (WebCore::ElementRuleCollector::matchAuthorRules):
1239         (WebCore::ElementRuleCollector::matchUserRules):
1240         (WebCore::ElementRuleCollector::matchUARules):
1241         (WebCore::ElementRuleCollector::ruleMatches):
1242         (WebCore::ElementRuleCollector::collectMatchingRulesForList):
1243         (WebCore::ElementRuleCollector::sortMatchedRules):
1244         (WebCore::ElementRuleCollector::matchAllRules):
1245         Moved these methods from StyleResolver to this class.
1246         (WebCore::ElementRuleCollector::hasAnyMatchingRules):
1247         This method is used for checking whether a given element can share
1248         a cache.
1249         * css/ElementRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
1250         (WebCore):
1251         (WebCore::ElementRuleCollector::ElementRuleCollector):
1252         Use styleResolver instance to initialize its member variables, i.e.
1253         SelectorFilter, RuleSets, InspectorCSSOMWrappers, and
1254         StyleScopedResolver.
1255         (ElementRuleCollector):
1256         (WebCore::ElementRuleCollector::setMode):
1257         (WebCore::ElementRuleCollector::setPseudoStyleRequest):
1258         (WebCore::ElementRuleCollector::setSameOriginOnly):
1259         (WebCore::ElementRuleCollector::setRegionForStyling):
1260         Mode, SameOriginOnly, RegionForStyling are only used while collecting
1261         matched rules.
1262         (WebCore::ElementRuleCollector::setMedium):
1263         Need to know which default stylesheet should be looked up.
1264         (WebCore::ElementRuleCollector::document):
1265         * css/PageRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
1266         (WebCore::comparePageRules):
1267         (WebCore::PageRuleCollector::isLeftPage):
1268         (WebCore::PageRuleCollector::isFirstPage):
1269         (WebCore::PageRuleCollector::pageName):
1270         (WebCore::PageRuleCollector::matchAllPageRules):
1271         (WebCore::PageRuleCollector::matchPageRules):
1272         (WebCore::checkPageSelectorComponents):
1273         (WebCore::PageRuleCollector::matchPageRulesForList):
1274         Moved from StyleResolver.
1275         * css/PageRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
1276         (WebCore):
1277         (WebCore::PageRuleCollector::PageRuleCollector):
1278         (PageRuleCollector):
1279         (WebCore::PageRuleCollector::matchedResult):
1280         * css/StyleResolver.cpp:
1281         (WebCore):
1282         (WebCore::StyleResolver::State::clear):
1283         (WebCore::StyleResolver::MatchResult::addMatchedProperties):
1284         (WebCore::StyleResolver::State::initForStyleResolve):
1285         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
1286         (WebCore::StyleResolver::styleForElement):
1287         (WebCore::StyleResolver::styleForKeyframe):
1288         (WebCore::StyleResolver::pseudoStyleForElement):
1289         (WebCore::StyleResolver::styleForPage):
1290         (WebCore::StyleResolver::pseudoStyleRulesForElement):
1291         (WebCore::StyleResolver::applyMatchedProperties):
1292         * css/StyleResolver.h:
1293         (WebCore::MatchRequest::MatchRequest):
1294         Removed behaviorAtBoundary. Instead, ElementRuleCollector have the
1295         state.
1296         (MatchRequest):
1297         (WebCore::StyleResolver::selectorFilter):
1298         Added to obtain SelectorFilter in ElementRuleCollector's constructor.
1299         (StyleResolver):
1300         (MatchResult):
1301         (WebCore::StyleResolver::State::State):
1302         To pass ASSERT in StyleResolver::applyProperties, need to keep
1303         m_regionForStyling.
1304         (State):
1305         (WebCore::StyleResolver::State::regionForStyling):
1306         (WebCore::StyleResolver::State::useSVGZoomRules):
1307         (WebCore::StyleResolver::hasSelectorForId):
1308         (WebCore):
1309         (WebCore::checkRegionSelector):
1310         * inspector/InspectorCSSAgent.cpp:
1311         (WebCore::InspectorCSSAgent::willMatchRule):
1312         Removed StyleResolver from its parameter list. Instead, added
1313         InspectorCSSOMWrappers and DocumentStyleSheetCollection.
1314         * inspector/InspectorCSSAgent.h:
1315         (WebCore):
1316         (InspectorCSSAgent):
1317         * inspector/InspectorInstrumentation.cpp:
1318         (WebCore):
1319         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
1320         * inspector/InspectorInstrumentation.h:
1321         (WebCore):
1322         (InspectorInstrumentation):
1323         (WebCore::InspectorInstrumentation::willMatchRule):
1324
1325 2013-03-07  Andrey Lushnikov  <lushnikov@chromium.org>
1326
1327         Web Inspector: [ACE] add experimental breakpoint support
1328         https://bugs.webkit.org/show_bug.cgi?id=111573
1329
1330         Reviewed by Pavel Feldman.
1331
1332         No new tests.
1333
1334         - Implement attributes model for ace editor. Update attribute
1335         locations by handling onTextChange event from editor.
1336         - Implement breakpoints atop of attributes model.
1337
1338         * inspector/front-end/AceTextEditor.js:
1339         (WebInspector.AceTextEditor):
1340         (WebInspector.AceTextEditor.prototype._updateBreakpoints):
1341         (WebInspector.AceTextEditor.prototype._updateLineAttributes):
1342         (WebInspector.AceTextEditor.prototype._onTextChange):
1343         (WebInspector.AceTextEditor.prototype.addBreakpoint):
1344         (WebInspector.AceTextEditor.prototype.removeBreakpoint):
1345         (WebInspector.AceTextEditor.prototype.getAttribute):
1346         (WebInspector.AceTextEditor.prototype.setAttribute):
1347         (WebInspector.AceTextEditor.prototype.removeAttribute):
1348         * inspector/front-end/ace/acedevtools.css:
1349         (.ace-editor-container):
1350         (.ace_gutter-cell.webkit-breakpoint):
1351         (.ace_gutter-cell.webkit-breakpoint-conditional):
1352         (.ace_gutter-cell.webkit-breakpoint-disabled):
1353         (.ace_gutter-cell):
1354
1355 2013-03-07  Antoine Quint  <graouts@apple.com>
1356
1357         Web Inspector: identify layers for CSS generated content in LayerTreeAgent
1358         https://bugs.webkit.org/show_bug.cgi?id=111551
1359
1360         Layers can be associated with pseudo elements, elements that are generated
1361         when ::before or ::after pseudo-classes are used to style an element and
1362         provide additional rendering using the CSS "content" property. In order to
1363         identify that a layer is associated to a pseudo element, we add a new set of
1364         optional properties on the Layer object: "isGeneratedContent", "pseudoElementId"
1365         and "pseudoClass".
1366
1367         We need to provide the "pseudoElementId" for the same reason we provide a
1368         "nodeId" for the Layer. This is so that the front-end can identify that a
1369         layer whose "layerId" may have changed between two layer tree updates is
1370         used to render content for the same pseudo element.
1371
1372         In the instance that a layer is rendering generated content, we also set
1373         the "nodeId" to be the generating node's id. The generating node is the
1374         node in the DOM that the user styled using ::before or ::after pseudo-classes.
1375         We also add the pseudo-class used as the "pseudoClass" property such that the
1376         front-end may provide useful information to the user about what type of
1377         pseudo-class yielded the generation of this layer. We also deal with the
1378         possibility that the layer is a reflection for a pseudo element.
1379     
1380         Since pseudo elements are not part of the user-visible DOM, and thus can't be
1381         pushed to the front-end, we maintain a special ID hash map in the LayerTreeAgent.
1382         In order to be able to unbind a pseudo element id and a pseudo element, we add a
1383         destructor method to PseudoElement and provide a new instrumentation call so that
1384         the LayerTreeAgent may be notified of a PseudoElement being destroyed. This
1385         reflects the principle we use to update the RenderLayer bindings when a
1386         RenderLayer is destroyed, as notified by the RenderLayerCompositor.
1387
1388         Reviewed by Simon Fraser.
1389
1390         Test: inspector-protocol/layers/layers-generated-content.html
1391
1392         * dom/PseudoElement.cpp:
1393         (WebCore::PseudoElement::~PseudoElement): New destructor used to notify
1394         InspectorInstrumentation of a PseudoElement being destroyed, such that
1395         it can eventually be relayed to the InspectorLayerTreeAgent.
1396         (WebCore):
1397         * dom/PseudoElement.h:
1398         (PseudoElement):
1399         * inspector/Inspector.json: Add the new PseudoElementId type used for
1400         the new "pseudoElementId" property on Layer, to which we also add the
1401         "isGeneratedContent" and "pseudoClass" properties.
1402         * inspector/InspectorInstrumentation.cpp:
1403         (WebCore):
1404         (WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
1405         * inspector/InspectorInstrumentation.h:
1406         (WebCore):
1407         (InspectorInstrumentation):
1408         (WebCore::InspectorInstrumentation::pseudoElementDestroyed): New method
1409         called in the PseudoElement destructor used to relay the fact that a
1410         PseudoElement was destroyed to the InspectorLayerTreeAgent.
1411         * inspector/InspectorLayerTreeAgent.cpp:
1412         (WebCore::InspectorLayerTreeAgent::reset): Clear the new PseudoElement
1413         identifier maps.
1414         (WebCore::InspectorLayerTreeAgent::pseudoElementDestroyed): Remove any
1415         identifier binding for the provided PseudoElement being destroyed.
1416         (WebCore):
1417         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer): Set the new
1418         "isGeneratedContent", "pseudoElementId" and "pseudoClass" properties on
1419         the Layer object for layers associated with a pseudo element.
1420         (WebCore::InspectorLayerTreeAgent::bind): Use emptyString() instead of "".
1421         (WebCore::InspectorLayerTreeAgent::unbind): Use an iterator instead of a
1422         get() and remove() combination in order to reduce lookups and mimick the
1423         code written for unbindPseudoElement().
1424         (WebCore::InspectorLayerTreeAgent::bindPseudoElement): Binds the provided
1425         PseudoElement to a unique identifier.
1426         (WebCore::InspectorLayerTreeAgent::unbindPseudoElement): Unbinds the
1427         provided PseudoElement from its unique identifier.
1428         * inspector/InspectorLayerTreeAgent.h:
1429         (InspectorLayerTreeAgent):
1430
1431 2013-03-07  Keishi Hattori  <keishi@webkit.org>
1432
1433         Add clear button to date/time input types
1434         https://bugs.webkit.org/show_bug.cgi?id=111319
1435
1436         Reviewed by Kent Tamura.
1437
1438         We want to remove the clear button from the calendar picker (Bug 109439)
1439         so we are adding the clear button to the right side of the input element.
1440
1441         Tests: fast/forms/date-multiple-fields/date-multiple-fields-clearbutton-change-and-input-events.html
1442                fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-clearbutton-change-and-input-events.html
1443                fast/forms/month-multiple-fields/month-multiple-fields-clearbutton-change-and-input-events.html
1444                fast/forms/time-multiple-fields/time-multiple-fields-clearbutton-change-and-input-events.html
1445                fast/forms/week-multiple-fields/week-multiple-fields-clearbutton-change-and-input-events.html
1446
1447         * CMakeLists.txt: Added ClearButtonElement.cpp
1448         * GNUmakefile.list.am: Ditto.
1449         * Target.pri: Ditto.
1450         * WebCore.gypi: Ditto.
1451         * WebCore.vcproj/WebCore.vcproj: Ditto.
1452         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1453         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1454         * WebCore.xcodeproj/project.pbxproj: Ditto.
1455         * css/html.css:
1456         (input::-webkit-clear-button): Styles for the clear button.
1457         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
1458         (WebCore::BaseMultipleFieldsDateAndTimeInputType::editControlValueChanged):
1459         (WebCore::BaseMultipleFieldsDateAndTimeInputType::BaseMultipleFieldsDateAndTimeInputType):
1460         (WebCore::BaseMultipleFieldsDateAndTimeInputType::~BaseMultipleFieldsDateAndTimeInputType):
1461         (WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree):
1462         (WebCore::BaseMultipleFieldsDateAndTimeInputType::destroyShadowSubtree):
1463         (WebCore::BaseMultipleFieldsDateAndTimeInputType::disabledAttributeChanged):
1464         (WebCore::BaseMultipleFieldsDateAndTimeInputType::requiredAttributeChanged): Hide clear button if the value is required.
1465         (WebCore):
1466         (WebCore::BaseMultipleFieldsDateAndTimeInputType::readonlyAttributeChanged):
1467         (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue):
1468         (WebCore::BaseMultipleFieldsDateAndTimeInputType::focusAndSelectClearButtonOwner): Called on mouse down on clear button.
1469         (WebCore::BaseMultipleFieldsDateAndTimeInputType::shouldClearButtonRespondToMouseEvents):
1470         (WebCore::BaseMultipleFieldsDateAndTimeInputType::clearValue):
1471         (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateClearButtonVisibility): We want to hide the clear button if the value is required or the value is empty.
1472         * html/BaseMultipleFieldsDateAndTimeInputType.h:
1473         (BaseMultipleFieldsDateAndTimeInputType):
1474         * html/HTMLInputElement.cpp:
1475         (WebCore::HTMLInputElement::updateClearButtonVisibility):
1476         (WebCore):
1477         (WebCore::HTMLInputElement::requiredAttributeChanged):
1478         * html/HTMLInputElement.h:
1479         (HTMLInputElement):
1480         * html/InputType.cpp:
1481         (WebCore::InputType::requiredAttributeChanged): Notifies the InputType that the required attribute has changed.
1482         (WebCore):
1483         (WebCore::InputType::updateClearButtonVisibility):
1484         * html/InputType.h:
1485         (InputType):
1486         * html/shadow/ClearButtonElement.cpp: Added.
1487         (WebCore):
1488         (WebCore::ClearButtonElement::ClearButtonElement):
1489         (WebCore::ClearButtonElement::create):
1490         (WebCore::ClearButtonElement::detach):
1491         (WebCore::ClearButtonElement::releaseCapture): Stop capturing mouse events.
1492         (WebCore::ClearButtonElement::defaultEventHandler):
1493         * html/shadow/ClearButtonElement.h: Added.
1494         (WebCore):
1495         (ClearButtonElement):
1496         (ClearButtonOwner):
1497         (WebCore::ClearButtonElement::ClearButtonOwner::~ClearButtonOwner):
1498         (WebCore::ClearButtonElement::removeClearButtonOwner):
1499         (WebCore::ClearButtonElement::isMouseFocusable):
1500
1501 2013-03-07  Eugene Klyuchnikov  <eustas@chromium.org>
1502
1503         Web Inspector: Refactorings: Prepare SuggestBox for reuse.
1504         https://bugs.webkit.org/show_bug.cgi?id=111301
1505
1506         Reviewed by Alexander Pavlov.
1507
1508         1) Remove userEnteredText from delegate interface.
1509            Pass prefix to updateSuggestions instead.
1510         2) Clarify that suggestions array is never null.
1511
1512         * inspector/front-end/SuggestBox.js:
1513         (WebInspector.SuggestBox): Renamed parameter/member.
1514         (WebInspector.SuggestBox.prototype._updateItems):
1515         Minor readability changes.
1516         (WebInspector.SuggestBox.prototype._canShowBox):
1517         Use userEnteredText parameter.
1518         (WebInspector.SuggestBox.prototype.updateSuggestions):
1519         Pass userEnteredText to _canShowBox.
1520         * inspector/front-end/DatabaseQueryView.js: Fix JSDocs.
1521         * inspector/front-end/RuntimeModel.js: Ditto.
1522         * inspector/front-end/TextPrompt.js: Ditto.
1523         (WebInspector.TextPrompt.prototype._completionsReady):
1524         Pass userEnteredText to updateSuggestions.
1525
1526 2013-03-07  Victor Carbune  <vcarbune@chromium.org>
1527
1528         TextTrackRegion Constructor
1529         https://bugs.webkit.org/show_bug.cgi?id=110511
1530
1531         Reviewed by Adam Barth.
1532
1533         This is an initial patch for implementing the TextTrackRegion
1534         defined in the "WebVTT Extension: Regions for rendering cue groups":
1535         https://dvcs.w3.org/hg/text-tracks/raw-file/default/608toVTT/region.html
1536
1537         The feature components are hidden behind the WEBVTT_REGIONS flag
1538         and is currently disabled by default in all ports and tests skipped.
1539
1540         Test: media/track/regions-webvtt/text-track-region-constructor.html
1541
1542         * WebCore.gypi: Added files to be included for building Chromium with
1543         feature enabled (it is disabled by default).
1544         * html/track/TextTrackRegion.cpp: Added.
1545         (WebCore):
1546         (WebCore::TextTrackRegion::TextTrackRegion):
1547         (WebCore::TextTrackRegion::~TextTrackRegion):
1548         (WebCore::TextTrackRegion::setId): Setter.
1549         (WebCore::TextTrackRegion::setWidth): Setter.
1550         (WebCore::TextTrackRegion::setHeight): Setter.
1551         (WebCore::TextTrackRegion::setRegionAnchorX): Setter.
1552         (WebCore::TextTrackRegion::setRegionAnchorY): Setter.
1553         (WebCore::TextTrackRegion::setViewportAnchorX): Setter.
1554         (WebCore::TextTrackRegion::setViewportAnchorY): Setter.
1555         (WebCore::TextTrackRegion::scroll): Getter. Internally, the scroll
1556         value is stored as a boolean, but when returned is converted to either
1557         the empty string or "up".
1558         (WebCore::TextTrackRegion::setScroll): Setter.
1559         (WebCore::TextTrackRegion::setRegionSettings): Not used yet (see b/109818)
1560         * html/track/TextTrackRegion.h: Added.
1561         (WebCore):
1562         (TextTrackRegion):
1563         (WebCore::TextTrackRegion::create):
1564         (WebCore::TextTrackRegion::track): Getter.
1565         (WebCore::TextTrackRegion::id): Getter.
1566         (WebCore::TextTrackRegion::width): Getter.
1567         (WebCore::TextTrackRegion::height): Getter.
1568         (WebCore::TextTrackRegion::regionAnchorX): Getter.
1569         (WebCore::TextTrackRegion::regionAnchorY): Getter.
1570         (WebCore::TextTrackRegion::viewportAnchorX): Getter.
1571         (WebCore::TextTrackRegion::viewportAnchorY): Getter.
1572         (WebCore::TextTrackRegion::regionSettings): Getter, used only internally (see b/109818).
1573         * html/track/TextTrackRegion.idl: Added.
1574         * page/DOMWindow.idl: Constructor support.
1575
1576 2013-03-07  Dan Carney  <dcarney@google.com>
1577
1578         [v8] remove latin-1 transition flag
1579         https://bugs.webkit.org/show_bug.cgi?id=111692
1580
1581         Reviewed by Jochen Eisinger.
1582
1583         No new tests. No change in functionality.
1584
1585         * bindings/v8/V8ValueCache.cpp:
1586         (WebCore::makeExternalString):
1587
1588 2013-03-07  Vsevolod Vlasov  <vsevik@chromium.org>
1589
1590         Web Inspector: NavigatorView should show (program) for uiSourceCodes with empty name.
1591         https://bugs.webkit.org/show_bug.cgi?id=111691
1592
1593         Reviewed by Alexander Pavlov.
1594
1595         Made String.prototype methods return string literal, not String object.
1596
1597         * inspector/front-end/utilities.js:
1598         (String.prototype.escapeCharacters):
1599
1600 2013-03-07  Eugene Klyuchnikov  <eustas@chromium.org>
1601
1602         Web Inspector: Cmd+L (Go-to-Line) masks Go to location bar action
1603         https://bugs.webkit.org/show_bug.cgi?id=111357
1604
1605         Reviewed by Pavel Feldman.
1606
1607         Allow panel shortcut handlers to bubble event.
1608
1609         * inspector/front-end/GoToLineDialog.js:
1610         (WebInspector.GoToLineDialog.install): Minor refactoring, added JSDocs.
1611         (WebInspector.GoToLineDialog._show): Added JSDocs and return value.
1612         * inspector/front-end/Panel.js:
1613         (WebInspector.Panel.prototype.handleShortcut):
1614         Mark event as handled iff handler returned true.
1615         * inspector/front-end/ScriptsPanel.js: Added return values to handlers.
1616         * inspector/front-end/TimelinePanel.js: Ditto.
1617
1618 2013-03-06  Takashi Sakamoto  <tasak@google.com>
1619
1620         Box-shadow displayed improperly with border-radius.
1621         https://bugs.webkit.org/show_bug.cgi?id=111256
1622
1623         Reviewed by Simon Fraser.
1624
1625         RoundedRect::adjustRadii doesn't adjust radii correctly, because
1626         the method compares maxRadiusWidth with maxRadiusHeight. However,
1627         we have to compare maxRadiusWidth / rect.width() with
1628         maxRadiusHeight / rect.height().
1629
1630         Test: fast/borders/border-radius-with-box-shadow-01.html
1631
1632         * platform/graphics/RoundedRect.cpp:
1633         (WebCore::RoundedRect::adjustRadii):
1634         Should check which ratio is smaller.
1635
1636 2013-03-06  Mike West  <mkwst@chromium.org>
1637
1638         [V8] Preprocess constant values to avoid a "static_cast<signed int>" in CodeGeneratorV8.
1639         https://bugs.webkit.org/show_bug.cgi?id=111625
1640
1641         Reviewed by Kentaro Hara.
1642
1643         When processing constants in IDL files, CodeGeneratorV8 currently runs
1644         the values through 'static_cast<signed int>' in the generated code. We
1645         can avoid this miniscule bit of overhead by preprocessing the hex value
1646         in Perl when generating the code.
1647
1648         The FIXME has been in the code since it originally landed in 2009[1].
1649         Now's as good a time as any to take care of it.
1650
1651         [1]: http://trac.webkit.org/browser/trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm?rev=144976#L2933
1652
1653         * bindings/scripts/CodeGeneratorV8.pm:
1654         (GenerateImplementation):
1655             If we're presented with a string which begins with '0x', run it
1656             through some fairly obtuse Perlisms to first convert from a hex
1657             string to an integer ('hex($value)'), "pack" the integer as an
1658             unsigned integer ('pack("I", ...)'), and then "unpack" it as a
1659             signed integer ('unpack("i", ...)'). Because that's _of course_
1660             how you would do things.
1661
1662 2013-03-06  Paweł Forysiuk  <tuxator@o2.pl>
1663
1664         WebKit does not build without accelerated compositing after Changeset 144823
1665         https://bugs.webkit.org/show_bug.cgi?id=111597
1666
1667         Reviewed by Kentaro Hara.
1668
1669         Properly guard functions ifdefed in ScrollingCoordinator.h.
1670         Remove redundant checks and fallback code inside those functions.
1671
1672         * page/scrolling/ScrollingCoordinator.cpp:
1673         (WebCore::ScrollingCoordinator::scrollLayerForScrollableArea):
1674         (WebCore::ScrollingCoordinator::horizontalScrollbarLayerForScrollableArea):
1675         (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea):
1676         (WebCore):
1677
1678 2013-03-06  Hajime Morrita  <morrita@google.com>
1679
1680         Custom Elements Refactoring: CustomElementConstructor API shouldn't bound to HTMLElement
1681         https://bugs.webkit.org/show_bug.cgi?id=111678
1682
1683         Reviewed by Kentaro Hara.
1684
1685         The latest Custom Elements standard supports non-HTML custom elements. Even though current implementation
1686         support only HTML, it'd be better off to make API generic enough to support them.
1687
1688         This change
1689
1690         - eliminates HTMLElement from the API signature by replacing it with Element, and
1691         - rename V8HTMLCustomElement to V8CustomElement.
1692
1693         No new tests, just changing signatures and a class name.
1694
1695         * WebCore.gypi:
1696         * bindings/v8/V8CustomElement.cpp: Renamed from Source/WebCore/bindings/v8/V8HTMLCustomElement.cpp.
1697         (WebCore):
1698         (WebCore::findWrapperTypeOf):
1699         (WebCore::V8CustomElement::createWrapper):
1700         * bindings/v8/V8CustomElement.h: Renamed from Source/WebCore/bindings/v8/V8HTMLCustomElement.h.
1701         (WebCore):
1702         (V8CustomElement):
1703         (WebCore::V8CustomElement::toV8):
1704         (WebCore::V8CustomElement::wrap):
1705         (WebCore::HTMLCustomElement::wrap):
1706         * bindings/v8/custom/V8CustomElementConstructorCustom.cpp:
1707         (WebCore::V8CustomElementConstructor::callAsFunctionCallback):
1708         * dom/CustomElementConstructor.cpp:
1709         (WebCore::CustomElementConstructor::createElement):
1710         * dom/CustomElementConstructor.h:
1711         (WebCore):
1712         (CustomElementConstructor):
1713         * dom/CustomElementRegistry.cpp:
1714         (WebCore::CustomElementRegistry::constructorOf):
1715         (WebCore::CustomElementRegistry::createElement):
1716         * dom/CustomElementRegistry.h:
1717         (WebCore):
1718         (CustomElementRegistry):
1719         * dom/Document.cpp: Ensured that the document is an HTML.
1720         (WebCore::Document::registerElement):
1721         * dom/Document.idl:
1722         * dom/make_names.pl:
1723         (printWrapperFactoryCppFile):
1724         * html/HTMLDocument.idl: Moved an API to Document.idl
1725
1726 2013-03-06  Tim Horton  <timothy_horton@apple.com>
1727
1728         TileCache debug minimap should fit inside the intersection of the visible rect and exposed rect
1729         https://bugs.webkit.org/show_bug.cgi?id=111655
1730         <rdar://problem/13355773>
1731
1732         Reviewed by Simon Fraser.
1733
1734         If content clips to the exposed rect, make the TileCache minimap fit in the exposed rect too.
1735
1736         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1737         (WebCore::ScrollingCoordinatorMac::commitTreeState):
1738         * platform/graphics/TiledBacking.h:
1739         * platform/graphics/ca/mac/TileCache.mm:
1740         (WebCore::TileCache::updateTileCoverageMap):
1741
1742 2013-03-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1743
1744         Unreviewed, rolling out r144726.
1745         http://trac.webkit.org/changeset/144726
1746         https://bugs.webkit.org/show_bug.cgi?id=111681
1747
1748         caused performance regression for Dromaeo attribute tests.
1749         (Requested by arpitab on #webkit).
1750
1751         * dom/Element.h:
1752         (WebCore::ElementData::getAttributeItemIndex):
1753
1754 2013-03-04  Kinuko Yasuda  <kinuko@chromium.org>
1755
1756         File.lastModifiedDate() should return the current date/time if the file date/time is not available
1757         https://bugs.webkit.org/show_bug.cgi?id=111403
1758
1759         Reviewed by Kent Tamura.
1760
1761         Per the recent File API spec change:
1762         http://www.w3.org/TR/2012/WD-FileAPI-20121025/#dfn-lastModifiedDate
1763
1764         Test: http/tests/local/fileapi/script-tests/file-last-modified-after-delete.js:
1765
1766         * fileapi/File.cpp:
1767         (WebCore::File::lastModifiedDate): Changed to return the current date/time instead null if the valid file date/time is not available.
1768         * fileapi/File.h:
1769         (File):
1770
1771 2013-03-06  Philippe Liard  <pliard@chromium.org>
1772
1773         Make RuleData support up to 8191 selectors
1774         https://bugs.webkit.org/show_bug.cgi?id=111663
1775
1776         Reviewed by Andreas Kling.
1777
1778         r125294 made RuleData consume less memory by replacing a pointer with
1779         an index encoded on 12 bits.
1780         This unfortunately breaks Chrome for Android (and others) when a lot of
1781         CSS is used or more precisely when selectorIndex cannot be stored on 12
1782         bits.
1783
1784         Threfore this change decreases the number of bits used to store
1785         m_position by 1 (from 19 to 18) and adds this extra bit to
1786         m_selectorIndex so that values up to 8191 can be stored safely without
1787         overflowing.
1788
1789         * css/RuleSet.h:
1790         (RuleData):
1791
1792 2013-03-06  Seokju Kwon  <seokju.kwon@gmail.com>
1793
1794         Web Inspector: Remove unused code from contextmenu of element panel
1795         https://bugs.webkit.org/show_bug.cgi?id=111658
1796
1797         Reviewed by Pavel Feldman.
1798
1799         No new tests (no functional changes).
1800
1801         * inspector/front-end/ElementsPanel.js:
1802         (WebInspector.ElementsPanel.prototype._contextMenuEventFired.set get var):
1803         * inspector/front-end/ElementsTreeOutline.js:
1804         (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
1805
1806 2013-03-06  Julien Chaffraix  <jchaffraix@webkit.org>
1807
1808         [CSS Grid Layout] Extend our grammar to support 2 positions for grid-{row|column}
1809         https://bugs.webkit.org/show_bug.cgi?id=110777
1810
1811         Reviewed by Tony Chang.
1812
1813         Now that we support all the logical grid properties, we can change grid-{row|column}
1814         into shorthands. That's what this change does along with extending our parsing support
1815         to handle 2 positions.
1816
1817         Tests: fast/css-grid-layout/grid-item-column-row.html
1818                fast/css-grid-layout/grid-item-end-after-get-set.html
1819                fast/css-grid-layout/grid-item-start-before-get-set.html
1820
1821         * css/CSSComputedStyleDeclaration.cpp:
1822         Removed grid-{row|column} from computedProperties as they are shorthands (see comments
1823         at computedProperties definition).
1824
1825         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1826         (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForGridShorthand):
1827         Switched to using the StylePropertyShorthand and reusing the existing longhand code.
1828
1829         * css/CSSComputedStyleDeclaration.h:
1830         Added getCSSPropertyValuesForGridShorthand.
1831
1832         * css/CSSParser.cpp:
1833         (WebCore::CSSParser::parseValue):
1834         (WebCore::CSSParser::parseGridItemPositionShorthand):
1835         Added custom parsing for the shorthand, that builds on top of the longhand code.
1836
1837         * css/CSSParser.h:
1838         Added parseGridItemPositionShorthand.
1839
1840         * css/StyleResolver.cpp:
1841         (WebCore::StyleResolver::applyProperty):
1842         Removed the previous handling as shorthand are expanded at parse time.
1843
1844         * css/StylePropertySet.cpp:
1845         (WebCore::StylePropertySet::getPropertyValue):
1846         Added the new shorthands to the list.
1847
1848         * css/StylePropertyShorthand.cpp:
1849         (WebCore::webkitGridColumnShorthand):
1850         (WebCore::webkitGridRowShorthand):
1851         (WebCore::shorthandForProperty):
1852         * css/StylePropertyShorthand.h:
1853         Registered grid-{row|column} as shorthands.
1854
1855 2013-03-06  Kenneth Russell  <kbr@google.com>
1856
1857         [Chromium] Fix byte ordering bugs reading back WebGL canvases' content on Android
1858         https://bugs.webkit.org/show_bug.cgi?id=111661
1859
1860         Reviewed by James Robinson.
1861
1862         No new tests; covered by existing tests. Ran WebGL conformance
1863         tests on Android and desktop Linux to verify fix.
1864
1865         * platform/chromium/support/GraphicsContext3DChromium.cpp:
1866         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
1867             Avoid incorrect byte swap on Android and other OSs which don't
1868             swizzle R and B channels.
1869
1870 2013-03-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1871
1872         [EFL] Improve warning messages when input value is out of range.
1873         https://bugs.webkit.org/show_bug.cgi?id=111534
1874
1875         Reviewed by Laszlo Gombos.
1876
1877         Show input value range when user inputs greater or less value.
1878
1879         * platform/efl/LocalizedStringsEfl.cpp:
1880         (WebCore::validationMessageRangeOverflowText):
1881         (WebCore::validationMessageRangeUnderflowText):
1882
1883 2013-03-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1884
1885         [EFL][WK2] Enable interactive form validation for email and url input type validation
1886         https://bugs.webkit.org/show_bug.cgi?id=111026
1887
1888         Reviewed by Laszlo Gombos.
1889
1890         WebKit EFL can check if input value is valid by enabling this feature.
1891
1892         * platform/efl/LocalizedStringsEfl.cpp: Change validation messages of email and url the same with chromium port.
1893         (WebCore::validationMessageTypeMismatchForEmailText):
1894         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
1895         (WebCore::validationMessageTypeMismatchForURLText):
1896         * platform/efl/RenderThemeEfl.cpp: Add type checking conditions for email and url.
1897         (WebCore::RenderThemeEfl::supportsDataListUI):
1898
1899 2013-03-06  Aaron Colwell  <acolwell@chromium.org>
1900
1901         Remove WebCore::Node::isActiveNode() since it isn't called anywhere.
1902         https://bugs.webkit.org/show_bug.cgi?id=111646
1903
1904         Reviewed by Kentaro Hara.
1905
1906         No new tests. This removes dead code.
1907
1908         * dom/Node.h:
1909         (Node):
1910         * html/HTMLAudioElement.h:
1911
1912 2013-03-06  Abhishek Arya  <inferno@chromium.org>
1913
1914         Crash in SVGViewSpec::viewTarget
1915         https://bugs.webkit.org/show_bug.cgi?id=111648
1916
1917         Reviewed by Philip Rogers.
1918
1919         * svg/SVGViewSpec.cpp:
1920         (WebCore::SVGViewSpec::viewTarget):
1921
1922 2013-03-06  Benjamin Poulain  <benjamin@webkit.org>
1923
1924         WebKitTestRunner needs layoutTestController.elementDoesAutoCompleteForElementWithId
1925         https://bugs.webkit.org/show_bug.cgi?id=42696
1926
1927         Reviewed by Andreas Kling.
1928
1929         Since the method acts directly on a WebCore element and strictly test
1930         HTMLInputElement::shouldAutoComplete(), the test function is moved to internals.
1931
1932         * testing/Internals.cpp:
1933         (WebCore::Internals::elementShouldAutoComplete):
1934         * testing/Internals.h:
1935         * testing/Internals.idl:
1936
1937 2013-03-06  Alexey Proskuryakov  <ap@apple.com>
1938
1939         [Mac] Synthetic ResourceResponses cannot be sent over IPC without losing most information
1940         https://bugs.webkit.org/show_bug.cgi?id=111623
1941
1942         Reviewed by Brady Eidson.
1943
1944         * WebCore.exp.in: Exported functions for building synthetic responses.
1945
1946         * platform/network/ResourceResponseBase.cpp:
1947         * platform/network/ResourceResponseBase.h:
1948         Added a lot of FIXMEs.
1949
1950         * platform/network/cf/ResourceResponse.h:
1951         (WebCore::ResourceResponse::ResourceResponse):
1952         (WebCore::ResourceResponse::platformResponseIsUpToDate):
1953         Track m_platformResponseIsUpToDate flag as well as we can. Currently, it will
1954         be incorrect if a real platform response gets mutated.
1955
1956         * platform/network/cf/ResourceResponseCFNet.cpp:
1957         (WebCore::ResourceResponse::cfURLResponse): Added a FIXME about how useless this
1958         function is when it tries to create a new CFURLResponse.
1959
1960         * platform/network/mac/ResourceResponseMac.mm:
1961         (WebCore::ResourceResponse::initNSURLResponse): Added a FIXME.
1962         (WebCore::ResourceResponse::nsURLResponse): Added a return to make logic more clear.
1963         (WebCore::ResourceResponse::ResourceResponse): Track m_platformResponseIsUpToDate.
1964
1965         * platform/network/blackberry/ResourceResponse.h:
1966         * platform/network/curl/ResourceResponse.h:
1967         * platform/network/qt/ResourceResponse.h:
1968         * platform/network/soup/ResourceResponse.h:
1969         * platform/network/win/ResourceResponse.h:
1970         These platforms do not keep a platform response, so it's never up to date, and
1971         WebCore data needs to be serialized.
1972
1973 2013-03-06  Dana Jansens  <danakj@chromium.org>
1974
1975         [chromium] Remove WebSharedGraphicsContext3D class
1976         https://bugs.webkit.org/show_bug.cgi?id=111492
1977
1978         Reviewed by James Robinson.
1979
1980         Removing dead code, no new tests.
1981
1982         * WebCore.gypi:
1983         * platform/chromium/support/WebSharedGraphicsContext3D.cpp: Removed.
1984
1985 2013-03-06  Dana Jansens  <danakj@chromium.org>
1986
1987         [chromium] Don't get callbacks or create GrContext from unowned WebGraphicsContext3D
1988         https://bugs.webkit.org/show_bug.cgi?id=111638
1989
1990         Reviewed by James Robinson.
1991
1992         If the context is not owned, it's lifetime is not guaranteed, and by the time
1993         the GraphicsContext3D is destroyed, the WGC3D can already be deleted.
1994
1995         When the context is not owned by the GraphicsContext3D, then don't clean it up
1996         in the destructor or set up callbacks, as these are the owner's responsibility.
1997
1998         * platform/chromium/support/GraphicsContext3DPrivate.cpp:
1999         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
2000         (WebCore::GraphicsContext3DPrivate::grContext):
2001         (WebCore::GraphicsContext3DPrivate::setContextLostCallback):
2002         (WebCore::GraphicsContext3DPrivate::setErrorMessageCallback):
2003
2004 2013-02-22  Jer Noble  <jer.noble@apple.com>
2005
2006         Default mouse cursor behavior should be auto-hide for full screen video with custom controls
2007         https://bugs.webkit.org/show_bug.cgi?id=107601
2008
2009         Reviewed by Beth Dakin.
2010
2011         Test: fullscreen/video-cursor-auto-hide.html
2012
2013         To facilitate automatically hiding the mouse cursor after a certain amount of idle mouse
2014         time, add a new CSS property '-webkit-cursor-visibility', and handle that value inside of
2015         EventHandler. When that value is present, the EventHandler will start a timer which, when
2016         fired, will set the view's cursor to the None cursor. Subsequent mouse moves will either
2017         cancel the timer, or reset the auto-hide timer.
2018
2019         Add a new CSS property, '-webkit-cursor-visibility':
2020         * css/CSSComputedStyleDeclaration.cpp:
2021         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2022         * css/CSSParser.cpp:
2023         (WebCore::CSSParser::parseValue):
2024         * css/CSSPrimitiveValueMappings.h:
2025         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2026         (WebCore::CSSPrimitiveValue::operator ECursorVisibility):
2027         * css/CSSProperty.cpp:
2028         (WebCore::CSSProperty::isInheritedProperty):
2029         * css/CSSPropertyNames.in:
2030         * css/CSSValueKeywords.in:
2031         * css/StyleBuilder.cpp:
2032         (WebCore::StyleBuilder::StyleBuilder):
2033         * css/StyleResolver.cpp:
2034         (WebCore::StyleResolver::applyProperty):
2035
2036         Add a rule for video descendants of full screen elements to auto-hide the cursor on hover:
2037         * css/fullscreen.css:
2038         (:-webkit-full-screen video:hover):
2039
2040         Add a new timer, m_autoHideCursorTimer, to control resetting the view's cursor to None after
2041         enough mouse idle time has passed.
2042         * page/EventHandler.cpp:
2043         (WebCore::EventHandler::EventHandler):
2044         (WebCore::EventHandler::~EventHandler):
2045         (WebCore::EventHandler::clear):
2046         (WebCore::EventHandler::selectCursor):
2047         (WebCore::EventHandler::startAutoHideCursorTimer):
2048         (WebCore::EventHandler::cancelAutoHideCursorTimer):
2049         (WebCore::EventHandler::autoHideCursorTimerFired):
2050         * page/EventHandler.h:
2051
2052         Make FrameView::isActive() a public function (like it is in its superclass).
2053         * page/FrameView.h:
2054         (FrameView):
2055
2056         Move the definition for timeWithoutMouseMovementBeforeHidingControls from page->theme()
2057         to page->settings() and allow that setting to be overridden in InternalSettings for 
2058         testing purposes:
2059         * page/Settings.cpp:
2060         (WebCore::Settings::Settings):
2061         * page/Settings.h:
2062         (WebCore::Settings::setTimeWithoutMouseMovementBeforeHidingControls):
2063         (WebCore::Settings::timeWithoutMouseMovementBeforeHidingControls):
2064         * rendering/RenderTheme.h:
2065         * testing/InternalSettings.cpp:
2066         (WebCore::InternalSettings::Backup::Backup):
2067         (WebCore::InternalSettings::Backup::restoreTo):
2068         (WebCore::InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls):
2069         * testing/InternalSettings.h:
2070         (InternalSettings):
2071         * testing/InternalSettings.idl:
2072         * html/shadow/MediaControls.cpp:
2073         (WebCore::MediaControls::startHideFullscreenControlsTimer):
2074
2075         Add support to FeatureObserver for CURSOR_VISIBILITY:
2076         * page/FeatureObserver.h:
2077
2078         Enable the feature flag:
2079         * Configurations/FeatureDefines.xcconfig:
2080
2081 2013-03-06  Jer Noble  <jer.noble@apple.com>
2082
2083         Full screen from an iframe with a z-index style will allow siblings with higher z-index to overlay full screen content.
2084         https://bugs.webkit.org/show_bug.cgi?id=111637
2085
2086         Reviewed by Simon Fraser.
2087
2088         No new tests; updated fullscreen/full-screen-iframe-zIndex.html to expose bug.
2089
2090         Pages with explicit z-index: styles on their iframes will override the default z-index: UA style when
2091         elements within that iframe enter full screen mode. Mark the UA style as !important so as to not allow
2092         iframe siblings with higher z-index styles to overlay the full screen element.
2093
2094         * css/fullscreen.css:
2095         (:-webkit-full-screen):
2096
2097 2013-03-06  Levi Weintraub  <leviw@chromium.org>
2098
2099         InsertUnorderedList can lead to lost content and assertions in moveParagraphs
2100         https://bugs.webkit.org/show_bug.cgi?id=111228
2101
2102         Reviewed by Ryosuke Niwa.
2103
2104         When a list is wrapped in a presentational inline like a b tag, we'd create markup that included
2105         everything up to the b tag from moveParagraphs when intending to only move the contents of the
2106         list item. This could make it impossible to remove content from a list and trigger loss of
2107         editable text.
2108
2109         Test: editing/execCommand/insert-remove-block-list-inside-presentational-inline.html
2110
2111         * editing/EditingStyle.cpp:
2112         (WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl): Ensure there's an inline style
2113         before calling propertyExistsInStyle.
2114         (WebCore::HTMLElementEquivalent::propertyExistsInStyle): Removing null check for style.
2115         All callers ensure this value isn't null.
2116         * editing/markup.cpp:
2117         (WebCore::highestAncestorToWrapMarkup): Avoid going over RenderBlocks when finding the highest
2118         presentational ancestor to avoid leaving the bounds of the original paragraph.
2119
2120 2013-03-06  Adam Klein  <adamk@chromium.org>
2121
2122         [V8] Use implicit references instead of object groups to keep registered MutationObservers alive
2123         https://bugs.webkit.org/show_bug.cgi?id=111382
2124
2125         Reviewed by Adam Barth.
2126
2127         Two-phase approach to implicit references: after grouping objects
2128         together, add an implicit reference between each registered node's
2129         group and the MutationObserver's group (which includes wrappers from
2130         all worlds).
2131
2132         Also changed many uses of v8::Value to v8::Object where we know we're
2133         dealing with Object and the V8 API expects them.
2134
2135         Test: ManualTests/mutation-observer-leaks-nodes.html
2136
2137         * bindings/v8/V8GCController.cpp:
2138         (WebCore::ImplicitConnection::ImplicitConnection):
2139         (WebCore::ImplicitConnection::wrapper):
2140         (ImplicitConnection):
2141         (WebCore::ImplicitReference::ImplicitReference): Wrapper class holding a parent who should have an implicit reference to a child.
2142         (ImplicitReference):
2143         (WebCore::operator<): Needed for std::sort() call to avoid the overhead of using a HashMap
2144         (WebCore::WrapperGrouper::addObjectWrapperToGroup):
2145         (WebCore::WrapperGrouper::addNodeWrapperToGroup):
2146         (WebCore::WrapperGrouper::addImplicitReference):
2147         (WrapperGrouper):
2148         (WebCore::WrapperGrouper::apply):
2149
2150 2013-03-06  Ankur Taly  <ataly@google.com>
2151
2152         Modify log method in V8DOMActivityLogger so that the apiName and
2153         extraInfo arguments are of type const String& instead of const char*.
2154         This change gets rid of some of the memory ownership issues that arise
2155         with char* pointers.
2156         https://bugs.webkit.org/show_bug.cgi?id=111483
2157
2158         Reviewed by Adam Barth.
2159
2160         There are no new tests as there is no change in behavior.
2161
2162         * bindings/v8/V8DOMActivityLogger.h:
2163         (WebCore::V8DOMActivityLogger::log):
2164
2165 2013-03-06  Mike Reed  <reed@google.com>
2166
2167         Use SkTypeface API directly, rather than (soon to be private) SkFontHost
2168         https://bugs.webkit.org/show_bug.cgi?id=111588
2169
2170         Reviewed by Stephen White.
2171
2172         No new tests, as existing tests in fast/writing-mode exercise this code.
2173
2174         e.g. japanese-rl-text-with-broken-font.html
2175              vertical-subst-font-vert-no-dflt.html
2176
2177         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
2178         (WebCore::FontPlatformData::emSizeInFontUnits):
2179         (WebCore::FontPlatformData::openTypeTable):
2180         * platform/graphics/harfbuzz/HarfBuzzFaceSkia.cpp:
2181         (WebCore::harfBuzzSkiaGetTable):
2182         (WebCore::HarfBuzzFace::createFace):
2183         * platform/graphics/skia/SimpleFontDataSkia.cpp:
2184         (WebCore::SimpleFontData::platformInit):
2185
2186 2013-03-06  Victor Costan <costan@gmail.com>
2187
2188         Cleanup in multipart FormData sending code.
2189         https://bugs.webkit.org/show_bug.cgi?id=111603
2190
2191         Reviewed by Alexey Proskuryakov.
2192
2193         No new tests. This is cleanup.
2194
2195         * platform/network/FormDataBuilder.cpp:
2196         (WebCore::appendQuotedString): use proper types (e.g, size_t instead of
2197         unsigned long)
2198
2199 2013-03-06  Tony Gentilcore  <tonyg@chromium.org>
2200
2201         Threaded HTML parser should use 8 bit strings for attributes
2202         https://bugs.webkit.org/show_bug.cgi?id=111610
2203
2204         Reviewed by Eric Seidel.
2205
2206         This fixes a 27% regression in dromaeo_jslibattrjquery on the threaded HTML parser vs. the main thread parser.
2207
2208         No new tests because no new functionality.
2209
2210         * html/parser/CompactHTMLToken.cpp:
2211         (WebCore::CompactHTMLToken::CompactHTMLToken):
2212
2213 2013-03-06  Alpha Lam  <hclam@chromium.org>
2214
2215         More cleanup in GIFImageReader
2216         https://bugs.webkit.org/show_bug.cgi?id=111137
2217
2218         Reviewed by Stephen White.
2219
2220         Refactor GIFImageReaderReader with the following changes:
2221         + Separate GIFLZWContext for decoding states.
2222         + Replace unsigned char* with Vector<unsigned char>
2223
2224         There is no change in code behavior and just refactoring.
2225
2226         No new tests. This is covered by existing GIFImageReaderTest.
2227         I also did a local testing on a 50k image corpus and showed no regression.
2228
2229         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2230         (WebCore::GIFImageDecoder::haveDecodedRow):
2231         * platform/image-decoders/gif/GIFImageDecoder.h:
2232         (GIFImageDecoder):
2233         * platform/image-decoders/gif/GIFImageReader.cpp:
2234         (GIFImageReader::outputRow):
2235         (GIFImageReader::doLZW):
2236         (GIFImageReader::decodeInternal):
2237         (GIFImageReader::prepareLZWContext):
2238         * platform/image-decoders/gif/GIFImageReader.h:
2239         (GIFFrameContext):
2240         (GIFFrameContext::GIFFrameContext):
2241         (GIFFrameContext::~GIFFrameContext):
2242         (GIFLZWContext):
2243         (GIFLZWContext::GIFLZWContext):
2244         (GIFImageReader):
2245
2246 2013-03-06  Tim Horton  <timothy_horton@apple.com>
2247
2248         Fix typo'd MainThreadScrollingBecauseOfStyleIndictaion
2249         https://bugs.webkit.org/show_bug.cgi?id=111557
2250
2251         Reviewed by Geoff Garen.
2252
2253         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2254         (WebCore::ScrollingCoordinatorMac::commitTreeState):
2255         * platform/graphics/TiledBacking.h:
2256         * platform/graphics/ca/mac/TileCache.mm:
2257         (WebCore::TileCache::updateTileCoverageMap):
2258
2259 2013-03-05  Geoffrey Garen  <ggaren@apple.com>
2260
2261         Removed some dead code in the page cache
2262         https://bugs.webkit.org/show_bug.cgi?id=111525
2263
2264         Reviewed by Alexey Proskuryakov.
2265
2266         Page cache autorelease doesn't exist anymore, so there's no need to keep
2267         around these olds hacks.
2268
2269         * WebCore.exp.in:
2270         * history/PageCache.cpp:
2271         (WebCore::PageCache::PageCache):
2272         (WebCore):
2273         * history/PageCache.h:
2274         (PageCache):
2275         * page/Settings.cpp:
2276         (WebCore::Settings::setUsesPageCache):
2277         * platform/mac/MemoryPressureHandlerMac.mm:
2278         (WebCore::MemoryPressureHandler::releaseMemory):
2279         * platform/qt/QtTestSupport.cpp:
2280         (WebKit::QtTestSupport::clearMemoryCaches):
2281
2282 2013-03-06  Rafael Weinstein  <rafaelw@chromium.org>
2283
2284         Unreviewed, rolling out r144924.
2285         http://trac.webkit.org/changeset/144924
2286         https://bugs.webkit.org/show_bug.cgi?id=109908
2287
2288         caused multiple crashes in inspector/debugger tests
2289
2290         * bindings/js/JSInjectedScriptHostCustom.cpp:
2291         * bindings/js/ScriptObject.h:
2292         * bindings/v8/ScriptObject.h:
2293         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2294         * inspector/InjectedScriptHost.cpp:
2295         (WebCore::InjectedScriptHost::create):
2296         (WebCore::InjectedScriptHost::InjectedScriptHost):
2297         (WebCore::InjectedScriptHost::disconnect):
2298         * inspector/InjectedScriptHost.h:
2299         (WebCore):
2300         (InjectedScriptHost):
2301         * inspector/InjectedScriptHost.idl:
2302         * inspector/InjectedScriptManager.cpp:
2303         (WebCore::InjectedScriptManager::InjectedScriptManager):
2304         (WebCore::InjectedScriptManager::discardInjectedScripts):
2305         (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
2306         * inspector/InjectedScriptManager.h:
2307         (InjectedScriptManager):
2308         * inspector/InjectedScriptSource.js:
2309         (.):
2310
2311 2013-03-06  Dmitry Zvorygin  <zvorygin@chromium.org>
2312
2313         Introduce new message sources for logging.
2314         https://bugs.webkit.org/show_bug.cgi?id=110968
2315
2316         Reviewed by Pavel Feldman.
2317
2318         Added SecurityMessageSource, RenderingMessageSource, StorageMessageSource, AppCacheMessageSource, CSSMessageSource.
2319         Changed some logging lines to contain more descriptive message source.
2320
2321         * Modules/webdatabase/DatabaseBase.cpp:
2322         (WebCore::DatabaseBase::logErrorMessage):
2323         * Modules/webdatabase/DatabaseManager.cpp:
2324         (WebCore::DatabaseManager::logErrorMessage):
2325         * Modules/websockets/WebSocketChannel.cpp:
2326         (WebCore::WebSocketChannel::fail):
2327         * bindings/ScriptControllerBase.cpp:
2328         (WebCore::ScriptController::canExecuteScripts):
2329         * css/MediaList.cpp:
2330         (WebCore::addResolutionWarningMessageToConsole):
2331         * dom/Document.cpp:
2332         (WebCore::Document::processHttpEquiv):
2333         * dom/ScriptElement.cpp:
2334         (WebCore::ScriptElement::executeScript):
2335         (WebCore::ScriptElement::notifyFinished):
2336         * dom/ViewportArguments.cpp:
2337         (WebCore::reportViewportWarning):
2338         * html/HTMLFormControlElement.cpp:
2339         (WebCore::shouldAutofocus):
2340         * html/HTMLFormElement.cpp:
2341         (WebCore::HTMLFormElement::validateInteractively):
2342         * html/HTMLIFrameElement.cpp:
2343         (WebCore::HTMLIFrameElement::parseAttribute):
2344         * html/canvas/CanvasRenderingContext2D.cpp:
2345         (WebCore::CanvasRenderingContext2D::getImageData):
2346         * html/canvas/WebGLRenderingContext.cpp:
2347         (WebCore):
2348         (WebCore::WebGLRenderingContext::printWarningToConsole):
2349         * html/parser/XSSAuditor.cpp:
2350         (WebCore::XSSAuditor::init):
2351         * html/parser/XSSAuditorDelegate.cpp:
2352         (WebCore::XSSAuditorDelegate::didBlockScript):
2353         * inspector/ConsoleMessage.cpp:
2354         (WebCore::messageSourceValue):
2355         * inspector/Inspector.json:
2356         * loader/FrameLoader.cpp:
2357         (WebCore::FrameLoader::submitForm):
2358         (WebCore::FrameLoader::reportLocalLoadFailed):
2359         (WebCore::createWindow):
2360         * loader/ImageLoader.cpp:
2361         (WebCore::ImageLoader::notifyFinished):
2362         * loader/MainResourceLoader.cpp:
2363         (WebCore::MainResourceLoader::responseReceived):
2364         * loader/MixedContentChecker.cpp:
2365         (WebCore::MixedContentChecker::logWarning):
2366         * loader/TextTrackLoader.cpp:
2367         (WebCore::TextTrackLoader::corsPolicyPreventedLoad):
2368         * loader/appcache/ApplicationCacheGroup.cpp:
2369         (WebCore::ApplicationCacheGroup::abort):
2370         * loader/cache/CachedResourceLoader.cpp:
2371         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
2372         * page/Console.cpp:
2373         (WebCore::printMessageSourceAndLevelPrefix):
2374         * page/ConsoleTypes.h:
2375         * page/ContentSecurityPolicy.cpp:
2376         (WebCore::ContentSecurityPolicy::logToConsole):
2377         * page/DOMWindow.cpp:
2378         (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
2379         * page/PointerLockController.cpp:
2380         (WebCore::PointerLockController::requestPointerLock):
2381         * svg/SVGDocumentExtensions.cpp:
2382         (WebCore::reportMessage):
2383
2384 2013-03-06  Florin Malita  <fmalita@chromium.org>
2385
2386         SVG pattern to pattern reference does not work if first pattern has a child node
2387         https://bugs.webkit.org/show_bug.cgi?id=111586
2388
2389         Reviewed by Philip Rogers.
2390
2391         SVGPatternElement::collectPatternAttributes should test for child elements, not child nodes.
2392
2393         Tests: svg/custom/pattern-reference-expected.svg
2394                svg/custom/pattern-reference.svg
2395
2396         * svg/SVGPatternElement.cpp:
2397         (WebCore::SVGPatternElement::collectPatternAttributes):
2398
2399 2013-03-06  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2400
2401         [soup] session cookies are not correctly reported in getRawCookies()
2402         https://bugs.webkit.org/show_bug.cgi?id=111584
2403
2404         Reviewed by Martin Robinson.
2405
2406         As per libsoup documentation, SoupCookie->expires is NULL for session cookies.
2407         However, the soup implementation for getRawCookies() does not check for NULL
2408         case before passing the value to soup_date_to_time_t(), which leads to run time
2409         warnings.
2410
2411         We should also pass true for WebCore::Cookie's session argument if
2412         SoupCookie->expires is NULL. The current implementation reports the cookie as a
2413         session one if soup_cookie_jar_is_persistent(jar) returns true, which is
2414         inaccurate.
2415
2416         No new tests, no behavior change for layout tests as Web Inspector currently
2417         ignores the "session" member and uses expires/max-age instead to deduce it.
2418
2419         * platform/network/soup/CookieJarSoup.cpp:
2420         (WebCore::getRawCookies):
2421
2422 2013-03-06  Douglas Stockwell  <dstockwell@chromium.org>
2423
2424         REGRESSION(r111639): delayed animation start can be postponed
2425         https://bugs.webkit.org/show_bug.cgi?id=108582
2426
2427         Query the animation timer directly for the time it will next fire rather than
2428         trying to cache the interval. Previous approach was incorrect -- as time advanced
2429         it was possible for the interval to jump beyond the next service time.
2430
2431         Reviewed by Darin Adler.
2432
2433         Test: animations/animation-delay-changed.html
2434
2435         * page/animation/AnimationController.cpp:
2436         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
2437         (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
2438         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
2439         * page/animation/AnimationControllerPrivate.h:
2440         (AnimationControllerPrivate): Remove m_previousTimeToNextService
2441
2442 2013-03-06  Andrey Lushnikov  <lushnikov@chromium.org>
2443
2444         Web Inspector: [ACE] show execution line in Ace editor
2445         https://bugs.webkit.org/show_bug.cgi?id=111575
2446
2447         Reviewed by Pavel Feldman.
2448
2449         Highlight execution line by the means of Ace full line markers.
2450
2451         No new tests.
2452
2453         * inspector/front-end/AceTextEditor.js:
2454         (WebInspector.AceTextEditor.prototype.setExecutionLine):
2455         (WebInspector.AceTextEditor.prototype.clearExecutionLine):
2456         (WebInspector.AceTextEditor.prototype.setSelection):
2457         * inspector/front-end/ace/acedevtools.css:
2458         (.ace-editor-container):
2459         (.webkit-execution-line):
2460
2461 2013-03-06  Yury Semikhatsky  <yurys@chromium.org>
2462
2463         Web Inspector: fix closure compiler warnings in the profiler code
2464         https://bugs.webkit.org/show_bug.cgi?id=111581
2465
2466         Reviewed by Vsevolod Vlasov.
2467
2468         Added missing annotations. Replaced NativeProfileLauncherView with
2469         ProfileLauncherView.
2470
2471         * inspector/InjectedScriptExterns.js:
2472         (InjectedScriptHost.prototype.objectId):
2473         (InjectedScriptHost.prototype.releaseObjectId):
2474         * inspector/front-end/FlameChart.js:
2475         (WebInspector.FlameChart.prototype._forEachNode):
2476         * inspector/front-end/ProfileLauncherView.js:
2477         * inspector/front-end/ProfilesPanel.js:
2478
2479 2013-03-06  Carlos Garcia Campos  <cgarcia@igalia.com>
2480
2481         [BlackBerry] Pass String::StrictConversion instead of true to String::utf8()
2482         https://bugs.webkit.org/show_bug.cgi?id=111546
2483
2484         Reviewed by Rob Buis.
2485
2486         String::utf8() API changed in r134173.
2487
2488         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2489         (WebCore::MediaPlayerPrivate::notifyChallengeResult):
2490
2491 2013-03-06  Julien Chaffraix  <jchaffraix@webkit.org>
2492
2493         Remove the (dead) code for handling shorthands in StyleResolver / StyleBuilder
2494         https://bugs.webkit.org/show_bug.cgi?id=111505
2495
2496         Unreviewed minimal build fix.
2497
2498         * css/StyleResolver.cpp:
2499         (WebCore::StyleResolver::applyProperty):
2500         Put CSSPropertyWebkitWrap under the proper if-guard.
2501
2502 2013-03-06  Vsevolod Vlasov  <vsevik@chromium.org>
2503
2504         Unreviewed follow up to r144928: front-end closure compilation fixes.
2505
2506         * inspector/front-end/FilteredItemSelectionDialog.js:
2507         (WebInspector.JavaScriptOutlineDialog.prototype.dispose):
2508         (WebInspector.OpenResourceDialog.prototype.dispose):
2509         * inspector/front-end/StyleSheetOutlineDialog.js:
2510         (WebInspector.StyleSheetOutlineDialog.prototype.dispose):
2511
2512 2013-03-06  Vsevolod Vlasov  <vsevik@chromium.org>
2513
2514         Web Inspector: Update open resource dialog when new uiSourceCodes are loaded.
2515         https://bugs.webkit.org/show_bug.cgi?id=111327
2516
2517         Reviewed by Pavel Feldman.
2518
2519         * inspector/front-end/FilteredItemSelectionDialog.js:
2520         (WebInspector.FilteredItemSelectionDialog):
2521         (WebInspector.FilteredItemSelectionDialog.prototype.willHide):
2522         (WebInspector.FilteredItemSelectionDialog.prototype._itemsLoaded):
2523         (WebInspector.FilteredItemSelectionDialog.prototype._updateAfterItemsLoaded):
2524         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems.compareFunction):
2525         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
2526         (WebInspector.SelectionDialogContentProvider.prototype.dispose):
2527         (WebInspector.JavaScriptOutlineDialog.prototype._didBuildOutlineChunk):
2528         (WebInspector.OpenResourceDialog):
2529         (WebInspector.OpenResourceDialog.prototype.requestItems):
2530         (WebInspector.OpenResourceDialog.prototype._filterUISourceCode):
2531         (WebInspector.OpenResourceDialog.prototype._uiSourceCodeAdded):
2532         (WebInspector.OpenResourceDialog.prototype.dispose):
2533         * inspector/front-end/StyleSheetOutlineDialog.js:
2534         (WebInspector.StyleSheetOutlineDialog.prototype.requestItems):
2535         (WebInspector.StyleSheetOutlineDialog.prototype.requestItems.didGetStyleSheet):
2536
2537 2013-03-06  Vladislav Kaznacheev  <kaznacheev@chromium.org>
2538
2539         Web Inspector: Move sidebar-specific styles to a separate file.
2540         https://bugs.webkit.org/show_bug.cgi?id=111173
2541
2542         Reviewed by Pavel Feldman.
2543
2544         * WebCore.gypi:
2545         * inspector/front-end/BreakpointsSidebarPane.js:
2546         (WebInspector.JavaScriptBreakpointsSidebarPane):
2547         (WebInspector.EventListenerBreakpointsSidebarPane):
2548         * inspector/front-end/NativeBreakpointsSidebarPane.js:
2549         (WebInspector.NativeBreakpointsSidebarPane):
2550         * inspector/front-end/SidebarPane.js:
2551         (WebInspector.SidebarPaneTitle):
2552         (WebInspector.SidebarPaneStack):
2553         (WebInspector.SidebarTabbedPane):
2554         * inspector/front-end/WebKit.qrc:
2555         * inspector/front-end/breakpointsList.css: Added.
2556         (.sidebar-pane > .body .breakpoint-condition):
2557         (#breakpoint-condition-input):
2558         (ol.breakpoint-list):
2559         (.breakpoints-list-deactivated):
2560         (.breakpoint-list li):
2561         (.breakpoint-list li:hover):
2562         (.breakpoint-list .checkbox-elem):
2563         (.breakpoint-list .source-text):
2564         (.sidebar-pane .breakpoint-hit):
2565         (li.breakpoint-hit .breakpoint-hit-marker):
2566         (.event-listener-breakpoints .event-category):
2567         (.event-listener-breakpoints.properties-tree .children li):
2568         (.event-listener-breakpoints .checkbox-elem):
2569         * inspector/front-end/elementsPanel.css:
2570         (.panel.elements .sidebar-pane-toolbar > select):
2571         (.panel.elements .sidebar-pane-toolbar > select:hover):
2572         (.panel.elements .sidebar-pane-toolbar > select:active):
2573         (.panel.elements .sidebar-pane-toolbar > select.select-settings):
2574         (.panel.elements .sidebar-pane-toolbar > select.select-filter):
2575         (.panel.elements .sidebar-pane-toolbar > select > option, .panel.elements .sidebar-pane-toolbar > select > hr):
2576         * inspector/front-end/inspector.css:
2577         (.event-bar .event-properties):
2578         * inspector/front-end/scriptsPanel.css:
2579         (.workers-list > li):
2580         (a.worker-item):
2581         (a.worker-item:hover):
2582         * inspector/front-end/sidebarPane.css: Added.
2583         (.sidebar-pane):
2584         (.sidebar-pane > .body):
2585         (.sidebar-pane > .body .info):
2586         (.sidebar-pane > .body .placard + .info):
2587         (.sidebar-pane.visible > .body):
2588         (.sidebar-pane .section .properties):
2589         (.sidebar-tabbed-pane .tabbed-pane-header):
2590         (.sidebar-pane-stack > .sidebar-pane.visible:nth-last-of-type(1)):
2591         (.sidebar-pane-title):
2592         (.sidebar-pane-title + .sidebar-pane-title, .pane:not(.visible) + .sidebar-pane-title, .sidebar-pane-title:first-of-type):
2593         (.sidebar-pane-title:active):
2594         (.sidebar-pane-title::before):
2595         (.sidebar-pane-title.expanded::before):
2596         (.sidebar-pane-toolbar):
2597         (.sidebar-pane-toolbar > *):
2598         (.sidebar-pane-toolbar > .pane-title-button):
2599         (.sidebar-pane-toolbar > .pane-title-button:hover):
2600         (.sidebar-pane-toolbar > .pane-title-button:active, .sidebar-pane-toolbar > .pane-title-button.toggled):
2601         (.sidebar-pane-toolbar > .pane-title-button.add):
2602         (.sidebar-pane-toolbar > .pane-title-button.element-state):
2603         (.sidebar-pane-toolbar > .pane-title-button.refresh):
2604         (.sidebar-pane-subtitle):
2605         (body.platform-windows .sidebar-pane-subtitle):
2606         (.sidebar-pane-subtitle input, .section .header input[type=checkbox]):
2607
2608 2013-03-06  Vladislav Kaznacheev  <kaznacheev@chromium.org>
2609
2610         Web Inspector: Combine style-related panes into a single tab when Elements panel is split horizontally.
2611         https://bugs.webkit.org/show_bug.cgi?id=111550
2612         Reviewed by Pavel Feldman.
2613
2614         Grouping the Elements sidebar panes into two tabbed panes proved to be
2615         confusing and inconvenient. Put all the Elements sidebar panes into a single tabbed pane.
2616         Combined Styles, Computed Style and Metrics into a single pane.
2617
2618         * inspector/front-end/ElementsPanel.js:
2619         (WebInspector.ElementsPanel.prototype._splitVertically):
2620         (WebInspector.ElementsPanel.prototype.addExtensionSidebarPane):
2621         * inspector/front-end/elementsPanel.css:
2622         (.sidebar-pane.composite):
2623         (.sidebar-pane.composite > .body):
2624         (.sidebar-pane.composite .metrics):
2625         (.sidebar-pane.composite .sidebar-pane-toolbar):
2626         (.sidebar-pane.composite .sidebar-pane-toolbar > .sidebar-pane-subtitle):
2627         (.sidebar-pane.composite .styles-section.read-only):
2628
2629 2013-03-05  Yury Semikhatsky  <yurys@chromium.org>
2630
2631         Web Inspector: support stable remote object ids
2632         https://bugs.webkit.org/show_bug.cgi?id=109908
2633
2634         Reviewed by Pavel Feldman.
2635
2636         Introduced a map from javascript object to its id. It guarantees
2637         that object is assined id only once (unless it is explicitely
2638         released). The map is per execution context and is stored in
2639         InjectedScriptManager.
2640
2641         Test: inspector-protocol/persistent-id.html
2642
2643         * bindings/js/JSInjectedScriptHostCustom.cpp:
2644         (WebCore::JSInjectedScriptHost::objectId):
2645         (WebCore):
2646         (WebCore::JSInjectedScriptHost::releaseObjectId):
2647         * bindings/js/ScriptObject.h:
2648         (WTF):
2649         (WTF::ScriptObjectHash::hash):
2650         (WTF::ScriptObjectHash::equal):
2651         (ScriptObjectHash):
2652         * bindings/v8/ScriptObject.h:
2653         (WTF):
2654         (WTF::ScriptObjectHash::hash):
2655         (WTF::ScriptObjectHash::equal):
2656         (ScriptObjectHash):
2657         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2658         (WebCore::V8InjectedScriptHost::objectIdMethodCustom):
2659         (WebCore):
2660         (WebCore::V8InjectedScriptHost::releaseObjectIdMethodCustom):
2661         * inspector/InjectedScriptHost.cpp:
2662         (WebCore::InjectedScriptHost::create):
2663         (WebCore::InjectedScriptHost::InjectedScriptHost):
2664         (WebCore::InjectedScriptHost::disconnect):
2665         (WebCore::InjectedScriptHost::objectId):
2666         (WebCore):
2667         (WebCore::InjectedScriptHost::releaseObjectId):
2668         * inspector/InjectedScriptHost.h:
2669         (WebCore):
2670         (InjectedScriptHost):
2671         * inspector/InjectedScriptHost.idl:
2672         * inspector/InjectedScriptManager.cpp:
2673         (InjectedScriptManager::ObjectIdMap):
2674         (WebCore::InjectedScriptManager::ObjectIdMap::ObjectIdMap):
2675         (WebCore::InjectedScriptManager::ObjectIdMap::objectId):
2676         (WebCore::InjectedScriptManager::ObjectIdMap::releaseObjectId):
2677         (WebCore):
2678         (WebCore::InjectedScriptManager::InjectedScriptManager):
2679         (WebCore::InjectedScriptManager::discardInjectedScripts):
2680         (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
2681         (WebCore::InjectedScriptManager::objectId):
2682         (WebCore::InjectedScriptManager::releaseObjectId):
2683         * inspector/InjectedScriptManager.h:
2684         (InjectedScriptManager):
2685         * inspector/InjectedScriptSource.js:
2686         (.):
2687
2688 2013-03-06  Marja Hölttä  <marja@chromium.org>
2689
2690         REGRESSION(r144617): Wrong usage of overwritten variable in toDOMWindow (V8Binding.cpp)
2691         https://bugs.webkit.org/show_bug.cgi?id=111565
2692
2693         Reviewed by Jochen Eisinger.
2694
2695         In toDOMWindow, the variable "global" was first nuked, and then used again. This
2696         change was introduced in r144617.
2697
2698         No new tests (no functional changes).
2699
2700         * bindings/v8/V8Binding.cpp:
2701         (WebCore::toDOMWindow):
2702
2703 2013-03-06  Yury Semikhatsky  <yurys@chromium.org>
2704
2705         Web Inspector: use regular eval instead of injectScript for front-end extension API
2706         https://bugs.webkit.org/show_bug.cgi?id=111529
2707
2708         Reviewed by Pavel Feldman.
2709
2710         Removed InjectedScriptManager::injectScript and replaced all of it calls
2711         except the actual script injection with ScriptController::executeScript.
2712
2713         * inspector/InjectedScriptManager.cpp:
2714         (WebCore::InjectedScriptManager::injectedScriptFor):
2715         * inspector/InjectedScriptManager.h:
2716         (InjectedScriptManager):
2717         * inspector/InspectorAgent.cpp:
2718         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
2719         * inspector/InspectorPageAgent.cpp:
2720         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
2721         * inspector/front-end/DOMAgent.js:
2722         (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged.get if):
2723         * inspector/front-end/ExtensionAPI.js:
2724         (buildExtensionAPIInjectedScript):
2725         * inspector/front-end/ExtensionServer.js:
2726         (WebInspector.ExtensionServer.prototype._onReload):
2727
2728 2013-03-06  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2729
2730         [Qt] Do not disable C++0x
2731         https://bugs.webkit.org/show_bug.cgi?id=111559
2732
2733         Reviewed by Kenneth Rohde Christiansen.
2734
2735         * WebCore.pri:
2736
2737 2013-03-06  Julien Chaffraix  <jchaffraix@webkit.org>
2738
2739         Remove the (dead) code for handling shorthands in StyleResolver / StyleBuilder
2740         https://bugs.webkit.org/show_bug.cgi?id=111505
2741
2742         Reviewed by Alexis Menard.
2743
2744         The CSS parsing code expands shorthands (with the exception of 'font') to their longhands.
2745         This means that all the code in StyleResolver / StyleBuilder to handle shorthands is basically
2746         dead and shouldn't be there. The reason for it to be is that people didn't know about shorthands
2747         expansion and thus copied existing code.
2748
2749         This change addresses both issues by removing the code and adding ASSERTs that should prevent people
2750         from adding more dead code.
2751
2752         Refactoring, covered by existing tests.
2753
2754         * css/StylePropertyShorthand.h: Added isExpandedShorthand.
2755         * css/StylePropertyShorthand.cpp:
2756         (WebCore::isExpandedShorthand):
2757         Added this function that ignores 'font' as it is the only shorthand that is no consistently expanded
2758         to account for system fonts.
2759
2760         * css/StyleBuilder.cpp:
2761         (WebCore::StyleBuilder::StyleBuilder):
2762         Removed the shorthands.
2763
2764         * css/StyleBuilder.h:
2765         (WebCore::StyleBuilder::setPropertyHandler):
2766         Added ASSERTs that people don't add shorthand handling.
2767
2768         * css/StyleResolver.cpp:
2769         (WebCore::isValidVisitedLinkProperty):
2770         Removed all the shorthands (shouldn't be reachable unless the ASSERT in applyProperty
2771         triggers).
2772
2773         (WebCore::StyleResolver::applyProperty):
2774         Removed all shorthand handling code, moved the shorthands together and added some ASSERT
2775         to ensure people don't abuse the code and re-add some of it back by mistake.
2776
2777 2013-03-05  Kent Tamura  <tkent@chromium.org>
2778
2779         Rename WebCore/editing/visible_units.* to VisibleUnits.*
2780         https://bugs.webkit.org/show_bug.cgi?id=111426
2781
2782         Reviewed by Alexey Proskuryakov.
2783
2784         No new tests. Just a refactoring.
2785
2786         * CMakeLists.txt:
2787         * GNUmakefile.list.am:
2788         * Target.pri:
2789         * WebCore.gypi:
2790         * WebCore.vcproj/WebCore.vcproj:
2791         * WebCore.vcxproj/WebCore.vcxproj:
2792         * WebCore.vcxproj/WebCore.vcxproj.filters:
2793         * WebCore.xcodeproj/project.pbxproj:
2794         * accessibility/AccessibilityNodeObject.cpp:
2795         * accessibility/AccessibilityObject.cpp:
2796         * accessibility/AccessibilityRenderObject.cpp:
2797         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2798         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
2799         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2800         * dom/Position.cpp:
2801         * dom/Range.cpp:
2802         * editing/AlternativeTextController.cpp:
2803         * editing/ApplyBlockElementCommand.cpp:
2804         * editing/ApplyStyleCommand.cpp:
2805         * editing/CompositeEditCommand.cpp:
2806         * editing/DeleteSelectionCommand.cpp:
2807         * editing/EditingAllInOne.cpp:
2808         * editing/EditingStyle.cpp:
2809         * editing/Editor.cpp:
2810         * editing/FormatBlockCommand.cpp:
2811         * editing/FrameSelection.cpp:
2812         * editing/IndentOutdentCommand.cpp:
2813         * editing/InsertLineBreakCommand.cpp:
2814         * editing/InsertListCommand.cpp:
2815         * editing/InsertParagraphSeparatorCommand.cpp:
2816         * editing/InsertTextCommand.cpp:
2817         * editing/ReplaceSelectionCommand.cpp:
2818         * editing/SurroundingText.cpp:
2819         * editing/TextCheckingHelper.cpp:
2820         * editing/TextIterator.cpp:
2821         * editing/TypingCommand.cpp:
2822         * editing/VisiblePosition.cpp:
2823         * editing/VisibleSelection.cpp:
2824         * editing/VisibleUnits.cpp: Copied from Source/WebCore/editing/visible_units.cpp.
2825         * editing/VisibleUnits.h: Copied from Source/WebCore/editing/visible_units.h.
2826         * editing/htmlediting.cpp:
2827         * editing/markup.cpp:
2828         * editing/visible_units.cpp: Removed.
2829         * editing/visible_units.h: Removed.
2830         * page/Frame.cpp:
2831         * page/mac/FrameMac.mm:
2832         * platform/win/EditorWin.cpp:
2833
2834 2013-03-06  Alexis Menard  <alexis@webkit.org>
2835
2836         Do not add CSSPropertyBorderImage shorthand part of the property list when parsing CSS border property
2837         https://bugs.webkit.org/show_bug.cgi?id=111481
2838
2839         Reviewed by Julien Chaffraix.
2840
2841         After http://trac.webkit.org/changeset/135848 and more generally we do not 
2842         add shorthand directly into the property list used afterwards to build
2843         StylePropertySet but we rather expand the shorthand to add the
2844         longhands. CSSPropertyBorderImage is a shorthand and it should follow
2845         that rule, so when we successfully parsed CSS border property and we
2846         should reset border-image then we should reset the longhands too.
2847
2848         Test: LayoutTests/inspector/styles/styles-new-API-expected.txt which
2849         reflects the fact that we add longhands instead of the shorthand. All
2850         the other tests should not regress.
2851
2852         * css/CSSParser.cpp:
2853         (WebCore::CSSParser::parseValue):
2854
2855 2013-03-06  Luiz Agostini  <luiz.agostini@nokia.com>
2856
2857         Accelerated overflow scrolling for Coordinated Graphics.
2858         https://bugs.webkit.org/show_bug.cgi?id=110323
2859
2860         Reviewed by Noam Rosenthal.
2861
2862         A scroll offset is applied to individual layers on UI process and the
2863         web process is notified assynchronously.
2864         The new API WKCoordinatedScene may be used to scroll layers in the UI process.
2865
2866         Tests will be added on bug #111140.
2867
2868         Scrolling coordinator is used to provide a ScrollableArea to CoordinatedGraphicsLayer.
2869
2870         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
2871         (WebCore::ScrollingCoordinatorCoordinatedGraphics::scrollableAreaScrollLayerDidChange):
2872         (WebCore):
2873         (WebCore::ScrollingCoordinatorCoordinatedGraphics::willDestroyScrollableArea):
2874         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
2875         (ScrollingCoordinatorCoordinatedGraphics):
2876
2877         GraphicsLayerTextureMapper is responsible for receiving the 'did commit' messages and to pass
2878         them to its TextureMapperLayer on the appropriated time.
2879
2880         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2881         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
2882         (WebCore::GraphicsLayerTextureMapper::didCommitScrollOffset):
2883         (WebCore):
2884         (WebCore::GraphicsLayerTextureMapper::setIsScrollable):
2885         (WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
2886         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2887         (WebCore::GraphicsLayerTextureMapper::setScrollClient):
2888         (WebCore::GraphicsLayerTextureMapper::setID):
2889         (GraphicsLayerTextureMapper):
2890         (WebCore::GraphicsLayerTextureMapper::isScrollable):
2891
2892         TextureMapperLayer is responsible for applying the requested scroll offset and for
2893         sending the commit messages to web process. It is also able to hittest layers and identify
2894         the ones that are scrollable.
2895
2896         * platform/graphics/texmap/TextureMapperLayer.cpp:
2897         (WebCore::TextureMapperLayer::hitTest):
2898         (WebCore):
2899         (WebCore::TextureMapperLayer::scrollableLayerHitTestCondition):
2900         (WebCore::TextureMapperLayer::findScrollableContentsLayerAt):
2901         (WebCore::TextureMapperLayer::mapScrollOffset):
2902         (WebCore::TextureMapperLayer::commitScrollOffset):
2903         (WebCore::TextureMapperLayer::scrollBy):
2904         (WebCore::TextureMapperLayer::didCommitScrollOffset):
2905         * platform/graphics/texmap/TextureMapperLayer.h:
2906         (TextureMapperLayer):
2907         (ScrollingClient):
2908         (WebCore::TextureMapperLayer::TextureMapperLayer):
2909         (WebCore::TextureMapperLayer::setID):
2910         (WebCore::TextureMapperLayer::id):
2911         (WebCore::TextureMapperLayer::setScrollClient):
2912         (WebCore::TextureMapperLayer::setIsScrollable):
2913         (WebCore::TextureMapperLayer::isScrollable):
2914         (WebCore::TextureMapperLayer::adjustedPosition):
2915
2916         CoordinatedGraphicsLayer receives the commit messages and updates its ScrollableArea.
2917
2918         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2919         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
2920         (WebCore::CoordinatedGraphicsLayer::setScrollableArea):
2921         (WebCore):
2922         (WebCore::CoordinatedGraphicsLayer::commitScrollOffset):
2923         (WebCore::CoordinatedGraphicsLayer::resetLayerState):
2924         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2925         (WebCore):
2926         (CoordinatedGraphicsLayer):
2927         (WebCore::CoordinatedGraphicsLayer::isScrollable):
2928
2929         CoordinatedGraphicsScene receives the commit messages from TextureMapperLayer and
2930         dispatches them on the main thread. It also has a new method that is used to find
2931         the topmost scrollable layer at a given point.
2932
2933         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2934         (WebCore::CoordinatedGraphicsScene::setLayerState):
2935         (WebCore::CoordinatedGraphicsScene::createLayer):
2936         (WebCore::CoordinatedGraphicsScene::dispatchCommitScrollOffset):
2937         (WebCore):
2938         (WebCore::CoordinatedGraphicsScene::commitScrollOffset):
2939         (WebCore::CoordinatedGraphicsScene::findScrollableContentsLayerAt):
2940         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
2941         (WebCore):
2942         (CoordinatedGraphicsSceneClient):
2943         (CoordinatedGraphicsScene):
2944
2945         New fields have been added to CoordinatedGraphicsLayerState.
2946
2947         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
2948         (CoordinatedGraphicsLayerState):
2949
2950 2013-03-06  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2951
2952         REGGRESSION (r142112): It made compositing tests fail on EFL, Qt.
2953         https://bugs.webkit.org/show_bug.cgi?id=109291
2954
2955         Reviewed by Kenneth Rohde Christiansen.
2956
2957         Report we support fixed layers.
2958
2959         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
2960         (WebCore::ScrollingCoordinatorCoordinatedGraphics::supportsFixedPositionLayers):
2961         (ScrollingCoordinatorCoordinatedGraphics):
2962
2963 2013-03-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2964
2965         Unreviewed, rolling out r144859.
2966         http://trac.webkit.org/changeset/144859
2967         https://bugs.webkit.org/show_bug.cgi?id=111519
2968
2969         Introduced a test that calls non-exist function on non-
2970         Chromium ports and crash on Chromium (Requested by rniwa on
2971         #webkit).
2972
2973         * html/HTMLAudioElement.h:
2974         (WebCore::HTMLAudioElement::hasPendingActivity):
2975         (HTMLAudioElement):
2976         * html/HTMLAudioElement.idl:
2977         * html/HTMLMediaElement.cpp:
2978         (WebCore::HTMLMediaElement::hasPendingActivity):
2979         * html/HTMLMediaElement.idl:
2980
2981 2013-03-06  Ilya Tikhonovsky  <loislo@chromium.org>
2982
2983         Web Inspector: Could not open Profiles panel.
2984         https://bugs.webkit.org/show_bug.cgi?id=111535
2985
2986         Reviewed by Alexander Pavlov.
2987
2988         * inspector/front-end/CPUProfileView.js:
2989         * inspector/front-end/ProfilesPanel.js:
2990
2991 2013-03-06  Tony Chang  <tony@chromium.org>
2992
2993         Crash during middle mouse click when page is removed
2994         https://bugs.webkit.org/show_bug.cgi?id=111489
2995
2996         Reviewed by Hajime Morrita.
2997
2998         Check for a null page that can happen if we remove the document from the DOM.
2999         The other methods in EventHandler also check for a null page.
3000
3001         Test: editing/pasteboard/selection-paste-crash.html
3002
3003         * page/EventHandler.cpp:
3004         (WebCore::EventHandler::handlePasteGlobalSelection):
3005
3006 2013-03-05  Eric Seidel  <eric@webkit.org>
3007
3008         Replace shouldLazyAttach bool with an enum for readability
3009         https://bugs.webkit.org/show_bug.cgi?id=111503
3010
3011         Reviewed by Dimitri Glazkov.
3012
3013         No behavioral change.
3014
3015         * bindings/cpp/WebDOMNodeCustom.cpp:
3016         (WebDOMNode::insertBefore):
3017         (WebDOMNode::replaceChild):
3018         (WebDOMNode::appendChild):
3019         * bindings/js/JSNodeCustom.cpp:
3020         (WebCore::JSNode::insertBefore):
3021         (WebCore::JSNode::replaceChild):
3022         (WebCore::JSNode::appendChild):
3023         * bindings/v8/custom/V8NodeCustom.cpp:
3024         (WebCore):
3025         (WebCore::V8Node::insertBeforeMethodCustom):
3026         (WebCore::V8Node::replaceChildMethodCustom):
3027         (WebCore::V8Node::appendChildMethodCustom):
3028         * dom/ContainerNode.cpp:
3029         (WebCore):
3030         (WebCore::ContainerNode::insertBefore):
3031         (WebCore::ContainerNode::replaceChild):
3032         (WebCore::ContainerNode::appendChild):
3033         (WebCore::updateTreeAfterInsertion):
3034         * dom/ContainerNode.h:
3035         (ContainerNode):
3036         * dom/Node.cpp:
3037         (WebCore::Node::insertBefore):
3038         (WebCore::Node::replaceChild):
3039         (WebCore::Node::appendChild):
3040         * dom/Node.h:
3041         (Node):
3042         * editing/AppendNodeCommand.cpp:
3043         (WebCore::AppendNodeCommand::doApply):
3044         * editing/InsertNodeBeforeCommand.cpp:
3045         (WebCore::InsertNodeBeforeCommand::doApply):
3046         * html/shadow/MediaControlsApple.cpp:
3047         (WebCore::MediaControlsApple::createControls):
3048         * html/shadow/MediaControlsBlackBerry.cpp:
3049         (WebCore::MediaControlsBlackBerry::createControls):
3050         * html/shadow/MediaControlsChromium.cpp:
3051         (WebCore::MediaControlsChromium::initializeControls):
3052         * html/shadow/MediaControlsChromiumAndroid.cpp:
3053         (WebCore::MediaControlsChromiumAndroid::createControls):
3054
3055 2013-03-05  Hajime Morrita  <morrita@google.com>
3056
3057         Custom Elements: CustomElementConstructor::m_name doesn't have any good use.
3058         https://bugs.webkit.org/show_bug.cgi?id=111523
3059
3060         Reviewed by Kentaro Hara.
3061
3062         This change removes CustomElementConstructor::m_name and renames
3063         m_tagName to m_name. Now generated function name is same as interface name.
3064
3065         Originally, m_name was added to specify the generated constructor
3066         name. An early version of custom element allows to give the name,
3067         but it no longer says anything about that.
3068
3069         The rename is to align the semantics of type extension mechanism
3070         of Custom Elements, where the name of a custom element isn't
3071         necessarily a tag name.
3072
3073         No new tests. Just removing old code.
3074
3075         * bindings/scripts/CodeGeneratorV8.pm:
3076         (GenerateHeader):
3077         * dom/CustomElementConstructor.cpp:
3078         (WebCore::CustomElementConstructor::create):
3079         (WebCore::CustomElementConstructor::CustomElementConstructor):
3080         (WebCore::CustomElementConstructor::createElement):
3081         * dom/CustomElementConstructor.h:
3082         (CustomElementConstructor):
3083         (WebCore::CustomElementConstructor::name):
3084         * dom/CustomElementRegistry.cpp:
3085         (WebCore::CustomElementRegistry::registerElement):
3086
3087 2013-03-05  Ilya Tikhonovsky  <loislo@chromium.org>
3088
3089         Web Inspector: Flame Chart. Provide node context info in a popover when mouse hovers over a flame chart item.
3090         https://bugs.webkit.org/show_bug.cgi?id=111442
3091
3092         Reviewed by Yury Semikhatsky.
3093
3094         FlameChart is a canvas so it is not possible to attach the popover to the items on it.
3095         It would be a bit tricky to support an offset due to complex behaviour of the popover.
3096         The simplest solution is to create a fake anchor element and move it to the right position.
3097
3098         * inspector/front-end/FlameChart.js:
3099         (WebInspector.FlameChart):
3100         (WebInspector.FlameChart.prototype._getPopoverAnchor):
3101         (WebInspector.FlameChart.prototype._showPopover):
3102         (WebInspector.FlameChart.prototype._onMouseMove):
3103         (WebInspector.FlameChart.prototype.findNodeCallback):
3104         (WebInspector.FlameChart.prototype._coordinatesToNode):
3105         (WebInspector.FlameChart.prototype.onResize):
3106         * inspector/front-end/flameChart.css:
3107         (.flame-chart .item-anchor):
3108
3109 2013-03-05  Csaba Osztrogonác  <ossy@webkit.org>
3110
3111         Unreviewed buildfix after r144787. Add missing USE(GRAPHICS_SURFACE) guards.
3112
3113         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
3114         (WebCore::CoordinatedGraphicsScene::setLayerState):
3115         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
3116         (WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
3117
3118 2013-03-05  Geoffrey Garen  <ggaren@apple.com>
3119
3120         Autoreleased cached pages slow down the PLT by 2%
3121         https://bugs.webkit.org/show_bug.cgi?id=111522
3122
3123         Reviewed by Filip Pizlo.
3124
3125         Let's stop doing that.
3126
3127         2% PLT speedup.
3128
3129         * history/PageCache.cpp:
3130         (WebCore::PageCache::remove):
3131
3132 2013-03-05  Hayato Ito  <hayato@chromium.org>
3133
3134         [Shadow] Implements event re-targeting for Touch Events.
3135         https://bugs.webkit.org/show_bug.cgi?id=107800
3136
3137         Reviewed by Dimitri Glazkov.
3138
3139         So far, Touch Events have been intentionally disabled in shadow
3140         tree since it allows users to access internal nodes in shadow tree
3141         by accessing Touch Event's information.
3142
3143         This patch re-targets all individual touch point's target in
3144         TouchList (touches, targetTouches and changedTouches) owned by a Touch Event
3145         before the Touch Event is dispatched so that we won't break an
3146         upper boundary of shadow DOM.
3147
3148         Touch Events re-targeting is similar to that of Mouse Events
3149         re-targeting. The difference is that a Touch Event can have more
3150         than one related target because of multiple touches. We must
3151         re-target all individual touch points which can be referred from
3152         the Touch Event.
3153
3154         Now, Touch Events can be fired in shadow tree. I've removed the
3155         existing limitation.
3156
3157         Test: fast/dom/shadow/touch-event-retargeting.html
3158
3159         * dom/EventContext.cpp:
3160         (WebCore::EventContext::isTouchEventContext):
3161         (WebCore):
3162         (WebCore::TouchEventContext::TouchEventContext):
3163         (WebCore::TouchEventContext::~TouchEventContext):
3164         (WebCore::TouchEventContext::handleLocalEvents):
3165         (WebCore::TouchEventContext::isTouchEventContext):
3166         (WebCore::TouchEventContext::checkReachability):  Used for assertion of reachability for each Touch point.
3167         * dom/EventContext.h:
3168         (WebCore):
3169         (EventContext):
3170         (TouchEventContext): Introduced to hold necessary information for re-targeting Touch event.
3171         (WebCore::TouchEventContext::touches):
3172         (WebCore::TouchEventContext::targetTouches):
3173         (WebCore::TouchEventContext::changedTouches):
3174         (WebCore::EventContext::isReachable):
3175         * dom/EventRetargeter.cpp:
3176         (WebCore::EventRetargeter::calculateEventPath):
3177         (WebCore::EventRetargeter::adjustForTouchEvent):
3178         (WebCore):
3179         (WebCore::EventRetargeter::adjustTouchList):
3180         (WebCore::EventRetargeter::adjustForRelatedTarget):
3181         (WebCore::EventRetargeter::calculateAdjustedNodes): Updated so that this can be used for Touch point re-targeting.
3182         (WebCore::EventRetargeter::buildRelatedNodeMap):
3183         * dom/EventRetargeter.h:
3184         (WebCore):
3185         (EventRetargeter):
3186         * dom/Node.cpp:
3187         (WebCore::Node::dispatchEvent):
3188         (WebCore):
3189         (WebCore::Node::dispatchTouchEvent):
3190         * dom/Node.h:
3191         (WebCore):
3192         (Node):
3193         * dom/Touch.cpp:
3194         (WebCore::Touch::Touch):
3195         (WebCore):
3196         (WebCore::Touch::cloneWithNewTarget):
3197         * dom/Touch.h:
3198         (Touch):
3199         * dom/TouchEvent.cpp:
3200         (WebCore::TouchEventDispatchMediator::create):
3201         (WebCore):
3202         (WebCore::TouchEventDispatchMediator::TouchEventDispatchMediator):
3203         (WebCore::TouchEventDispatchMediator::event):
3204         (WebCore::TouchEventDispatchMediator::dispatchEvent):
3205         * dom/TouchEvent.h:
3206         (TouchEvent):
3207         (WebCore::TouchEvent::setTouches):
3208         (WebCore::TouchEvent::setTargetTouches):
3209         (WebCore::TouchEvent::setChangedTouches):
3210         (TouchEventDispatchMediator):
3211         (WebCore):
3212         (WebCore::toTouchEvent):
3213         * dom/TouchList.cpp:
3214         (WebCore::TouchList::item):
3215         (WebCore):
3216         * dom/TouchList.h:
3217         (TouchList):
3218         * page/EventHandler.cpp:
3219         (WebCore::EventHandler::hitTestResultInFrame): Removed the limitation. Adjusting is no longer done here.
3220         (WebCore::EventHandler::handleTouchEvent):
3221
3222 2013-03-05  Hajime Morrita  <morrita@google.com>
3223
3224         [Custom Elements][V8] Custom Element doesn't need its own WrapperTypeInfo
3225         https://bugs.webkit.org/show_bug.cgi?id=111411
3226
3227         Reviewed by Kentaro Hara.
3228
3229         No new tests. No observable change yet.
3230
3231         This is a preparation for Bug 110436, where WebKit is going to
3232         allow any HTML element to be a superclass of custom elements.
3233
3234         This change eliminates WrapperTypeInfo for custom element. Instead
3235         of that, the wrapper of a custom element picks WrapperTypeInfo
3236         from most descendant built-in HTML element. For example, think about
3237         following hierarchy:
3238
3239         - ... <- HTMLElement <- HTMLDivElememnt <- ExistingCustomElement <- NewCustomElement
3240
3241         In this case, both ExistingCustomElement and NewCustomElement has
3242         HTMLDivElememnt's type info. This is because HTMLDivElememnt is
3243         the most descendant (or "the nearest") built-in HTML
3244         element. (HTMLElement isn't the most descendant.
3245         ExistingCustomElement isn't a built-in.)
3246
3247         Using such WrapperTypeInfos, created custom element wrappers can
3248         get appropriate set of method and properties regardless of its
3249         super-elements.
3250
3251         This change tells the prototype object of each built-in object
3252         which WrapperTypeInfo the native backing wants:
3253         HTMLDivElememnt.prototype knows V8HTMLDivElement::info for
3254         example. The pointer to the type info is stored into an internal
3255         field. On wrapper construction, createWrapper() walks up the
3256         prototype chain and pick the first one.
3257
3258         * bindings/v8/V8DOMConfiguration.cpp:
3259         (WebCore::V8DOMConfiguration::configureTemplate):
3260         * bindings/v8/V8HTMLCustomElement.cpp:
3261         (WebCore::findWrapperTypeOf):
3262         (WebCore::V8HTMLCustomElement::createWrapper):
3263         * bindings/v8/V8HTMLCustomElement.h:
3264         * bindings/v8/V8PerContextData.cpp:
3265         (WebCore::V8PerContextData::constructorForTypeSlowCase):
3266         * bindings/v8/WrapperTypeInfo.h:
3267         (WebCore):
3268
3269 2013-03-05  Aaron Colwell  <acolwell@chromium.org>
3270
3271         Heap-use-after-free in WebCore::HTMLMediaElement::~HTMLMediaElement
3272         https://bugs.webkit.org/show_bug.cgi?id=110623
3273
3274         Reviewed by Eric Seidel.
3275
3276         Test: http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html
3277
3278         * html/HTMLAudioElement.h:
3279         (HTMLAudioElement):
3280         * html/HTMLAudioElement.idl:
3281         * html/HTMLMediaElement.cpp:
3282         (WebCore::HTMLMediaElement::hasPendingActivity):
3283         * html/HTMLMediaElement.idl:
3284
3285 2013-03-05  Chris Fleizach  <cfleizach@apple.com>
3286  
3287         AX: Support aria-posinset/setsize
3288         https://bugs.webkit.org/show_bug.cgi?id=109725
3289
3290         Reviewed by Tim Horton.
3291
3292         Expose aria-setsize and aria-posinset through accessibility.
3293         Right now only the Mac platform exposes them.
3294
3295         Test: platform/mac/accessibility/aria-setsize-posinset.html
3296
3297         * accessibility/AccessibilityObject.cpp:
3298         (WebCore::AccessibilityObject::supportsARIASetSize):
3299         (WebCore):
3300         (WebCore::AccessibilityObject::supportsARIAPosInset):
3301         (WebCore::AccessibilityObject::ariaSetSize):
3302         (WebCore::AccessibilityObject::ariaPosInset):
3303         * accessibility/AccessibilityObject.h:
3304         (AccessibilityObject):
3305         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3306         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
3307         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3308         * html/HTMLAttributeNames.in:
3309
3310
3311 2013-03-05  Peter Nelson  <peter@peterdn.com>
3312
3313         [WinCairo] Support for cookies is incomplete
3314         https://bugs.webkit.org/show_bug.cgi?id=110147
3315         
3316         Expired and HttpOnly cookies no longer accessible from JavaScript.
3317         Cookies set in JavaScript now have correct domain/path.
3318
3319         Reviewed by Brent Fulgham.
3320
3321         Test: http/tests/cookies/http-get-cookie-set-in-js.html
3322
3323         * platform/network/curl/CookieJarCurl.cpp:
3324         (WebCore):
3325         (WebCore::addMatchingCurlCookie):
3326         (WebCore::getNetscapeCookieFormat):
3327         (WebCore::setCookiesFromDOM):
3328         (WebCore::cookieRequestHeaderFieldValue):
3329
3330 2013-03-05  Alec Flett  <alecflett@chromium.org>
3331
3332         Fix mac clang build with long long
3333         https://bugs.webkit.org/show_bug.cgi?id=111495
3334
3335         Unreviewed fix for mac build.
3336
3337         * Modules/indexeddb/IDBBackingStore.cpp:
3338         (WebCore::IDBBackingStore::IDBBackingStore):
3339
3340 2013-03-05  Alec Flett  <alecflett@chromium.org>
3341
3342         Fix mac clang build with long long
3343         https://bugs.webkit.org/show_bug.cgi?id=111495
3344
3345         Unreviewed fix for mac build.
3346
3347         * Modules/indexeddb/IDBBackingStore.cpp:
3348         (WebCore::IDBBackingStore::IDBBackingStore):
3349
3350 2013-03-05  Aaron Colwell  <acolwell@chromium.org>
3351
3352         Add V8Document.h include when the V8 code generator creates a toV8(Document*) call.
3353         https://bugs.webkit.org/show_bug.cgi?id=111486
3354
3355         Reviewed by Adam Barth.
3356
3357         No new tests. This doesn't change user visible behavior.
3358
3359         * bindings/scripts/CodeGeneratorV8.pm:
3360         (GenerateNamedConstructor):
3361         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3362
3363 2013-03-05  Shawn Singh  <shawnsingh@chromium.org>
3364
3365         Fix default background of a dragged image.
3366         https://bugs.webkit.org/show_bug.cgi?id=110512
3367
3368         Reviewed by Tony Chang.
3369
3370         Transparent background color (particularly visible in the padding
3371         of an element) was not being respected. The solution is to
3372         initially fill the drag image with transparent instead of white,
3373         so that any color background works correctly. This patch does not
3374         affect Apple Mac or Win platforms, given that this part of the
3375         code is #if guarded from those platforms.
3376
3377         Manual test added:
3378           ManualTests/drag-background-with-padding.html
3379
3380         Infrastructure for retrieving the drag image for pixel testing
3381         does not yet exist.
3382
3383         * page/Frame.cpp:
3384         (WebCore::Frame::nodeImage):
3385
3386 2013-03-05  Emil A Eklund  <eae@chromium.org>
3387
3388         ASSERTION FAILED: i < size(), UNKNOWN in WebCore::RenderTableSection::layout
3389         https://bugs.webkit.org/show_bug.cgi?id=108838
3390
3391         Reviewed by Levi Weintraub.
3392         
3393         Ensure that RenderTable::recalcSections is called when moving a
3394         TableSection by calling setNeedsSectionRecalc in addChild for
3395         TableSections.
3396
3397         Test: fullscreen/full-screen-table-section.html
3398
3399         * rendering/RenderTable.cpp:
3400         (WebCore::RenderTable::addChild):
3401
3402 2013-03-05  Kenneth Russell  <kbr@google.com>
3403
3404         Upgrade ANGLE to r1987
3405         https://bugs.webkit.org/show_bug.cgi?id=111381
3406
3407         Reviewed by Dean Jackson.
3408
3409         Covered by existing tests. Ran WebGL conformance tests in Safari
3410         to ensure correct operation of patch.
3411
3412         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
3413         (WebCore::GraphicsContext3D::GraphicsContext3D):
3414         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
3415         (WebCore::GraphicsContext3D::GraphicsContext3D):
3416         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
3417         (WebCore::GraphicsContext3D::GraphicsContext3D):
3418         * platform/graphics/mac/GraphicsContext3DMac.mm:
3419         (WebCore::GraphicsContext3D::GraphicsContext3D):
3420         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3421         (WebCore::GraphicsContext3DPrivate::initializeANGLE):
3422             Changed all ports to query for highp support in fragment
3423             shaders and conditionally enable it in ANGLE shader translator.
3424
3425 2013-03-05  Alec Flett  <alecflett@chromium.org>
3426
3427         IndexedDB: Add IDBBackingStoreTest
3428         https://bugs.webkit.org/show_bug.cgi?id=111233
3429
3430         Reviewed by Adam Barth.
3431
3432         These are tweaks to make IDBBackingStore more easily testable.
3433
3434         * Modules/indexeddb/IDBBackingStore.cpp:
3435         (WebCore::IDBBackingStore::IDBBackingStore): Allow use without a backing store.
3436
3437 2013-03-04  James Robinson  <jamesr@chromium.org>
3438
3439         [chromium] Move check for threaded compositing from WebCompositorSupport to Platform
3440         https://bugs.webkit.org/show_bug.cgi?id=111386
3441
3442         Reviewed by Adrienne Walker.
3443
3444         This moves checks for whether threaded compositing is enabled from WebCompositorSupport
3445         to Platform. In the case of Canvas2DLayerBridge, the check is moved completely out of
3446         the class to make it easier for tests to specify the threaded configuration to use in the test.
3447
3448         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
3449         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
3450         * platform/graphics/chromium/Canvas2DLayerBridge.h:
3451         (WebCore::Canvas2DLayerBridge::create):
3452         (Canvas2DLayerBridge):
3453         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3454         (WebCore::DrawingBuffer::DrawingBuffer):
3455         * platform/graphics/skia/ImageBufferSkia.cpp:
3456         (WebCore::createAcceleratedCanvas):
3457
3458 2013-03-05  Anders Carlsson  <andersca@apple.com>
3459
3460         Split up the storage event dispatch functions further
3461         https://bugs.webkit.org/show_bug.cgi?id=111482
3462
3463         Reviewed by Beth Dakin.
3464
3465         Add new functions for dispatching storage events to a set of frames.
3466
3467         * storage/StorageAreaImpl.cpp:
3468         (WebCore::StorageAreaImpl::dispatchStorageEvent):
3469         * storage/StorageEventDispatcher.cpp:
3470         (WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):
3471         (WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
3472         (WebCore):
3473         (WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
3474         (WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):
3475         * storage/StorageEventDispatcher.h:
3476         (WebCore):
3477         (StorageEventDispatcher):
3478
3479 2013-03-05  Stephen Chenney  <schenney@chromium.org>
3480
3481         Crash when ImageLoader deletes Element inside SVGImageElement
3482         https://bugs.webkit.org/show_bug.cgi?id=111085
3483
3484         Reviewed by Abhishek Arya.
3485
3486         Elements with ImageLoader objects associated with them may have their
3487         final reference held by the ImageLoader (to allow events to be sent
3488         and handled). Any call on Element that causes the ImageLoader to
3489         dispatch events might then result in the final deref of the Element
3490         itself, thus leaving all the Element's "this" pointers up the stack
3491         pointing to invalid memory.
3492
3493         This change puts the deref of the Element on a timer so that, if the
3494         deref is called via a method on Element, the call stack will unwind
3495         before the deref occurs.
3496
3497         Test: svg/custom/image-with-attr-change-after-delete-crash.html
3498
3499         * loader/ImageLoader.cpp:
3500         (WebCore::ImageLoader::ImageLoader): Initialize a timer
3501         (WebCore::ImageLoader::updatedHasPendingEvent): Put deref of the
3502           element on a oneShotTimer, with appropriate assertions and checks to
3503           ensure we only ref/deref once.
3504         (WebCore::ImageLoader::timerFired): Deref the element when the timer fires.
3505         * loader/ImageLoader.h:
3506         (ImageLoader): Define a timer for controlling deref of the element.
3507
3508 2013-03-05  Antoine Quint  <graouts@apple.com>
3509
3510         Web Inspector: identify reflection layers in LayerTreeAgent
3511         https://bugs.webkit.org/show_bug.cgi?id=111419
3512
3513         We add a new property "isReflection" to the Layer objects returned
3514         to the front-end to indicate whether the layer was created to host
3515         the reflection for an element. When this new property is true, the
3516         "nodeId" property is set to point to the reflected element's node
3517         id, since there is no node per-se directly associated with this layer.
3518         We also change the "bounds" property to return absolute page coordinates
3519         such that the front-end can use this information to highlight that
3520         region in the page since metrics would otherwise be unavailable.
3521
3522         Reviewed by Dean Jackson.
3523
3524         Test: inspector-protocol/layers/layers-reflected-content.html
3525
3526         * inspector/Inspector.json:
3527         * inspector/InspectorLayerTreeAgent.cpp:
3528         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
3529
3530 2013-03-05  peavo@outlook.com  <peavo@outlook.com>
3531
3532         [WinCairo] Compile fix after r144024.
3533         https://bugs.webkit.org/show_bug.cgi?id=111306
3534
3535         Reviewed by James Robinson.
3536
3537         * page/scrolling/ScrollingCoordinator.cpp: Added guard for USE(ACCELERATED_COMPOSITING).
3538         * page/scrolling/ScrollingCoordinator.h: Added guard for USE(ACCELERATED_COMPOSITING).
3539
3540 2013-03-05  James Weatherall  <wez@chromium.org>
3541
3542         keydown and keyup events have zero keycode for some numeric pad keys under Chromium on Linux
3543         https://bugs.webkit.org/show_bug.cgi?id=85642
3544
3545         Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.
3546
3547         Reviewed by Ojan Vafai.
3548
3549         * platform/chromium/KeyCodeConversionGtk.cpp:
3550         (WebCore::windowsKeyCodeForKeyEvent):
3551
3552 2013-03-05  Alec Flett  <alecflett@chromium.org>
3553
3554         IndexedDB: Properly refactor frontend/backend code by #includes
3555         https://bugs.webkit.org/show_bug.cgi?id=110653
3556
3557         Reviewed by Dimitri Glazkov.
3558
3559         IndexedDB has a distinct backend and frontend, with well defined
3560         *Interface / *Callbacks classes distinguishing them, respectively.
3561         
3562         This makes sure that the frontend and backend do not include each
3563         other and fixes build problems that occurred as a result.
3564
3565         Specifically this moves enums out of IDBCursor and IDBTransaction
3566         into IndexedDB.h in a new WebCore::IndexedDB namespace.
3567
3568         No new tests, as this is just a refactor.
3569
3570 2013-03-05  Jeffrey Pfau  <jpfau@apple.com>
3571
3572         Clear associated cache partitions when deleting origins' cache
3573         https://bugs.webkit.org/show_bug.cgi?id=111383
3574
3575         Reviewed by Maciej Stachowiak.
3576
3577         Clear the cache partitions associated with the origin being cleared.
3578
3579         Not possible to test with current automated test tools, must be tested manually.
3580
3581         * loader/cache/MemoryCache.cpp:
3582         (WebCore::MemoryCache::removeResourcesWithOrigin):
3583
3584 2013-03-04  Ojan Vafai  <ojan@chromium.org>
3585
3586         Inline min/maxInstrinsicLogicalWidth functions
3587         https://bugs.webkit.org/show_bug.cgi?id=111399
3588
3589         Reviewed by Tony Chang.
3590
3591         Turns out these functions don't need to be public and only
3592         have one caller. This patch is in preparation for supporting
3593         intrinsic widths on tables, which will need to pass in the
3594         border and padding width as an argument.
3595
3596         * rendering/RenderBox.cpp:
3597         (WebCore::RenderBox::fillAvailableMeasure):
3598         (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
3599         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
3600         * rendering/RenderBox.h:
3601
3602 2013-03-05  Victor Carbune  <vcarbune@chromium.org>
3603
3604         Cue line-height property shouldn't be inherited from the video element
3605         https://bugs.webkit.org/show_bug.cgi?id=111262
3606
3607         Reviewed by Eric Carlson.
3608
3609         Test: media/track/track-cue-rendering-on-resize.html
3610
3611         * css/mediaControls.css:
3612         (video::-webkit-media-text-track-container): Set the default font size
3613         and family using the "font" property to also reset the line-height property.
3614
3615 2013-03-05  Joshua Bell  <jsbell@chromium.org>
3616
3617         IndexedDB: Remove some unused binding code
3618         https://bugs.webkit.org/show_bug.cgi?id=111463
3619
3620         Reviewed by Adam Barth.
3621
3622         IDBRequest got a custom V8 getter for |request| to help diagnose an issue, but the
3623         root cause was found/fixed (http://wkbug.com/110916 and http://wkbug.com/110206) so
3624         remove it. Also, IDBKey was marked ScriptWrappable but it is now explicitly converted
3625         to a ScriptValue before it gets anywhere near the binding code, so remove that too.
3626         Finally, createIDBKeyFromValue doesn't need to be exposed from IDBBindingUtilities.
3627
3628         No new tests - just removing dead code.
3629
3630         * Modules/indexeddb/IDBKey.h: No need for ScriptWrappable.
3631         * Modules/indexeddb/IDBRequest.idl: Remove custom binding (root cause of bug found).
3632         * WebCore.gypi: Ditto.
3633         * bindings/js/IDBBindingUtilities.h: Don't expose internal createIDBKeyFromValue().
3634         * bindings/v8/IDBBindingUtilities.h: Ditto.
3635         * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
3636
3637 2013-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
3638
3639         Unreviewed, rolling out r144798.
3640         http://trac.webkit.org/changeset/144798
3641         https://bugs.webkit.org/show_bug.cgi?id=111478
3642
3643         "broke chromium windows build" (Requested by dpranke on
3644         #webkit).
3645
3646         * GNUmakefile.list.am:
3647         * Modules/indexeddb/IDBBackingStore.cpp:
3648         (WebCore::IDBBackingStore::Cursor::continueFunction):
3649         (WebCore::objectStoreCursorOptions):
3650         (WebCore::indexCursorOptions):
3651         (WebCore::IDBBackingStore::openObjectStoreCursor):
3652         (WebCore::IDBBackingStore::openObjectStoreKeyCursor):
3653         (WebCore::IDBBackingStore::openIndexKeyCursor):
3654         (WebCore::IDBBackingStore::openIndexCursor):
3655         * Modules/indexeddb/IDBBackingStore.h:
3656         (IDBBackingStore):
3657         * Modules/indexeddb/IDBCursor.cpp:
3658         (WebCore::IDBCursor::create):
3659         (WebCore::IDBCursor::IDBCursor):
3660         (WebCore::IDBCursor::continueFunction):
3661         (WebCore::IDBCursor::stringToDirection):
3662         (WebCore::IDBCursor::directionToString):
3663         * Modules/indexeddb/IDBCursor.h:
3664         (IDBCursor):
3665         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
3666         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
3667         (WebCore::IDBCursorBackendImpl::deleteFunction):
3668         (WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::perform):
3669         * Modules/indexeddb/IDBCursorBackendImpl.h:
3670         (WebCore::IDBCursorBackendImpl::create):
3671         (WebCore::IDBCursorBackendImpl::value):
3672         (IDBCursorBackendImpl):
3673         * Modules/indexeddb/IDBCursorBackendInterface.h:
3674         (WebCore):
3675         * Modules/indexeddb/IDBCursorWithValue.cpp:
3676         (WebCore::IDBCursorWithValue::create):
3677         (WebCore::IDBCursorWithValue::IDBCursorWithValue):
3678         * Modules/indexeddb/IDBCursorWithValue.h:
3679         (IDBCursorWithValue):
3680         * Modules/indexeddb/IDBDatabase.cpp:
3681         (WebCore::IDBDatabase::transaction):
3682         * Modules/indexeddb/IDBDatabase.h:
3683         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3684         (WebCore::GetOperation::create):
3685         (WebCore::GetOperation::GetOperation):
3686         (GetOperation):
3687         (WebCore::OpenCursorOperation::create):
3688         (WebCore::OpenCursorOperation::OpenCursorOperation):
3689         (OpenCursorOperation):
3690         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
3691         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
3692         (WebCore::IDBDatabaseBackendImpl::createIndex):
3693         (WebCore::IDBDatabaseBackendImpl::deleteIndex):
3694         (WebCore::IDBDatabaseBackendImpl::get):
3695         (WebCore::GetOperation::perform):
3696         (WebCore::IDBDatabaseBackendImpl::put):
3697         (WebCore::PutOperation::perform):
3698         (WebCore::IDBDatabaseBackendImpl::setIndexKeys):
3699         (WebCore::IDBDatabaseBackendImpl::openCursor):
3700         (WebCore::OpenCursorOperation::perform):
3701         (WebCore::CountOperation::perform):
3702         (WebCore::IDBDatabaseBackendImpl::deleteRange):
3703         (WebCore::DeleteRangeOperation::perform):
3704         (WebCore::IDBDatabaseBackendImpl::clear):
3705         (WebCore::IDBDatabaseBackendImpl::transactionStarted):
3706         (WebCore::IDBDatabaseBackendImpl::transactionFinished):
3707         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
3708         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndCompleteFired):
3709         (WebCore::IDBDatabaseBackendImpl::createTransaction):
3710         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
3711         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
3712         (IDBDatabaseBackendImpl):
3713         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
3714         * Modules/indexeddb/IDBFactory.h:
3715         * Modules/indexeddb/IDBIndex.cpp:
3716         (WebCore):
3717         (WebCore::IDBIndex::openCursor):
3718         (WebCore::IDBIndex::openKeyCursor):
3719         * Modules/indexeddb/IDBObjectStore.cpp:
3720         (WebCore):
3721         (WebCore::IDBObjectStore::openCursor):
3722         * Modules/indexeddb/IDBRequest.cpp:
3723         (WebCore::IDBRequest::IDBRequest):
3724         (WebCore::IDBRequest::setCursorDetails):
3725         (WebCore::IDBRequest::setResultCursor):
3726         (WebCore::IDBRequest::onSuccess):
3727         * Modules/indexeddb/IDBRequest.h:
3728         (IDBRequest):
3729         * Modules/indexeddb/IDBTransaction.cpp:
3730         (WebCore::IDBTransaction::create):
3731         (WebCore::IDBTransaction::IDBTransaction):
3732         (WebCore::IDBTransaction::stringToMode):
3733         (WebCore::IDBTransaction::modeToString):
3734         * Modules/indexeddb/IDBTransaction.h:
3735         (WebCore::IDBTransaction::isReadOnly):
3736         (WebCore::IDBTransaction::isVersionChange):
3737         (IDBTransaction):
3738         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
3739         (WebCore::IDBTransactionBackendImpl::create):
3740         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
3741         * Modules/indexeddb/IDBTransactionBackendImpl.h:
3742         (IDBTransactionBackendImpl):
3743         (WebCore::IDBTransactionBackendImpl::mode):
3744         * Modules/indexeddb/IDBTransactionCoordinator.cpp:
3745         (WebCore::IDBTransactionCoordinator::processStartedTransactions):
3746         (WebCore::IDBTransactionCoordinator::canRunTransaction):
3747         * Modules/indexeddb/IndexedDB.h: Removed.
3748         * Target.pri:
3749         * WebCore.gypi:
3750
3751 2013-03-05  Tommy Widenflycht  <tommyw@google.com>
3752
3753         MediaStream API: Allow local and remote descriptions to be accessed after close
3754         https://bugs.webkit.org/show_bug.cgi?id=111437
3755
3756         Reviewed by Adam Barth.
3757
3758         It's quite clear in the standard that the getters should still return the old value.
3759         Also overhauling the state setters a bit to check if the new state is different.
3760
3761         Existing tests expanded to cover patch.
3762
3763         * Modules/mediastream/RTCPeerConnection.cpp:
3764         (WebCore::RTCPeerConnection::localDescription):
3765         (WebCore::RTCPeerConnection::remoteDescription):
3766         (WebCore::RTCPeerConnection::changeSignalingState):
3767         (WebCore::RTCPeerConnection::changeIceGatheringState):
3768         (WebCore::RTCPeerConnection::changeIceConnectionState):
3769
3770 2013-03-05  Charlie Reis  <creis@chromium.org>
3771
3772         Add FrameLoaderClient::didAccessInitialDocument
3773         https://bugs.webkit.org/show_bug.cgi?id=107963
3774
3775         Notifies the FrameLoaderClient if another page accesses the
3776         initial empty document of a main frame.  In this case, it is
3777         no longer safe to display the provisional URL.
3778
3779         Only takes effect for PLATFORM(CHROMIUM), since no other platforms
3780         listen to the notification.
3781
3782         Reviewed by Adam Barth.
3783
3784         * bindings/v8/V8DOMWindowShell.cpp:
3785         (WebCore::V8DOMWindowShell::setSecurityToken):
3786             Use default token for initial document.
3787         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3788             Notify loader if initial document is accessed.
3789         (WebCore::V8DOMWindow::namedSecurityCheck):
3790         (WebCore::V8DOMWindow::indexedSecurityCheck):
3791         * loader/FrameLoader.cpp:
3792         (WebCore::FrameLoader::FrameLoader):
3793         (WebCore::FrameLoader::didAccessInitialDocument):
3794         (WebCore):
3795         * loader/FrameLoader.h:
3796         (FrameLoader):
3797         * loader/FrameLoaderClient.h:
3798         (FrameLoaderClient):
3799         (WebCore::FrameLoaderClient::didAccessInitialDocument):
3800
3801 2013-03-05  Otto Derek Cheung  <otcheung@rim.com>
3802
3803         [BlackBerry] Fix assertion in CookieManager::getBackingStoreCookies
3804         https://bugs.webkit.org/show_bug.cgi?id=111468
3805
3806         Reviewed by Rob Buis.
3807         Internally reviewed by Konrad Piascik.
3808
3809         The assert in getBackingStoreCookies could be giving out false positives now
3810         that we have our fixes for cookie loading in PR 286189. The cookie store could
3811         be half loaded if the first cookie get/set call happens before the db is fully loaded.
3812         A full webkit sync call to reload the database will cause the assert to be hit.
3813
3814         Safer to flush everything out and try again.
3815
3816         * platform/blackberry/CookieManager.cpp:
3817         (WebCore::CookieManager::getBackingStoreCookies):
3818
3819 2013-03-05  Tony Gentilcore  <tonyg@chromium.org>
3820
3821         CompactHTMLToken does not need an XSSInfo pointer
3822         https://bugs.webkit.org/show_bug.cgi?id=111423
3823
3824         Reviewed by Eric Seidel.
3825
3826         The CompactHTMLToken should remain as small as possible because it is copied. This shrinks the size by one pointer
3827         by moving a relatively uncommon attribute out to its own Vector.
3828
3829         No new tests because no new functionality.
3830
3831         * html/parser/BackgroundHTMLParser.cpp:
3832         (WebCore::checkThatXSSInfosAreSafeToSendToAnotherThread):
3833         (WebCore):
3834         (WebCore::BackgroundHTMLParser::pumpTokenizer):
3835         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
3836         * html/parser/BackgroundHTMLParser.h:
3837         (BackgroundHTMLParser):
3838         * html/parser/CompactHTMLToken.cpp:
3839         (SameSizeAsCompactHTMLToken):
3840         (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
3841         * html/parser/CompactHTMLToken.h:
3842         (WebCore):
3843         (CompactHTMLToken):
3844         * html/parser/HTMLDocumentParser.cpp:
3845         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
3846         * html/parser/HTMLDocumentParser.h:
3847         (ParsedChunk):
3848         * html/parser/XSSAuditorDelegate.h:
3849         (XSSInfo):
3850         (WebCore):
3851
3852 2013-03-05  Anders Carlsson  <andersca@apple.com>
3853
3854         Split StorageEventDispatcher::dispatch into two functions
3855         https://bugs.webkit.org/show_bug.cgi?id=111464
3856
3857         Reviewed by Beth Dakin.
3858
3859         Split StorageEventDispatcher::dispatch into dispatchSessionStorageEvent and
3860         dispatchLocalStorageEvent and make StorageAreaImpl::dispatchStorageEvent call
3861         the right function based on the storage area type.
3862
3863         * storage/StorageAreaImpl.cpp:
3864         (WebCore::StorageAreaImpl::dispatchStorageEvent):
3865         * storage/StorageEventDispatcher.cpp:
3866         (WebCore::StorageEventDispatcher::dispatchSessionStorageEvent):
3867         (WebCore):
3868         (WebCore::StorageEventDispatcher::dispatchLocalStorageEvent):
3869         * storage/StorageEventDispatcher.h:
3870         (StorageEventDispatcher):
3871
3872 2013-03-05  Brent Fulgham  <bfulgham@webkit.org>
3873
3874         [WinCairo] Unreviewed build fix after r144024.
3875
3876         * page/scrolling/ScrollingCoordinator.cpp:
3877         (WebCore::ScrollingCoordinator::scrollLayerForScrollableArea): Handle
3878         case of not using Accelerated Compositing
3879         (WebCore::ScrollingCoordinator::horizontalScrollbarLayerForScrollableArea):
3880         (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea): Ditto.
3881
3882 2013-03-05  Alec Flett  <alecflett@chromium.org>
3883
3884         IndexedDB: Properly refactor frontend/backend code by #includes
3885         https://bugs.webkit.org/show_bug.cgi?id=110653
3886
3887         Reviewed by Dimitri Glazkov.
3888
3889         IndexedDB has a distinct backend and frontend, with well defined
3890         *Interface / *Callbacks classes distinguishing them, respectively.
3891         
3892         This makes sure that the frontend and backend do not include each
3893         other and fixes build problems that occurred as a result.
3894
3895         Specifically this moves enums out of IDBCursor and IDBTransaction
3896         into IndexedDB.h in a new WebCore::IndexedDB namespace.
3897
3898         No new tests, as this is just a refactor.
3899
3900 2013-03-05  James Robinson  <jamesr@chromium.org>
3901
3902         ContainerNode::setActive should not sleep for 100ms on platforms that do not implement synchronous repaint(true) semantics
3903         https://bugs.webkit.org/show_bug.cgi?id=87054
3904
3905         Reviewed by Darin Adler.
3906
3907         Adds a new ChromeClient function to query if the platform supports the immediate parameter
3908         to the invalidation APIs and guards the synchronous repaint logic in ContainerNode::setActive()
3909         with it.
3910
3911         * dom/ContainerNode.cpp:
3912         (WebCore::ContainerNode::setActive):
3913         * page/ChromeClient.h:
3914         (WebCore::ChromeClient::supportsImmediateInvalidation):
3915
3916 2013-03-05  Anders Carlsson  <andersca@apple.com>
3917
3918         Simplify storage event dispatch somewhat
3919         https://bugs.webkit.org/show_bug.cgi?id=111461
3920
3921         Reviewed by Beth Dakin.
3922
3923         Add a StorageAreaImpl::dispatchStorageEvent to avoid replicating the calls to
3924         StorageEventDispatcher::dispatch there times. This is in preparation for changing the
3925         interface of StorageEventDispatcher so it can be used by WebKit2.
3926
3927         * storage/StorageAreaImpl.cpp:
3928         (WebCore::StorageAreaImpl::setItem):
3929         (WebCore::StorageAreaImpl::removeItem):
3930         (WebCore::StorageAreaImpl::clear):
3931         (WebCore::StorageAreaImpl::dispatchStorageEvent):
3932
3933         * storage/StorageAreaImpl.h:
3934         Reindent.
3935
3936 2013-03-05  Tony Chang  <tony@chromium.org>
3937
3938         Fix some crashes in render sliders
3939         https://bugs.webkit.org/show_bug.cgi?id=111458
3940
3941         Reviewed by Ojan Vafai.
3942
3943         Fix some cases where we assumed the renderer is a renderBox.
3944
3945         Test: fast/forms/range/slider-inline-crash.html
3946
3947         * html/shadow/SliderThumbElement.cpp:
3948         (WebCore::RenderSliderContainer::layout): Use renderBox() which will return 0 if the renderer is not a RenderBox.
3949         (WebCore::SliderThumbElement::setPositionFromPoint): Bail out early if renderBox() is 0.
3950
3951 2013-03-04  Andrew Scherkus  <scherkus@chromium.org>
3952
3953         REGRESSION(r142191): Fix closed caption buttons for ports still using the painting path.
3954         https://bugs.webkit.org/show_bug.cgi?id=111109
3955
3956         Reviewed by Eric Carlson.
3957
3958         Covered by following tests:
3959         media/track/track-cue-rendering-horizontal.html
3960         media/track/track-cue-rendering-vertical.html
3961
3962         * rendering/RenderTheme.cpp:
3963         (WebCore::RenderTheme::paint):
3964         * rendering/RenderTheme.h:
3965         (WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
3966
3967 2013-03-05  Gwang Yoon Hwang  <ryumiel@company100.net>
3968
3969         Coordinated Graphics: CoordinatedGraphicsLayer makes CoordinatedGraphicsScene perform via CoordinatedGraphicsState.
3970         https://bugs.webkit.org/show_bug.cgi?id=108294
3971
3972         Reviewed by Anders Carlsson.
3973
3974         CoordinatedLayerTreeHostProxy has too many IPC messages (e.g. SyncCanvas and
3975         CreateTile), and there is a long function chain from CoordinatedGraphicsLayer to
3976         CoordinatedGraphicsScene (4 classes).
3977         If we want to add a new message, we need to add similar functions into 4 classes.
3978
3979         Now CoordinatedLayerTreeHost has only one IPC message for CoordinatedGraphicsLayer:
3980         CommitCoordinatedGraphicsState.
3981         CoordinatedGraphicsLayer makes CoordinatedGraphicsScene run as follows:
3982         1. CoordinatedGraphicsLayer makes a CoordinatedGraphicsLayerState.
3983         2. CoordinatedLayerTreeHost stores all LayerStates.
3984         3. CoordinatedLayerTreeHost sends GraphicsState includes LayerStates to CoordinatedLayerTreeHostProxy
3985         at the moment of flushing via CommitCoordinatedGraphicsState message.
3986         4. CoordinatedGraphicsScene applies all state changes to layers.
3987
3988         There is one big behavior change. All states changes (e.g.
3989         UpdateTiles, SetLayerChildren, and etc..) are performed at the same time, when
3990         CoordinatedGraphicsScene::commitCoordinatedGraphicsState is called.
3991
3992         This patch is based on Dongsung Huang, and Noam's work in
3993         https://bugs.webkit.org/show_bug.cgi?id=108294
3994
3995         No new tests, covered by existing tests.
3996
3997         * Target.pri:
3998         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
3999         (WebCore::CoordinatedGraphicsLayer::setPosition):
4000         (WebCore::CoordinatedGraphicsLayer::setAnchorPoint):
4001         (WebCore::CoordinatedGraphicsLayer::setSize):
4002         (WebCore::CoordinatedGraphicsLayer::setTransform):
4003         (WebCore::CoordinatedGraphicsLayer::setChildrenTransform):
4004         (WebCore::CoordinatedGraphicsLayer::setPreserves3D):
4005         (WebCore::CoordinatedGraphicsLayer::setMasksToBounds):
4006         (WebCore::CoordinatedGraphicsLayer::setDrawsContent):
4007         (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
4008         (WebCore::CoordinatedGraphicsLayer::setContentsOpaque):
4009         (WebCore::CoordinatedGraphicsLayer::setBackfaceVisibility):
4010         (WebCore::CoordinatedGraphicsLayer::setOpacity):
4011         (WebCore::CoordinatedGraphicsLayer::setContentsRect):
4012         (WebCore::CoordinatedGraphicsLayer::setFilters):
4013         (WebCore::CoordinatedGraphicsLayer::setContentsToSolidColor):
4014         (WebCore::CoordinatedGraphicsLayer::setShowDebugBorder):
4015         (WebCore::CoordinatedGraphicsLayer::setShowRepaintCounter):
4016         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
4017         (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
4018         (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
4019         (WebCore::CoordinatedGraphicsLayer::syncChildren):
4020         (WebCore::CoordinatedGraphicsLayer::syncFilters):
4021         (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
4022         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
4023         (WebCore::CoordinatedGraphicsLayer::setDebugBorder):
4024         (WebCore::CoordinatedGraphicsLayer::syncAnimations):
4025         (WebCore::CoordinatedGraphicsLayer::syncCanvas):
4026         (WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
4027         (WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
4028         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
4029         (WebCore::CoordinatedGraphicsLayer::resetLayerState):
4030         (WebCore):
4031         (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
4032         (WebCore::CoordinatedGraphicsLayer::setRootLayer):
4033         (WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd):
4034         (WebCore::CoordinatedGraphicsLayer::createTile):
4035         (WebCore::CoordinatedGraphicsLayer::updateTile):
4036         (WebCore::CoordinatedGraphicsLayer::removeTile):
4037         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
4038         (CoordinatedGraphicsLayerClient):
4039         (CoordinatedGraphicsLayer):
4040         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
4041         (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
4042         (WebCore::CoordinatedGraphicsScene::syncCanvasIfNeeded):
4043         (WebCore::CoordinatedGraphicsScene::destroyCanvasIfNeeded):
4044         (WebCore::CoordinatedGraphicsScene::setLayerRepaintCountIfNeeded):
4045         (WebCore::CoordinatedGraphicsScene::setLayerChildrenIfNeeded):
4046         (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
4047         (WebCore::CoordinatedGraphicsScene::setLayerState):
4048         (WebCore::CoordinatedGraphicsScene::deleteLayer):
4049         (WebCore::CoordinatedGraphicsScene::createTilesIfNeeded):
4050         (WebCore::CoordinatedGraphicsScene::removeTilesIfNeeded):
4051         (WebCore::CoordinatedGraphicsScene::updateTilesIfNeeded):
4052         (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
4053         (WebCore::CoordinatedGraphicsScene::commitSceneState):
4054         (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
4055         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
4056         (WebCore):
4057         (CoordinatedGraphicsScene):
4058         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h: Added.
4059         (WebCore):
4060         (TileUpdateInfo):
4061         (TileCreationInfo):
4062       &