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