3fa038c00c4b3701963140b919c9c69005335777
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-05  Hayato Ito  <hayato@chromium.org>
2
3         [Shadow] Implements event re-targeting for Touch Events.
4         https://bugs.webkit.org/show_bug.cgi?id=107800
5
6         Reviewed by Dimitri Glazkov.
7
8         So far, Touch Events have been intentionally disabled in shadow
9         tree since it allows users to access internal nodes in shadow tree
10         by accessing Touch Event's information.
11
12         This patch re-targets all individual touch point's target in
13         TouchList (touches, targetTouches and changedTouches) owned by a Touch Event
14         before the Touch Event is dispatched so that we won't break an
15         upper boundary of shadow DOM.
16
17         Touch Events re-targeting is similar to that of Mouse Events
18         re-targeting. The difference is that a Touch Event can have more
19         than one related target because of multiple touches. We must
20         re-target all individual touch points which can be referred from
21         the Touch Event.
22
23         Now, Touch Events can be fired in shadow tree. I've removed the
24         existing limitation.
25
26         Test: fast/dom/shadow/touch-event-retargeting.html
27
28         * dom/EventContext.cpp:
29         (WebCore::EventContext::isTouchEventContext):
30         (WebCore):
31         (WebCore::TouchEventContext::TouchEventContext):
32         (WebCore::TouchEventContext::~TouchEventContext):
33         (WebCore::TouchEventContext::handleLocalEvents):
34         (WebCore::TouchEventContext::isTouchEventContext):
35         (WebCore::TouchEventContext::checkReachability):  Used for assertion of reachability for each Touch point.
36         * dom/EventContext.h:
37         (WebCore):
38         (EventContext):
39         (TouchEventContext): Introduced to hold necessary information for re-targeting Touch event.
40         (WebCore::TouchEventContext::touches):
41         (WebCore::TouchEventContext::targetTouches):
42         (WebCore::TouchEventContext::changedTouches):
43         (WebCore::EventContext::isReachable):
44         * dom/EventRetargeter.cpp:
45         (WebCore::EventRetargeter::calculateEventPath):
46         (WebCore::EventRetargeter::adjustForTouchEvent):
47         (WebCore):
48         (WebCore::EventRetargeter::adjustTouchList):
49         (WebCore::EventRetargeter::adjustForRelatedTarget):
50         (WebCore::EventRetargeter::calculateAdjustedNodes): Updated so that this can be used for Touch point re-targeting.
51         (WebCore::EventRetargeter::buildRelatedNodeMap):
52         * dom/EventRetargeter.h:
53         (WebCore):
54         (EventRetargeter):
55         * dom/Node.cpp:
56         (WebCore::Node::dispatchEvent):
57         (WebCore):
58         (WebCore::Node::dispatchTouchEvent):
59         * dom/Node.h:
60         (WebCore):
61         (Node):
62         * dom/Touch.cpp:
63         (WebCore::Touch::Touch):
64         (WebCore):
65         (WebCore::Touch::cloneWithNewTarget):
66         * dom/Touch.h:
67         (Touch):
68         * dom/TouchEvent.cpp:
69         (WebCore::TouchEventDispatchMediator::create):
70         (WebCore):
71         (WebCore::TouchEventDispatchMediator::TouchEventDispatchMediator):
72         (WebCore::TouchEventDispatchMediator::event):
73         (WebCore::TouchEventDispatchMediator::dispatchEvent):
74         * dom/TouchEvent.h:
75         (TouchEvent):
76         (WebCore::TouchEvent::setTouches):
77         (WebCore::TouchEvent::setTargetTouches):
78         (WebCore::TouchEvent::setChangedTouches):
79         (TouchEventDispatchMediator):
80         (WebCore):
81         (WebCore::toTouchEvent):
82         * dom/TouchList.cpp:
83         (WebCore::TouchList::item):
84         (WebCore):
85         * dom/TouchList.h:
86         (TouchList):
87         * page/EventHandler.cpp:
88         (WebCore::EventHandler::hitTestResultInFrame): Removed the limitation. Adjusting is no longer done here.
89         (WebCore::EventHandler::handleTouchEvent):
90
91 2013-03-05  Hajime Morrita  <morrita@google.com>
92
93         [Custom Elements][V8] Custom Element doesn't need its own WrapperTypeInfo
94         https://bugs.webkit.org/show_bug.cgi?id=111411
95
96         Reviewed by Kentaro Hara.
97
98         No new tests. No observable change yet.
99
100         This is a preparation for Bug 110436, where WebKit is going to
101         allow any HTML element to be a superclass of custom elements.
102
103         This change eliminates WrapperTypeInfo for custom element. Instead
104         of that, the wrapper of a custom element picks WrapperTypeInfo
105         from most descendant built-in HTML element. For example, think about
106         following hierarchy:
107
108         - ... <- HTMLElement <- HTMLDivElememnt <- ExistingCustomElement <- NewCustomElement
109
110         In this case, both ExistingCustomElement and NewCustomElement has
111         HTMLDivElememnt's type info. This is because HTMLDivElememnt is
112         the most descendant (or "the nearest") built-in HTML
113         element. (HTMLElement isn't the most descendant.
114         ExistingCustomElement isn't a built-in.)
115
116         Using such WrapperTypeInfos, created custom element wrappers can
117         get appropriate set of method and properties regardless of its
118         super-elements.
119
120         This change tells the prototype object of each built-in object
121         which WrapperTypeInfo the native backing wants:
122         HTMLDivElememnt.prototype knows V8HTMLDivElement::info for
123         example. The pointer to the type info is stored into an internal
124         field. On wrapper construction, createWrapper() walks up the
125         prototype chain and pick the first one.
126
127         * bindings/v8/V8DOMConfiguration.cpp:
128         (WebCore::V8DOMConfiguration::configureTemplate):
129         * bindings/v8/V8HTMLCustomElement.cpp:
130         (WebCore::findWrapperTypeOf):
131         (WebCore::V8HTMLCustomElement::createWrapper):
132         * bindings/v8/V8HTMLCustomElement.h:
133         * bindings/v8/V8PerContextData.cpp:
134         (WebCore::V8PerContextData::constructorForTypeSlowCase):
135         * bindings/v8/WrapperTypeInfo.h:
136         (WebCore):
137
138 2013-03-05  Aaron Colwell  <acolwell@chromium.org>
139
140         Heap-use-after-free in WebCore::HTMLMediaElement::~HTMLMediaElement
141         https://bugs.webkit.org/show_bug.cgi?id=110623
142
143         Reviewed by Eric Seidel.
144
145         Test: http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html
146
147         * html/HTMLAudioElement.h:
148         (HTMLAudioElement):
149         * html/HTMLAudioElement.idl:
150         * html/HTMLMediaElement.cpp:
151         (WebCore::HTMLMediaElement::hasPendingActivity):
152         * html/HTMLMediaElement.idl:
153
154 2013-03-05  Chris Fleizach  <cfleizach@apple.com>
155  
156         AX: Support aria-posinset/setsize
157         https://bugs.webkit.org/show_bug.cgi?id=109725
158
159         Reviewed by Tim Horton.
160
161         Expose aria-setsize and aria-posinset through accessibility.
162         Right now only the Mac platform exposes them.
163
164         Test: platform/mac/accessibility/aria-setsize-posinset.html
165
166         * accessibility/AccessibilityObject.cpp:
167         (WebCore::AccessibilityObject::supportsARIASetSize):
168         (WebCore):
169         (WebCore::AccessibilityObject::supportsARIAPosInset):
170         (WebCore::AccessibilityObject::ariaSetSize):
171         (WebCore::AccessibilityObject::ariaPosInset):
172         * accessibility/AccessibilityObject.h:
173         (AccessibilityObject):
174         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
175         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
176         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
177         * html/HTMLAttributeNames.in:
178
179
180 2013-03-05  Peter Nelson  <peter@peterdn.com>
181
182         [WinCairo] Support for cookies is incomplete
183         https://bugs.webkit.org/show_bug.cgi?id=110147
184         
185         Expired and HttpOnly cookies no longer accessible from JavaScript.
186         Cookies set in JavaScript now have correct domain/path.
187
188         Reviewed by Brent Fulgham.
189
190         Test: http/tests/cookies/http-get-cookie-set-in-js.html
191
192         * platform/network/curl/CookieJarCurl.cpp:
193         (WebCore):
194         (WebCore::addMatchingCurlCookie):
195         (WebCore::getNetscapeCookieFormat):
196         (WebCore::setCookiesFromDOM):
197         (WebCore::cookieRequestHeaderFieldValue):
198
199 2013-03-05  Alec Flett  <alecflett@chromium.org>
200
201         Fix mac clang build with long long
202         https://bugs.webkit.org/show_bug.cgi?id=111495
203
204         Unreviewed fix for mac build.
205
206         * Modules/indexeddb/IDBBackingStore.cpp:
207         (WebCore::IDBBackingStore::IDBBackingStore):
208
209 2013-03-05  Alec Flett  <alecflett@chromium.org>
210
211         Fix mac clang build with long long
212         https://bugs.webkit.org/show_bug.cgi?id=111495
213
214         Unreviewed fix for mac build.
215
216         * Modules/indexeddb/IDBBackingStore.cpp:
217         (WebCore::IDBBackingStore::IDBBackingStore):
218
219 2013-03-05  Aaron Colwell  <acolwell@chromium.org>
220
221         Add V8Document.h include when the V8 code generator creates a toV8(Document*) call.
222         https://bugs.webkit.org/show_bug.cgi?id=111486
223
224         Reviewed by Adam Barth.
225
226         No new tests. This doesn't change user visible behavior.
227
228         * bindings/scripts/CodeGeneratorV8.pm:
229         (GenerateNamedConstructor):
230         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
231
232 2013-03-05  Shawn Singh  <shawnsingh@chromium.org>
233
234         Fix default background of a dragged image.
235         https://bugs.webkit.org/show_bug.cgi?id=110512
236
237         Reviewed by Tony Chang.
238
239         Transparent background color (particularly visible in the padding
240         of an element) was not being respected. The solution is to
241         initially fill the drag image with transparent instead of white,
242         so that any color background works correctly. This patch does not
243         affect Apple Mac or Win platforms, given that this part of the
244         code is #if guarded from those platforms.
245
246         Manual test added:
247           ManualTests/drag-background-with-padding.html
248
249         Infrastructure for retrieving the drag image for pixel testing
250         does not yet exist.
251
252         * page/Frame.cpp:
253         (WebCore::Frame::nodeImage):
254
255 2013-03-05  Emil A Eklund  <eae@chromium.org>
256
257         ASSERTION FAILED: i < size(), UNKNOWN in WebCore::RenderTableSection::layout
258         https://bugs.webkit.org/show_bug.cgi?id=108838
259
260         Reviewed by Levi Weintraub.
261         
262         Ensure that RenderTable::recalcSections is called when moving a
263         TableSection by calling setNeedsSectionRecalc in addChild for
264         TableSections.
265
266         Test: fullscreen/full-screen-table-section.html
267
268         * rendering/RenderTable.cpp:
269         (WebCore::RenderTable::addChild):
270
271 2013-03-05  Kenneth Russell  <kbr@google.com>
272
273         Upgrade ANGLE to r1987
274         https://bugs.webkit.org/show_bug.cgi?id=111381
275
276         Reviewed by Dean Jackson.
277
278         Covered by existing tests. Ran WebGL conformance tests in Safari
279         to ensure correct operation of patch.
280
281         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
282         (WebCore::GraphicsContext3D::GraphicsContext3D):
283         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
284         (WebCore::GraphicsContext3D::GraphicsContext3D):
285         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
286         (WebCore::GraphicsContext3D::GraphicsContext3D):
287         * platform/graphics/mac/GraphicsContext3DMac.mm:
288         (WebCore::GraphicsContext3D::GraphicsContext3D):
289         * platform/graphics/qt/GraphicsContext3DQt.cpp:
290         (WebCore::GraphicsContext3DPrivate::initializeANGLE):
291             Changed all ports to query for highp support in fragment
292             shaders and conditionally enable it in ANGLE shader translator.
293
294 2013-03-05  Alec Flett  <alecflett@chromium.org>
295
296         IndexedDB: Add IDBBackingStoreTest
297         https://bugs.webkit.org/show_bug.cgi?id=111233
298
299         Reviewed by Adam Barth.
300
301         These are tweaks to make IDBBackingStore more easily testable.
302
303         * Modules/indexeddb/IDBBackingStore.cpp:
304         (WebCore::IDBBackingStore::IDBBackingStore): Allow use without a backing store.
305
306 2013-03-04  James Robinson  <jamesr@chromium.org>
307
308         [chromium] Move check for threaded compositing from WebCompositorSupport to Platform
309         https://bugs.webkit.org/show_bug.cgi?id=111386
310
311         Reviewed by Adrienne Walker.
312
313         This moves checks for whether threaded compositing is enabled from WebCompositorSupport
314         to Platform. In the case of Canvas2DLayerBridge, the check is moved completely out of
315         the class to make it easier for tests to specify the threaded configuration to use in the test.
316
317         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
318         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
319         * platform/graphics/chromium/Canvas2DLayerBridge.h:
320         (WebCore::Canvas2DLayerBridge::create):
321         (Canvas2DLayerBridge):
322         * platform/graphics/chromium/DrawingBufferChromium.cpp:
323         (WebCore::DrawingBuffer::DrawingBuffer):
324         * platform/graphics/skia/ImageBufferSkia.cpp:
325         (WebCore::createAcceleratedCanvas):
326
327 2013-03-05  Anders Carlsson  <andersca@apple.com>
328
329         Split up the storage event dispatch functions further
330         https://bugs.webkit.org/show_bug.cgi?id=111482
331
332         Reviewed by Beth Dakin.
333
334         Add new functions for dispatching storage events to a set of frames.
335
336         * storage/StorageAreaImpl.cpp:
337         (WebCore::StorageAreaImpl::dispatchStorageEvent):
338         * storage/StorageEventDispatcher.cpp:
339         (WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):
340         (WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
341         (WebCore):
342         (WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
343         (WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):
344         * storage/StorageEventDispatcher.h:
345         (WebCore):
346         (StorageEventDispatcher):
347
348 2013-03-05  Stephen Chenney  <schenney@chromium.org>
349
350         Crash when ImageLoader deletes Element inside SVGImageElement
351         https://bugs.webkit.org/show_bug.cgi?id=111085
352
353         Reviewed by Abhishek Arya.
354
355         Elements with ImageLoader objects associated with them may have their
356         final reference held by the ImageLoader (to allow events to be sent
357         and handled). Any call on Element that causes the ImageLoader to
358         dispatch events might then result in the final deref of the Element
359         itself, thus leaving all the Element's "this" pointers up the stack
360         pointing to invalid memory.
361
362         This change puts the deref of the Element on a timer so that, if the
363         deref is called via a method on Element, the call stack will unwind
364         before the deref occurs.
365
366         Test: svg/custom/image-with-attr-change-after-delete-crash.html
367
368         * loader/ImageLoader.cpp:
369         (WebCore::ImageLoader::ImageLoader): Initialize a timer
370         (WebCore::ImageLoader::updatedHasPendingEvent): Put deref of the
371           element on a oneShotTimer, with appropriate assertions and checks to
372           ensure we only ref/deref once.
373         (WebCore::ImageLoader::timerFired): Deref the element when the timer fires.
374         * loader/ImageLoader.h:
375         (ImageLoader): Define a timer for controlling deref of the element.
376
377 2013-03-05  Antoine Quint  <graouts@apple.com>
378
379         Web Inspector: identify reflection layers in LayerTreeAgent
380         https://bugs.webkit.org/show_bug.cgi?id=111419
381
382         We add a new property "isReflection" to the Layer objects returned
383         to the front-end to indicate whether the layer was created to host
384         the reflection for an element. When this new property is true, the
385         "nodeId" property is set to point to the reflected element's node
386         id, since there is no node per-se directly associated with this layer.
387         We also change the "bounds" property to return absolute page coordinates
388         such that the front-end can use this information to highlight that
389         region in the page since metrics would otherwise be unavailable.
390
391         Reviewed by Dean Jackson.
392
393         Test: inspector-protocol/layers/layers-reflected-content.html
394
395         * inspector/Inspector.json:
396         * inspector/InspectorLayerTreeAgent.cpp:
397         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
398
399 2013-03-05  peavo@outlook.com  <peavo@outlook.com>
400
401         [WinCairo] Compile fix after r144024.
402         https://bugs.webkit.org/show_bug.cgi?id=111306
403
404         Reviewed by James Robinson.
405
406         * page/scrolling/ScrollingCoordinator.cpp: Added guard for USE(ACCELERATED_COMPOSITING).
407         * page/scrolling/ScrollingCoordinator.h: Added guard for USE(ACCELERATED_COMPOSITING).
408
409 2013-03-05  James Weatherall  <wez@chromium.org>
410
411         keydown and keyup events have zero keycode for some numeric pad keys under Chromium on Linux
412         https://bugs.webkit.org/show_bug.cgi?id=85642
413
414         Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.
415
416         Reviewed by Ojan Vafai.
417
418         * platform/chromium/KeyCodeConversionGtk.cpp:
419         (WebCore::windowsKeyCodeForKeyEvent):
420
421 2013-03-05  Alec Flett  <alecflett@chromium.org>
422
423         IndexedDB: Properly refactor frontend/backend code by #includes
424         https://bugs.webkit.org/show_bug.cgi?id=110653
425
426         Reviewed by Dimitri Glazkov.
427
428         IndexedDB has a distinct backend and frontend, with well defined
429         *Interface / *Callbacks classes distinguishing them, respectively.
430         
431         This makes sure that the frontend and backend do not include each
432         other and fixes build problems that occurred as a result.
433
434         Specifically this moves enums out of IDBCursor and IDBTransaction
435         into IndexedDB.h in a new WebCore::IndexedDB namespace.
436
437         No new tests, as this is just a refactor.
438
439 2013-03-05  Jeffrey Pfau  <jpfau@apple.com>
440
441         Clear associated cache partitions when deleting origins' cache
442         https://bugs.webkit.org/show_bug.cgi?id=111383
443
444         Reviewed by Maciej Stachowiak.
445
446         Clear the cache partitions associated with the origin being cleared.
447
448         Not possible to test with current automated test tools, must be tested manually.
449
450         * loader/cache/MemoryCache.cpp:
451         (WebCore::MemoryCache::removeResourcesWithOrigin):
452
453 2013-03-04  Ojan Vafai  <ojan@chromium.org>
454
455         Inline min/maxInstrinsicLogicalWidth functions
456         https://bugs.webkit.org/show_bug.cgi?id=111399
457
458         Reviewed by Tony Chang.
459
460         Turns out these functions don't need to be public and only
461         have one caller. This patch is in preparation for supporting
462         intrinsic widths on tables, which will need to pass in the
463         border and padding width as an argument.
464
465         * rendering/RenderBox.cpp:
466         (WebCore::RenderBox::fillAvailableMeasure):
467         (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
468         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
469         * rendering/RenderBox.h:
470
471 2013-03-05  Victor Carbune  <vcarbune@chromium.org>
472
473         Cue line-height property shouldn't be inherited from the video element
474         https://bugs.webkit.org/show_bug.cgi?id=111262
475
476         Reviewed by Eric Carlson.
477
478         Test: media/track/track-cue-rendering-on-resize.html
479
480         * css/mediaControls.css:
481         (video::-webkit-media-text-track-container): Set the default font size
482         and family using the "font" property to also reset the line-height property.
483
484 2013-03-05  Joshua Bell  <jsbell@chromium.org>
485
486         IndexedDB: Remove some unused binding code
487         https://bugs.webkit.org/show_bug.cgi?id=111463
488
489         Reviewed by Adam Barth.
490
491         IDBRequest got a custom V8 getter for |request| to help diagnose an issue, but the
492         root cause was found/fixed (http://wkbug.com/110916 and http://wkbug.com/110206) so
493         remove it. Also, IDBKey was marked ScriptWrappable but it is now explicitly converted
494         to a ScriptValue before it gets anywhere near the binding code, so remove that too.
495         Finally, createIDBKeyFromValue doesn't need to be exposed from IDBBindingUtilities.
496
497         No new tests - just removing dead code.
498
499         * Modules/indexeddb/IDBKey.h: No need for ScriptWrappable.
500         * Modules/indexeddb/IDBRequest.idl: Remove custom binding (root cause of bug found).
501         * WebCore.gypi: Ditto.
502         * bindings/js/IDBBindingUtilities.h: Don't expose internal createIDBKeyFromValue().
503         * bindings/v8/IDBBindingUtilities.h: Ditto.
504         * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
505
506 2013-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
507
508         Unreviewed, rolling out r144798.
509         http://trac.webkit.org/changeset/144798
510         https://bugs.webkit.org/show_bug.cgi?id=111478
511
512         "broke chromium windows build" (Requested by dpranke on
513         #webkit).
514
515         * GNUmakefile.list.am:
516         * Modules/indexeddb/IDBBackingStore.cpp:
517         (WebCore::IDBBackingStore::Cursor::continueFunction):
518         (WebCore::objectStoreCursorOptions):
519         (WebCore::indexCursorOptions):
520         (WebCore::IDBBackingStore::openObjectStoreCursor):
521         (WebCore::IDBBackingStore::openObjectStoreKeyCursor):
522         (WebCore::IDBBackingStore::openIndexKeyCursor):
523         (WebCore::IDBBackingStore::openIndexCursor):
524         * Modules/indexeddb/IDBBackingStore.h:
525         (IDBBackingStore):
526         * Modules/indexeddb/IDBCursor.cpp:
527         (WebCore::IDBCursor::create):
528         (WebCore::IDBCursor::IDBCursor):
529         (WebCore::IDBCursor::continueFunction):
530         (WebCore::IDBCursor::stringToDirection):
531         (WebCore::IDBCursor::directionToString):
532         * Modules/indexeddb/IDBCursor.h:
533         (IDBCursor):
534         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
535         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
536         (WebCore::IDBCursorBackendImpl::deleteFunction):
537         (WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::perform):
538         * Modules/indexeddb/IDBCursorBackendImpl.h:
539         (WebCore::IDBCursorBackendImpl::create):
540         (WebCore::IDBCursorBackendImpl::value):
541         (IDBCursorBackendImpl):
542         * Modules/indexeddb/IDBCursorBackendInterface.h:
543         (WebCore):
544         * Modules/indexeddb/IDBCursorWithValue.cpp:
545         (WebCore::IDBCursorWithValue::create):
546         (WebCore::IDBCursorWithValue::IDBCursorWithValue):
547         * Modules/indexeddb/IDBCursorWithValue.h:
548         (IDBCursorWithValue):
549         * Modules/indexeddb/IDBDatabase.cpp:
550         (WebCore::IDBDatabase::transaction):
551         * Modules/indexeddb/IDBDatabase.h:
552         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
553         (WebCore::GetOperation::create):
554         (WebCore::GetOperation::GetOperation):
555         (GetOperation):
556         (WebCore::OpenCursorOperation::create):
557         (WebCore::OpenCursorOperation::OpenCursorOperation):
558         (OpenCursorOperation):
559         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
560         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
561         (WebCore::IDBDatabaseBackendImpl::createIndex):
562         (WebCore::IDBDatabaseBackendImpl::deleteIndex):
563         (WebCore::IDBDatabaseBackendImpl::get):
564         (WebCore::GetOperation::perform):
565         (WebCore::IDBDatabaseBackendImpl::put):
566         (WebCore::PutOperation::perform):
567         (WebCore::IDBDatabaseBackendImpl::setIndexKeys):
568         (WebCore::IDBDatabaseBackendImpl::openCursor):
569         (WebCore::OpenCursorOperation::perform):
570         (WebCore::CountOperation::perform):
571         (WebCore::IDBDatabaseBackendImpl::deleteRange):
572         (WebCore::DeleteRangeOperation::perform):
573         (WebCore::IDBDatabaseBackendImpl::clear):
574         (WebCore::IDBDatabaseBackendImpl::transactionStarted):
575         (WebCore::IDBDatabaseBackendImpl::transactionFinished):
576         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
577         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndCompleteFired):
578         (WebCore::IDBDatabaseBackendImpl::createTransaction):
579         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
580         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
581         (IDBDatabaseBackendImpl):
582         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
583         * Modules/indexeddb/IDBFactory.h:
584         * Modules/indexeddb/IDBIndex.cpp:
585         (WebCore):
586         (WebCore::IDBIndex::openCursor):
587         (WebCore::IDBIndex::openKeyCursor):
588         * Modules/indexeddb/IDBObjectStore.cpp:
589         (WebCore):
590         (WebCore::IDBObjectStore::openCursor):
591         * Modules/indexeddb/IDBRequest.cpp:
592         (WebCore::IDBRequest::IDBRequest):
593         (WebCore::IDBRequest::setCursorDetails):
594         (WebCore::IDBRequest::setResultCursor):
595         (WebCore::IDBRequest::onSuccess):
596         * Modules/indexeddb/IDBRequest.h:
597         (IDBRequest):
598         * Modules/indexeddb/IDBTransaction.cpp:
599         (WebCore::IDBTransaction::create):
600         (WebCore::IDBTransaction::IDBTransaction):
601         (WebCore::IDBTransaction::stringToMode):
602         (WebCore::IDBTransaction::modeToString):
603         * Modules/indexeddb/IDBTransaction.h:
604         (WebCore::IDBTransaction::isReadOnly):
605         (WebCore::IDBTransaction::isVersionChange):
606         (IDBTransaction):
607         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
608         (WebCore::IDBTransactionBackendImpl::create):
609         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
610         * Modules/indexeddb/IDBTransactionBackendImpl.h:
611         (IDBTransactionBackendImpl):
612         (WebCore::IDBTransactionBackendImpl::mode):
613         * Modules/indexeddb/IDBTransactionCoordinator.cpp:
614         (WebCore::IDBTransactionCoordinator::processStartedTransactions):
615         (WebCore::IDBTransactionCoordinator::canRunTransaction):
616         * Modules/indexeddb/IndexedDB.h: Removed.
617         * Target.pri:
618         * WebCore.gypi:
619
620 2013-03-05  Tommy Widenflycht  <tommyw@google.com>
621
622         MediaStream API: Allow local and remote descriptions to be accessed after close
623         https://bugs.webkit.org/show_bug.cgi?id=111437
624
625         Reviewed by Adam Barth.
626
627         It's quite clear in the standard that the getters should still return the old value.
628         Also overhauling the state setters a bit to check if the new state is different.
629
630         Existing tests expanded to cover patch.
631
632         * Modules/mediastream/RTCPeerConnection.cpp:
633         (WebCore::RTCPeerConnection::localDescription):
634         (WebCore::RTCPeerConnection::remoteDescription):
635         (WebCore::RTCPeerConnection::changeSignalingState):
636         (WebCore::RTCPeerConnection::changeIceGatheringState):
637         (WebCore::RTCPeerConnection::changeIceConnectionState):
638
639 2013-03-05  Charlie Reis  <creis@chromium.org>
640
641         Add FrameLoaderClient::didAccessInitialDocument
642         https://bugs.webkit.org/show_bug.cgi?id=107963
643
644         Notifies the FrameLoaderClient if another page accesses the
645         initial empty document of a main frame.  In this case, it is
646         no longer safe to display the provisional URL.
647
648         Only takes effect for PLATFORM(CHROMIUM), since no other platforms
649         listen to the notification.
650
651         Reviewed by Adam Barth.
652
653         * bindings/v8/V8DOMWindowShell.cpp:
654         (WebCore::V8DOMWindowShell::setSecurityToken):
655             Use default token for initial document.
656         * bindings/v8/custom/V8DOMWindowCustom.cpp:
657             Notify loader if initial document is accessed.
658         (WebCore::V8DOMWindow::namedSecurityCheck):
659         (WebCore::V8DOMWindow::indexedSecurityCheck):
660         * loader/FrameLoader.cpp:
661         (WebCore::FrameLoader::FrameLoader):
662         (WebCore::FrameLoader::didAccessInitialDocument):
663         (WebCore):
664         * loader/FrameLoader.h:
665         (FrameLoader):
666         * loader/FrameLoaderClient.h:
667         (FrameLoaderClient):
668         (WebCore::FrameLoaderClient::didAccessInitialDocument):
669
670 2013-03-05  Otto Derek Cheung  <otcheung@rim.com>
671
672         [BlackBerry] Fix assertion in CookieManager::getBackingStoreCookies
673         https://bugs.webkit.org/show_bug.cgi?id=111468
674
675         Reviewed by Rob Buis.
676         Internally reviewed by Konrad Piascik.
677
678         The assert in getBackingStoreCookies could be giving out false positives now
679         that we have our fixes for cookie loading in PR 286189. The cookie store could
680         be half loaded if the first cookie get/set call happens before the db is fully loaded.
681         A full webkit sync call to reload the database will cause the assert to be hit.
682
683         Safer to flush everything out and try again.
684
685         * platform/blackberry/CookieManager.cpp:
686         (WebCore::CookieManager::getBackingStoreCookies):
687
688 2013-03-05  Tony Gentilcore  <tonyg@chromium.org>
689
690         CompactHTMLToken does not need an XSSInfo pointer
691         https://bugs.webkit.org/show_bug.cgi?id=111423
692
693         Reviewed by Eric Seidel.
694
695         The CompactHTMLToken should remain as small as possible because it is copied. This shrinks the size by one pointer
696         by moving a relatively uncommon attribute out to its own Vector.
697
698         No new tests because no new functionality.
699
700         * html/parser/BackgroundHTMLParser.cpp:
701         (WebCore::checkThatXSSInfosAreSafeToSendToAnotherThread):
702         (WebCore):
703         (WebCore::BackgroundHTMLParser::pumpTokenizer):
704         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
705         * html/parser/BackgroundHTMLParser.h:
706         (BackgroundHTMLParser):
707         * html/parser/CompactHTMLToken.cpp:
708         (SameSizeAsCompactHTMLToken):
709         (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
710         * html/parser/CompactHTMLToken.h:
711         (WebCore):
712         (CompactHTMLToken):
713         * html/parser/HTMLDocumentParser.cpp:
714         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
715         * html/parser/HTMLDocumentParser.h:
716         (ParsedChunk):
717         * html/parser/XSSAuditorDelegate.h:
718         (XSSInfo):
719         (WebCore):
720
721 2013-03-05  Anders Carlsson  <andersca@apple.com>
722
723         Split StorageEventDispatcher::dispatch into two functions
724         https://bugs.webkit.org/show_bug.cgi?id=111464
725
726         Reviewed by Beth Dakin.
727
728         Split StorageEventDispatcher::dispatch into dispatchSessionStorageEvent and
729         dispatchLocalStorageEvent and make StorageAreaImpl::dispatchStorageEvent call
730         the right function based on the storage area type.
731
732         * storage/StorageAreaImpl.cpp:
733         (WebCore::StorageAreaImpl::dispatchStorageEvent):
734         * storage/StorageEventDispatcher.cpp:
735         (WebCore::StorageEventDispatcher::dispatchSessionStorageEvent):
736         (WebCore):
737         (WebCore::StorageEventDispatcher::dispatchLocalStorageEvent):
738         * storage/StorageEventDispatcher.h:
739         (StorageEventDispatcher):
740
741 2013-03-05  Brent Fulgham  <bfulgham@webkit.org>
742
743         [WinCairo] Unreviewed build fix after r144024.
744
745         * page/scrolling/ScrollingCoordinator.cpp:
746         (WebCore::ScrollingCoordinator::scrollLayerForScrollableArea): Handle
747         case of not using Accelerated Compositing
748         (WebCore::ScrollingCoordinator::horizontalScrollbarLayerForScrollableArea):
749         (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea): Ditto.
750
751 2013-03-05  Alec Flett  <alecflett@chromium.org>
752
753         IndexedDB: Properly refactor frontend/backend code by #includes
754         https://bugs.webkit.org/show_bug.cgi?id=110653
755
756         Reviewed by Dimitri Glazkov.
757
758         IndexedDB has a distinct backend and frontend, with well defined
759         *Interface / *Callbacks classes distinguishing them, respectively.
760         
761         This makes sure that the frontend and backend do not include each
762         other and fixes build problems that occurred as a result.
763
764         Specifically this moves enums out of IDBCursor and IDBTransaction
765         into IndexedDB.h in a new WebCore::IndexedDB namespace.
766
767         No new tests, as this is just a refactor.
768
769 2013-03-05  James Robinson  <jamesr@chromium.org>
770
771         ContainerNode::setActive should not sleep for 100ms on platforms that do not implement synchronous repaint(true) semantics
772         https://bugs.webkit.org/show_bug.cgi?id=87054
773
774         Reviewed by Darin Adler.
775
776         Adds a new ChromeClient function to query if the platform supports the immediate parameter
777         to the invalidation APIs and guards the synchronous repaint logic in ContainerNode::setActive()
778         with it.
779
780         * dom/ContainerNode.cpp:
781         (WebCore::ContainerNode::setActive):
782         * page/ChromeClient.h:
783         (WebCore::ChromeClient::supportsImmediateInvalidation):
784
785 2013-03-05  Anders Carlsson  <andersca@apple.com>
786
787         Simplify storage event dispatch somewhat
788         https://bugs.webkit.org/show_bug.cgi?id=111461
789
790         Reviewed by Beth Dakin.
791
792         Add a StorageAreaImpl::dispatchStorageEvent to avoid replicating the calls to
793         StorageEventDispatcher::dispatch there times. This is in preparation for changing the
794         interface of StorageEventDispatcher so it can be used by WebKit2.
795
796         * storage/StorageAreaImpl.cpp:
797         (WebCore::StorageAreaImpl::setItem):
798         (WebCore::StorageAreaImpl::removeItem):
799         (WebCore::StorageAreaImpl::clear):
800         (WebCore::StorageAreaImpl::dispatchStorageEvent):
801
802         * storage/StorageAreaImpl.h:
803         Reindent.
804
805 2013-03-05  Tony Chang  <tony@chromium.org>
806
807         Fix some crashes in render sliders
808         https://bugs.webkit.org/show_bug.cgi?id=111458
809
810         Reviewed by Ojan Vafai.
811
812         Fix some cases where we assumed the renderer is a renderBox.
813
814         Test: fast/forms/range/slider-inline-crash.html
815
816         * html/shadow/SliderThumbElement.cpp:
817         (WebCore::RenderSliderContainer::layout): Use renderBox() which will return 0 if the renderer is not a RenderBox.
818         (WebCore::SliderThumbElement::setPositionFromPoint): Bail out early if renderBox() is 0.
819
820 2013-03-04  Andrew Scherkus  <scherkus@chromium.org>
821
822         REGRESSION(r142191): Fix closed caption buttons for ports still using the painting path.
823         https://bugs.webkit.org/show_bug.cgi?id=111109
824
825         Reviewed by Eric Carlson.
826
827         Covered by following tests:
828         media/track/track-cue-rendering-horizontal.html
829         media/track/track-cue-rendering-vertical.html
830
831         * rendering/RenderTheme.cpp:
832         (WebCore::RenderTheme::paint):
833         * rendering/RenderTheme.h:
834         (WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
835
836 2013-03-05  Gwang Yoon Hwang  <ryumiel@company100.net>
837
838         Coordinated Graphics: CoordinatedGraphicsLayer makes CoordinatedGraphicsScene perform via CoordinatedGraphicsState.
839         https://bugs.webkit.org/show_bug.cgi?id=108294
840
841         Reviewed by Anders Carlsson.
842
843         CoordinatedLayerTreeHostProxy has too many IPC messages (e.g. SyncCanvas and
844         CreateTile), and there is a long function chain from CoordinatedGraphicsLayer to
845         CoordinatedGraphicsScene (4 classes).
846         If we want to add a new message, we need to add similar functions into 4 classes.
847
848         Now CoordinatedLayerTreeHost has only one IPC message for CoordinatedGraphicsLayer:
849         CommitCoordinatedGraphicsState.
850         CoordinatedGraphicsLayer makes CoordinatedGraphicsScene run as follows:
851         1. CoordinatedGraphicsLayer makes a CoordinatedGraphicsLayerState.
852         2. CoordinatedLayerTreeHost stores all LayerStates.
853         3. CoordinatedLayerTreeHost sends GraphicsState includes LayerStates to CoordinatedLayerTreeHostProxy
854         at the moment of flushing via CommitCoordinatedGraphicsState message.
855         4. CoordinatedGraphicsScene applies all state changes to layers.
856
857         There is one big behavior change. All states changes (e.g.
858         UpdateTiles, SetLayerChildren, and etc..) are performed at the same time, when
859         CoordinatedGraphicsScene::commitCoordinatedGraphicsState is called.
860
861         This patch is based on Dongsung Huang, and Noam's work in
862         https://bugs.webkit.org/show_bug.cgi?id=108294
863
864         No new tests, covered by existing tests.
865
866         * Target.pri:
867         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
868         (WebCore::CoordinatedGraphicsLayer::setPosition):
869         (WebCore::CoordinatedGraphicsLayer::setAnchorPoint):
870         (WebCore::CoordinatedGraphicsLayer::setSize):
871         (WebCore::CoordinatedGraphicsLayer::setTransform):
872         (WebCore::CoordinatedGraphicsLayer::setChildrenTransform):
873         (WebCore::CoordinatedGraphicsLayer::setPreserves3D):
874         (WebCore::CoordinatedGraphicsLayer::setMasksToBounds):
875         (WebCore::CoordinatedGraphicsLayer::setDrawsContent):
876         (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
877         (WebCore::CoordinatedGraphicsLayer::setContentsOpaque):
878         (WebCore::CoordinatedGraphicsLayer::setBackfaceVisibility):
879         (WebCore::CoordinatedGraphicsLayer::setOpacity):
880         (WebCore::CoordinatedGraphicsLayer::setContentsRect):
881         (WebCore::CoordinatedGraphicsLayer::setFilters):
882         (WebCore::CoordinatedGraphicsLayer::setContentsToSolidColor):
883         (WebCore::CoordinatedGraphicsLayer::setShowDebugBorder):
884         (WebCore::CoordinatedGraphicsLayer::setShowRepaintCounter):
885         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
886         (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
887         (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
888         (WebCore::CoordinatedGraphicsLayer::syncChildren):
889         (WebCore::CoordinatedGraphicsLayer::syncFilters):
890         (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
891         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
892         (WebCore::CoordinatedGraphicsLayer::setDebugBorder):
893         (WebCore::CoordinatedGraphicsLayer::syncAnimations):
894         (WebCore::CoordinatedGraphicsLayer::syncCanvas):
895         (WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
896         (WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
897         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
898         (WebCore::CoordinatedGraphicsLayer::resetLayerState):
899         (WebCore):
900         (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
901         (WebCore::CoordinatedGraphicsLayer::setRootLayer):
902         (WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd):
903         (WebCore::CoordinatedGraphicsLayer::createTile):
904         (WebCore::CoordinatedGraphicsLayer::updateTile):
905         (WebCore::CoordinatedGraphicsLayer::removeTile):
906         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
907         (CoordinatedGraphicsLayerClient):
908         (CoordinatedGraphicsLayer):
909         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
910         (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
911         (WebCore::CoordinatedGraphicsScene::syncCanvasIfNeeded):
912         (WebCore::CoordinatedGraphicsScene::destroyCanvasIfNeeded):
913         (WebCore::CoordinatedGraphicsScene::setLayerRepaintCountIfNeeded):
914         (WebCore::CoordinatedGraphicsScene::setLayerChildrenIfNeeded):
915         (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
916         (WebCore::CoordinatedGraphicsScene::setLayerState):
917         (WebCore::CoordinatedGraphicsScene::deleteLayer):
918         (WebCore::CoordinatedGraphicsScene::createTilesIfNeeded):
919         (WebCore::CoordinatedGraphicsScene::removeTilesIfNeeded):
920         (WebCore::CoordinatedGraphicsScene::updateTilesIfNeeded):
921         (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
922         (WebCore::CoordinatedGraphicsScene::commitSceneState):
923         (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
924         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
925         (WebCore):
926         (CoordinatedGraphicsScene):
927         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h: Added.
928         (WebCore):
929         (TileUpdateInfo):
930         (TileCreationInfo):
931         (WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
932         (CoordinatedGraphicsLayerState):
933         (CoordinatedGraphicsState):
934         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
935         * platform/graphics/texmap/coordinated/CoordinatedLayerInfo.h: Removed.
936         * platform/graphics/texmap/coordinated/SurfaceUpdateInfo.h:
937
938 2013-03-05  Roger Fong  <roger_fong@apple.com>
939
940         Unreviewed. AppleWin VS2010 build fix.
941
942         * WebCore.vcxproj/WebCore.vcxproj:
943         * WebCore.vcxproj/WebCore.vcxproj.filters:
944         * rendering/RenderingAllInOne.cpp:
945
946 2013-03-05  Bem Jones-Bey  <bjonesbe@adobe.com>
947
948         [CSS Exclusions] shape-outside on floats for polygon shapes
949         https://bugs.webkit.org/show_bug.cgi?id=98676
950
951         Reviewed by David Hyatt.
952
953         Implement support for polygonal shape-outside on floats. The basic
954         tack taken here is to keep using the bounding box of the shape to
955         position the float, but to compute the offset (caused by the shape)
956         from the bounding box for each line when creating and positioning
957         other inline content.
958
959         Test: fast/exclusions/shape-outside-floats/shape-outside-floats-simple-polygon.html
960
961         * rendering/ExclusionShapeInfo.cpp:
962         (WebCore):
963         (WebCore::::computedShape): Add new template parameter.
964         (WebCore::::logicalTopOffset): Add new template parameter.
965         (WebCore::::computeSegmentsForLine): Move here from
966             ExclusionShapeInsideInfo, since ExclusionShapeOutsideInfo needs it
967             as well. Make virtual since there is slightly different behavior
968             between each class even though the vast majority of the code is
969             common.
970         * rendering/ExclusionShapeInfo.h:
971         (WebCore):
972         (WebCore::ExclusionShapeInfo::~ExclusionShapeInfo): Since
973             computeSegmentsForLine is virtual, the destructor must be virtual
974             as well.
975         (ExclusionShapeInfo): Add new data members to support
976             computeSegmentsForLine.
977         (WebCore::ExclusionShapeInfo::shapeLogicalRight): Fix bug, the logical
978             right is based off of maxX, not y. (it's a logical bounding box!)
979         (WebCore::ExclusionShapeInfo::logicalLineTop): Moved from
980             ExclusionShapeInsideInfo for use by computeSegmentsForLine and
981             lineOverlapsShapeBounds.
982         (WebCore::ExclusionShapeInfo::logicalLineBottom): Moved from
983             ExclusionShapeInsideInfo for use by computeSegmentsForLine and
984             lineOverlapsShapeBounds.
985         (WebCore::ExclusionShapeInfo::lineOverlapsShapeBounds): Moved from
986             ExclusionShapeInsideInfo for use by computeSegmentsForLine.
987         * rendering/ExclusionShapeInsideInfo.cpp: Moved common code from
988             computeSegmentsForLine into ExclusionShapeInfo.
989         * rendering/ExclusionShapeInsideInfo.h:
990         (WebCore): Moved some methods to ExclusionShapeInfo.
991         (ExclusionShapeInsideInfo): Update for new template parameter.
992         (WebCore::ExclusionShapeInsideInfo::compyteSegmentsForLine): Override
993             superclass method to clear the segment ranges. Segement ranges
994             aren't used by shape outside, and have some complex dependencies
995             that make it very hard to try and move up into ExclusionShapeInfo.
996         (WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo): Update
997             for new template parameter.
998         * rendering/ExclusionShapeOutsideInfo.cpp:
999         (WebCore::ExclusionShapeOutsideInfo::isEnabledFor): Add polygons as a
1000             supported shape.
1001         (WebCore::ExclusionShapeOutsideInfo::computeSegmentsForLine): Override
1002             superclass method to not recompute if it isn't needed (this isn't
1003             straightfoward for shape inside, which is why it isn't common),
1004             and to save the left and right offsets caused by the shape
1005             outside, since that's all that is needed to properly do layout in
1006             the case of floats.
1007         * rendering/ExclusionShapeOutsideInfo.h:
1008         (WebCore::ExclusionShapeOutsideInfo::shapeLogicalOffset): Reformat to
1009             be on a single line, like most other methods of it's type in
1010             WebKit headers.
1011         (ExclusionShapeOutsideInfo): Update for new template parameter.
1012         (WebCore::ExclusionShapeOutsideInfo::logicalLeftOffsetForLine):
1013             Accessor method to get the left offset between the shape and the
1014             shape's bounding box.
1015         (WebCore::ExclusionShapeOutsideInfo::logicalRightOffsetForLine):
1016             Accessor method to get the left offset between the shape and the
1017             shape's bounding box.
1018         (WebCore::ExclusionShapeOutsideInfo::ExclusionShapeOutsideInfo):
1019             Update for new template parameter.
1020         * rendering/RenderBlock.cpp:
1021         (WebCore::::collectIfNeeded): Save the last float encountered so that
1022             the shape outside offset can be accounted for.
1023         (WebCore::RenderBlock::logicalLeftOffsetForLine): Account for the
1024             shape outside offset on the outermost float.
1025         (WebCore::RenderBlock::logicalRightOffsetForLine): Account for the
1026             shape outside offset on the outermost float.
1027         * rendering/RenderBlock.h:
1028         (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
1029             Initialize the lastFloat member.
1030         (WebCore::RenderBlock::FloatIntervalSearchAdapter::lastFloat): Get the
1031             last float encountered.
1032         (FloatIntervalSearchAdapter): Add a pointer to the last float
1033             encountered. Note that the variable is mutable because
1034             collectIfNeeded is declared as a const method even though it isn't
1035             (it uses loopholes to update m_offset and m_heightRemaining).
1036             Instead of trying to come up with a hack to stick with the
1037             loopholes, I decided to be explicit about it.
1038         * rendering/RenderBlockLineLayout.cpp:
1039         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Take
1040             into account the offset from any polygonal shape outside.
1041         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Add a FIXME
1042             because the current code will not work properly with stacked
1043             floats that have polygonal shape outside.
1044
1045 2013-03-04  David Hyatt  <hyatt@apple.com>
1046
1047         [New Multicolumn] Autogenerate regions for columns.
1048         https://bugs.webkit.org/show_bug.cgi?id=111363
1049
1050         Reviewed by Dean Jackson.
1051
1052         In CSS Regions, we lay out the regions first, and then
1053         we put the flow thread into the regions. This model doesn't
1054         really work for multicolumn layout, which needs to be able
1055         to auto-generate new regions lazily in response to the flow
1056         thread asking for regions at particular offsets.
1057
1058         With the multi-column model, where the regions can't just occur
1059         anywhere, its ok not to lay them out before the flow thread, as
1060         long as we have at least given them the correct size.
1061         
1062         This patch changes the layout algorithm for columns to:
1063         (1) Size any existing regions (without worrying about placement).
1064         (2) Lay out the flow thread (generating and sizing regions lazily
1065         that need to be created).
1066         (3) Lay out the regions (to give them correct placement and to
1067         compute overflow correctly for the multi-column block that contains
1068         the regions).
1069
1070         There are no new tests, since there are no behavioral changes. This
1071         is just groundwork for being able to add new sets in response to
1072         spans, balancing, and nested pagination contexts.
1073
1074         * rendering/RenderBlock.cpp:
1075         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
1076         (WebCore::RenderBlock::layoutBlockChild):
1077         * rendering/RenderBlock.h:
1078         (RenderBlock):
1079         Since we want to be able to call determineLogicalLeftPositionForChild
1080         to place the flow thread properly, and we don't want to apply a layout
1081         delta (flow threads repaint themselves), we parameterize the method
1082         here so that it can be called without applying a layout delta.
1083         
1084         * rendering/RenderFlowThread.cpp:
1085         (WebCore::RenderFlowThread::addRegionToThread):
1086         (WebCore::RenderFlowThread::removeRegionFromThread):
1087         These methods are only used by RenderMultiColumnFlowThread, since
1088         RenderNamedFlowThread overrides them. Remove the code that invalidates
1089         the flow threads region set as regions come and go, since that is now
1090         going to be expected with auto-generation.
1091
1092         (WebCore::RenderFlowThread::validateRegions):
1093         Refactor the code in RenderFlowThread::layout that validates the regions
1094         into its own method, so that we can re-validate regions at any time
1095         after generating new ones.
1096         
1097         (WebCore::RenderFlowThread::layout):
1098         Changed to move the region validation code into its own function that is
1099         now called from here.
1100
1101         (WebCore::RenderFlowThread::updateLogicalWidth):
1102         Don't assert if a region set needs layout.
1103
1104         (WebCore::RenderFlowThread::computeLogicalHeight):
1105         Ditto. Don't assert if a region set needs layout. That's expected now.
1106
1107         (WebCore::RenderFlowThread::regionAtBlockOffset):
1108         Add code to regionAtBlockOffset to auto-generate regions up to
1109         the offset. This ensures the region that is being asked for
1110         exists.
1111
1112         (WebCore::RenderFlowThread::pageLogicalTopForOffset):
1113         (WebCore::RenderFlowThread::pageLogicalWidthForOffset):
1114         (WebCore::RenderFlowThread::pageLogicalHeightForOffset):
1115         (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
1116         These functions are no longer const, since the act of asking for
1117         pagination offsets can cause us to generate new regions.
1118
1119         (WebCore::RenderFlowThread::mapFromFlowToRegion):
1120         Modified to turn auto-generation off, since this is not really
1121         a "layout-time" function.
1122
1123         (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
1124         Modified to not assert if a region set needs layout, since that is
1125         expected now.
1126
1127         * rendering/RenderFlowThread.h:
1128         Changes to remove const from the methods that can trigger region
1129         auto-generation.
1130
1131         * rendering/RenderMultiColumnBlock.cpp:
1132         (WebCore::RenderMultiColumnBlock::styleDidChange):
1133         Make sure to propagate style changes down into the regions. I don't know
1134         of any correctness bugs around this, but I figured I'd be thorough.
1135
1136         (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
1137         We no longer build a column set aggressively. We wait for the flow thread
1138         to ask us for a region at a particular offset, and only then do we
1139         build the set.
1140         
1141         (WebCore::RenderMultiColumnBlock::addChild):
1142         Now that we lay out the flow thread as a special excluded child, we don't
1143         care about the ordering of it relative to the region children.
1144
1145         (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
1146         We now lay out the flow thread as a special excluded child (like the legend
1147         of a fieldset).
1148
1149         * rendering/RenderMultiColumnBlock.h:
1150         (RenderMultiColumnBlock):
1151         Add new overrides like layoutSpecialExcludedChild.
1152         
1153         * rendering/RenderMultiColumnFlowThread.cpp:
1154         (WebCore::RenderMultiColumnFlowThread::initialLogicalWidth):
1155         Set the flow thread to the initial column width even when no regions exist
1156         yet. This way we ensure the width is right even when we don't have any
1157         regions yet.
1158
1159         (WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
1160         This method handles autogenerating the new region for a given offset.
1161         Right now it's simplistic, since we only have one column set. This method
1162         will be enhanced in future patches when we start supporting multiple column
1163         sets.
1164
1165         * rendering/RenderMultiColumnFlowThread.h:
1166         (RenderMultiColumnFlowThread):
1167         Adding new method declarations like autoGenerateRegionsToBlockOffset.
1168
1169         * rendering/RenderMultiColumnSet.cpp:
1170         (WebCore::RenderMultiColumnSet::updateLogicalWidth):
1171         Since regions lay out after flow threads, we don't need to make 
1172         setFlowThreadPortionRect virtual any longer. We can just get our column set's
1173         width correct immediately. This is the same logic, just moved into updateLogicalWidth().
1174
1175         * rendering/RenderMultiColumnSet.h:
1176         Remove setFlowThreadPortionRect override, since the function can just be simple
1177         and non-virtual in RenderRegion now.
1178
1179         * rendering/RenderRegion.cpp:
1180         (WebCore::RenderRegion::layoutBlock):
1181         Don't ever invalidate region sets in response to our size changing during layout. Since
1182         our size is always determined outside of layout now, we don't need to do any of
1183         these checks.
1184
1185         * rendering/RenderRegion.h:
1186         (WebCore::RenderRegion::setFlowThreadPortionRect):
1187         Changed to be non-virtual now that RenderMultiColumnSet doesn't need to override.
1188
1189 2013-03-04  Alexey Proskuryakov  <ap@apple.com>
1190
1191         Make AsyncFileReader work without ScriptExecutionContext
1192         https://bugs.webkit.org/show_bug.cgi?id=111376
1193
1194         Reviewed by Anders Carlsson.
1195
1196         * WebCore.xcodeproj/project.pbxproj: Added MainThreadTask.h.
1197
1198         * dom/ScriptExecutionContext.cpp:
1199         * dom/ScriptExecutionContext.h:
1200         Removed fileThread(). Creating a thread for every context that acesses files appears
1201         wasteful and unnecessary.
1202
1203         * fileapi/AsyncFileStream.h:
1204         * fileapi/AsyncFileStream.cpp:
1205         (WebCore::createFileThread): FileThread is now a singleton.
1206         (WebCore::fileThread): Ditto.
1207         (WebCore::AsyncFileStream::AsyncFileStream):
1208         (WebCore::AsyncFileStream::create):
1209         (WebCore::didStart):
1210         (WebCore::AsyncFileStream::startOnFileThread):
1211         (WebCore::AsyncFileStream::stop):
1212         (WebCore::derefProxyOnMainThread):
1213         (WebCore::AsyncFileStream::stopOnFileThread):
1214         (WebCore::didGetSize):
1215         (WebCore::AsyncFileStream::getSizeOnFileThread):
1216         (WebCore::didOpen):
1217         (WebCore::AsyncFileStream::openForReadOnFileThread):
1218         (WebCore::AsyncFileStream::openForWriteOnFileThread):
1219         (WebCore::didRead):
1220         (WebCore::AsyncFileStream::readOnFileThread):
1221         (WebCore::didWrite):
1222         (WebCore::AsyncFileStream::writeOnFileThread):
1223         (WebCore::didTruncate):
1224         (WebCore::AsyncFileStream::truncateOnFileThread):
1225         Use callOnMainThread() instead of posting messages through a context. We never used
1226         other threads, and don't plan to.
1227
1228         * loader/ResourceLoader.cpp:
1229         * loader/ResourceLoader.h:
1230         We no longer need this pseudo-client call to create an AsyncFileStream, now that
1231         we don't need to get a ScriptExecutionContext somewhere.
1232
1233         * platform/MainThreadTask.h: Added. This implements callOnMainThread with multiple
1234         strongly typed arguments. Closely based on CrossThreadTask.h.
1235
1236         * platform/network/BlobResourceHandle.cpp:
1237         (WebCore::BlobResourceHandle::BlobResourceHandle): Create AsyncFileStream directly.
1238
1239         * platform/network/ResourceHandleClient.h: Removed createAsyncFileStream().
1240
1241 2013-03-05  Jessie Berlin  <jberlin@apple.com>
1242
1243         Update the localizable strings file.
1244
1245         Rubber-stamped by Anders Carlsson.
1246
1247         * English.lproj/Localizable.strings:
1248
1249 2013-03-05  Chris Fleizach  <cfleizach@apple.com>
1250
1251         AX: aria-label does not override text content on iOS
1252         https://bugs.webkit.org/show_bug.cgi?id=111222
1253
1254         Reviewed by David Kilzer.
1255
1256         Make iOS use the same text alternative computation that Mac is using. The main difference
1257         is that description and title need to be concatenated, because iOS doesn't have two attributes
1258         to return those values.
1259
1260         Test: platform/iphone-simulator/accessibility/aria-label-with-internal-text.html
1261
1262         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1263         (-[WebAccessibilityObjectWrapper stringValueShouldBeUsedInLabel]):
1264         (-[WebAccessibilityObjectWrapper accessibilityLabel]):
1265         (-[WebAccessibilityObjectWrapper accessibilityHint]):
1266         * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
1267
1268 2013-03-05  David Kilzer  <ddkilzer@apple.com>
1269
1270         BUILD FIX (r144698): Only enable SPEECH_SYNTHESIS for Mac
1271         <http://webkit.org/b/106742>
1272
1273         Fixes the following build failures:
1274
1275             Undefined symbols for architecture i386:
1276               "__ZTVN7WebCore25PlatformSpeechSynthesizerE", referenced from:
1277                   __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
1278               NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
1279               "__ZN7WebCore25PlatformSpeechSynthesizer19initializeVoiceListEv", referenced from:
1280                   __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
1281             ld: symbol(s) not found for architecture i386
1282
1283         * Configurations/FeatureDefines.xcconfig:
1284         - Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.
1285
1286 2013-03-05  Dmitry Zvorygin  <zvorygin@chromium.org>
1287
1288         Web Inspector: registered new MIME type application/font-woff for WOFF fonts.
1289         https://bugs.webkit.org/show_bug.cgi?id=111418
1290
1291         The WOFF MIME Type was formally registered as application/font-woff (FINALLY):
1292         http://www.iana.org/assignments/media-types/application/font-woff
1293
1294         Reviewed by Pavel Feldman.
1295
1296         * inspector/front-end/NetworkManager.js:
1297         (WebInspector.NetworkManager):
1298         (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):
1299
1300 2013-03-05  Julien Chaffraix  <jchaffraix@webkit.org>
1301
1302         [CSS Grid Layout] Add parsing for grid-{end|after}
1303         https://bugs.webkit.org/show_bug.cgi?id=111372
1304
1305         Reviewed by Tony Chang.
1306
1307         Test: fast/css-grid-layout/grid-item-end-after-get-set.html
1308
1309         This change adds the proper support for grid-{end|after}. It doesn't update
1310         grid-{row|column} to be a shorthand for both grid-{before|start} and grid-{after|end}
1311         though.
1312
1313         * css/CSSComputedStyleDeclaration.cpp:
1314         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1315         Added the new properties to our known properties. Also added
1316         support for getComputedStyle.
1317
1318         * css/CSSParser.cpp:
1319         (WebCore::CSSParser::parseValue):
1320         Added parsing for the new properties.
1321
1322         * css/CSSProperty.cpp:
1323         (WebCore::CSSProperty::isInheritedProperty):
1324         The new properties are not inherited.
1325
1326         * css/CSSPropertyNames.in:
1327         Added the new properties.
1328
1329         * css/StyleResolver.cpp:
1330         (WebCore::StyleResolver::applyProperty):
1331         Added code to handle applying them to our style.
1332
1333         * rendering/style/RenderStyle.h:
1334         * rendering/style/StyleGridItemData.cpp:
1335         (WebCore::StyleGridItemData::StyleGridItemData):
1336         * rendering/style/StyleGridItemData.h:
1337         (WebCore::StyleGridItemData::operator==):
1338         (StyleGridItemData):
1339         Updated our representation to store the new properties.
1340
1341 2013-03-05  Andrey Kosyakov  <caseq@chromium.org>
1342
1343         Unreviewed follow-up to r144756, fix broken inspector-less build.
1344
1345         * inspector/InspectorInstrumentation.h:
1346         (WebCore::InspectorInstrumentation::willWriteHTML):
1347
1348 2013-03-05  Mark Lam  <mark.lam@apple.com>
1349
1350         Improve robustness of WebSQL quota management.
1351         https://bugs.webkit.org/show_bug.cgi?id=110600.
1352
1353         Reviewed by Geoffrey Garen.
1354
1355         1. Introduced the OriginLock for synchronizing write access to the
1356            database origin directory. This allows us to more accurately
1357            compute the disk usage.
1358
1359            The OriginLock uses a mutex to provide mutual exclusion between
1360            threads and a file lock for mutual exclusion between processes.
1361            The file lock part is conditional on USE(FILE_LOCK).
1362
1363            The mutex mutual exclusion also serves to ensure that only 1 thread
1364            can write to a sqlite database at one time.
1365
1366         2. Change the SQLTransactionCoordinator to only allow one write
1367            transaction to an origin instead of one write transaction per
1368            database. This is needed in order to accurately compute the
1369            disk usage. It is also necessary so that the OriginLock does not
1370            deadlock itself (as would be the case if concurrent write transactions
1371            to different databases in the same origin are allowed).
1372
1373         3. Fix DatabaseTracker::getMaxSizeForDatabase() to check for when
1374            disk usage may exceed the quota, and ensure that we will return
1375            an appropriate max database size.
1376
1377            Disk usage can exceed the usage if it is already near the quota limit
1378            but have not exceeded it yet. If a new database is opened in that
1379            origin, it may bump the usage above the quota, but should not
1380            continually repeat this. Subsequent attempts to open a database
1381            will find that the quota is already exhausted and fail.
1382
1383            There is still a race condition pertaining to the tracker database
1384            getting out of sync that may still enable runaway growth in the
1385            database sizes. That issue only manifest in a multi-process
1386            environment, and will be fixed in another changeset.
1387
1388         4. Fixed a bug in SQLStatement to check if the errorCallback exists
1389            before invoking it.
1390
1391         No new layout tests. A quota-test.html was attached to bugzilla for manual
1392         testing of multi-tab concurrent consumption of storage resource, and also
1393         to test handling situations when the user deletes the database files while
1394         the script is still using the database.
1395
1396         * CMakeLists.txt:
1397         * GNUmakefile.list.am:
1398         * Modules/webdatabase/DatabaseTracker.cpp:
1399         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
1400         (WebCore::DatabaseTracker::originLockFor):
1401         (WebCore::DatabaseTracker::deleteOriginLockFor):
1402         (WebCore::DatabaseTracker::deleteOrigin):
1403         * Modules/webdatabase/DatabaseTracker.h:
1404         * Modules/webdatabase/OriginLock.cpp: Added.
1405         (WebCore::OriginLock::lockFileNameForPath):
1406         (WebCore::OriginLock::OriginLock):
1407         (WebCore::OriginLock::~OriginLock):
1408         (WebCore::OriginLock::lock):
1409         (WebCore::OriginLock::unlock):
1410         * Modules/webdatabase/OriginLock.h: Added.
1411         * Modules/webdatabase/SQLStatement.cpp:
1412         (WebCore::SQLStatement::performCallback):
1413         * Modules/webdatabase/SQLTransactionBackend.cpp:
1414         (WebCore::SQLTransactionBackend::doCleanup):
1415         (WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
1416         (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
1417         (WebCore::SQLTransactionBackend::postflightAndCommit):
1418         (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
1419         (WebCore::SQLTransactionBackend::acquireOriginLock):
1420         (WebCore::SQLTransactionBackend::releaseOriginLockIfNeeded):
1421         * Modules/webdatabase/SQLTransactionBackend.h:
1422         (SQLTransactionBackend):
1423         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
1424         (WebCore::getDatabaseIdentifier):
1425         * Target.pri:
1426         * WebCore.gypi:
1427         * WebCore.vcproj/WebCore.vcproj:
1428         * WebCore.vcxproj/WebCore.vcxproj:
1429         * WebCore.vcxproj/WebCore.vcxproj.filters:
1430         * WebCore.xcodeproj/project.pbxproj:
1431         * config.h:
1432         * platform/FileSystem.h:
1433         * platform/posix/FileSystemPOSIX.cpp:
1434         (WebCore::lockFile):
1435         (WebCore::unlockFile):
1436
1437 2013-03-05  Ilya Tikhonovsky  <loislo@chromium.org>
1438
1439         Web Inspector: move PopoverContentHelper from TimelinePresentationModel.js to Popover.js.
1440         https://bugs.webkit.org/show_bug.cgi?id=111431
1441
1442         Reviewed by Yury Semikhatsky.
1443
1444         class WebInspector.TimelinePresentationModel.PopoverContentHelper was renamed to WebInspector.PopoverContentHelper.
1445         Style names were changed accordingly.
1446
1447         * inspector/front-end/Popover.js:
1448         (WebInspector.PopoverContentHelper):
1449         (WebInspector.PopoverContentHelper.prototype.contentTable):
1450         (WebInspector.PopoverContentHelper.prototype._createCell):
1451         (WebInspector.PopoverContentHelper.prototype.appendTextRow):
1452         (WebInspector.PopoverContentHelper.prototype.appendElementRow):
1453         (WebInspector.PopoverContentHelper.prototype.appendStackTrace):
1454         * inspector/front-end/TimelinePresentationModel.js:
1455         (WebInspector.TimelinePresentationModel.prototype.generateMainThreadBarPopupContent):
1456         (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
1457         (WebInspector.TimelinePresentationModel.generatePopupContentForFrame):
1458         (WebInspector.TimelinePresentationModel.generatePopupContentForFrameStatistics):
1459         * inspector/front-end/popover.css:
1460         (.popover-details):
1461         (.popover-function-name):
1462         (.popover-stacktrace-title):
1463         (.popover-details-row-title):
1464         (.popover-details-row-data):
1465         (.popover-details-title):
1466         * inspector/front-end/timelinePanel.css:
1467
1468 2013-03-05  Yury Semikhatsky  <yurys@chromium.org>
1469
1470         Web Inspector: remove "Live native memory chart" experiment
1471         https://bugs.webkit.org/show_bug.cgi?id=111432
1472
1473         Reviewed by Alexander Pavlov.
1474
1475         Removed support for live native memory chart.
1476
1477         * English.lproj/localizedStrings.js:
1478         * inspector/front-end/NativeMemorySnapshotView.js:
1479         * inspector/front-end/ProfileLauncherView.js:
1480         (WebInspector.ProfileLauncherView):
1481         * inspector/front-end/ProfilesPanel.js:
1482         (WebInspector.ProfilesPanel):
1483         * inspector/front-end/Settings.js:
1484         (WebInspector.ExperimentsSettings):
1485         * inspector/front-end/nativeMemoryProfiler.css:
1486
1487 2013-03-05  Andrey Kosyakov  <caseq@chromium.org>
1488
1489         Web Inspector: remove length parameter from Parse HTML timeline event
1490         https://bugs.webkit.org/show_bug.cgi?id=111421
1491
1492         Reviewed by Yury Semikhatsky.
1493
1494         - remove length parameter in all instrumentation methods used to emit ParseHTML timeline event;
1495         - drive-by style fixes.
1496
1497         * html/parser/HTMLDocumentParser.cpp:
1498         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
1499         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
1500         (WebCore::HTMLDocumentParser::pumpTokenizer):
1501         * inspector/InspectorInstrumentation.cpp:
1502         (WebCore):
1503         (WebCore::InspectorInstrumentation::willWriteHTMLImpl):
1504         (WebCore::InspectorInstrumentation::didWriteHTMLImpl):
1505         * inspector/InspectorInstrumentation.h:
1506         (InspectorInstrumentation):
1507         (WebCore::InspectorInstrumentation::willWriteHTML):
1508         (WebCore::InspectorInstrumentation::didWriteHTML):
1509         * inspector/InspectorTimelineAgent.cpp:
1510         (WebCore::InspectorTimelineAgent::willWriteHTML):
1511         (WebCore::InspectorTimelineAgent::didWriteHTML):
1512         * inspector/InspectorTimelineAgent.h:
1513         (InspectorTimelineAgent):
1514         * inspector/TimelineRecordFactory.cpp:
1515         (WebCore::TimelineRecordFactory::createParseHTMLData):
1516         * inspector/TimelineRecordFactory.h:
1517         (TimelineRecordFactory):
1518
1519 2013-03-05  Alexei Filippov  <alph@chromium.org>
1520
1521         Web Inspector: allow each profiler panel to have own landing page
1522         https://bugs.webkit.org/show_bug.cgi?id=111298
1523
1524         Reviewed by Yury Semikhatsky.
1525
1526         Refactor profiler landing page to allow different profiler panels to have own landing pages.
1527           - MultiProfileLauncherView is inherited from ProfileLauncherView
1528           - Native memory distribution profiler has got a custom page.
1529
1530         No new tests: code refactoring.
1531
1532         * inspector/front-end/HeapSnapshotView.js:
1533         (WebInspector.HeapSnapshotView.prototype.get profile):
1534         (WebInspector.HeapSnapshotView.prototype.get baseProfile):
1535         (WebInspector.HeapSnapshotView.prototype._profiles):
1536         * inspector/front-end/NativeMemorySnapshotView.js:
1537         * inspector/front-end/ProfileLauncherView.js:
1538         (WebInspector.ProfileLauncherView):
1539         (WebInspector.ProfileLauncherView.prototype.addProfileType):
1540         (WebInspector.ProfileLauncherView.prototype._controlButtonClicked):
1541         (WebInspector.ProfileLauncherView.prototype._updateControls):
1542         (WebInspector.ProfileLauncherView.prototype.profileStarted):
1543         (WebInspector.ProfileLauncherView.prototype.profileFinished):
1544         (WebInspector.MultiProfileLauncherView):
1545         (WebInspector.MultiProfileLauncherView.prototype.addProfileType):
1546         (WebInspector.MultiProfileLauncherView.prototype._profileTypeChanged):
1547         (WebInspector.NativeProfileLauncherView):
1548         * inspector/front-end/ProfilesPanel.js:
1549         (WebInspector.ProfilesPanel):
1550         (WebInspector.ProfilesPanel.prototype._createLauncherView):
1551         (WebInspector.CPUProfilerPanel):
1552         (WebInspector.CSSSelectorProfilerPanel):
1553         (WebInspector.HeapProfilerPanel):
1554         (WebInspector.CanvasProfilerPanel):
1555         (WebInspector.MemoryChartProfilerPanel):
1556         (WebInspector.MemoryChartProfilerPanel.prototype._createLauncherView):
1557         (WebInspector.NativeMemoryProfilerPanel):
1558         * inspector/front-end/profilesPanel.css:
1559         (.panel-enabler-view.profile-launcher-view button:not(.status-bar-item)):
1560
1561 2013-03-05  Eugene Klyuchnikov  <eustas@chromium.org>
1562
1563         Web Inspector: Clarify some StylesSidebarPanel and CSSMetadata JSDocs.
1564         https://bugs.webkit.org/show_bug.cgi?id=111427
1565
1566         Reviewed by Alexander Pavlov.
1567
1568         Goal: reflect in JSDoc that non-null array is passed to completionsReady callback.
1569
1570         * inspector/front-end/CSSMetadata.js:
1571         Added JSDocs, avoided possible NPEs.
1572         * inspector/front-end/StylesSidebarPane.js:
1573         Fixed JSDocs, removed unused assignment.
1574
1575 2013-03-05  David Kilzer  <ddkilzer@apple.com>
1576
1577         BUILD FIX (r144727): Change type of columnRange and rowRange to pair<unsigned, unsigned>
1578         <http://webkit.org/b/110050>
1579
1580         Fixes the following build failures:
1581
1582             Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:741:30: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
1583                 tableCell->rowIndexRange(rowRange);
1584                                          ^~~~~~~~
1585             In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
1586             Source/WebCore/accessibility/AccessibilityTableCell.h:47:58: note: passing argument to parameter 'rowRange' here
1587                 virtual void rowIndexRange(pair<unsigned, unsigned>& rowRange);
1588                                                                      ^
1589             Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:742:33: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
1590                 tableCell->columnIndexRange(columnRange);
1591                                             ^~~~~~~~~~~
1592             In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
1593             Source/WebCore/accessibility/AccessibilityTableCell.h:49:61: note: passing argument to parameter 'columnRange' here
1594                 virtual void columnIndexRange(pair<unsigned, unsigned>& columnRange);
1595                                                                         ^
1596             Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:804:30: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
1597                 tableCell->rowIndexRange(rowRange);
1598                                          ^~~~~~~~
1599             In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
1600             Source/WebCore/accessibility/AccessibilityTableCell.h:47:58: note: passing argument to parameter 'rowRange' here
1601                 virtual void rowIndexRange(pair<unsigned, unsigned>& rowRange);
1602                                                                      ^
1603             Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:818:33: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
1604                 tableCell->columnIndexRange(columnRange);
1605                                             ^~~~~~~~~~~
1606             In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
1607             Source/WebCore/accessibility/AccessibilityTableCell.h:49:61: note: passing argument to parameter 'columnRange' here
1608                 virtual void columnIndexRange(pair<unsigned, unsigned>& columnRange);
1609                                                             ^
1610             4 errors generated.
1611
1612         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1613         (-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
1614         (-[WebAccessibilityObjectWrapper accessibilityRowRange]):
1615         (-[WebAccessibilityObjectWrapper accessibilityColumnRange]):
1616
1617 2013-03-04  Andrey Kosyakov  <caseq@chromium.org>
1618
1619         Web Inspector: [refactoring] set frame identifiers in timeline records early, do not keep them in event stack
1620         https://bugs.webkit.org/show_bug.cgi?id=111345
1621
1622         Reviewed by Pavel Feldman.
1623
1624         * inspector/InspectorTimelineAgent.cpp:
1625         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
1626         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
1627         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
1628         (WebCore::InspectorTimelineAgent::setFrameIdentifier):
1629         (WebCore):
1630         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
1631         (WebCore::InspectorTimelineAgent::appendRecord):
1632         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
1633         (WebCore::InspectorTimelineAgent::commitFrameRecord):
1634         * inspector/InspectorTimelineAgent.h:
1635         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
1636         (TimelineRecordEntry):
1637         (InspectorTimelineAgent):
1638
1639 2013-03-05  Tommy Widenflycht  <tommyw@google.com>
1640
1641         MediaStream API: Add the getStreamById method on RTCPeerConnection
1642         https://bugs.webkit.org/show_bug.cgi?id=111311
1643
1644         Reviewed by Adam Barth.
1645
1646         Adding the missing method on RTCPeerConnection defined here:
1647         http://dev.w3.org/2011/webrtc/editor/webrtc.html#widl-RTCPeerConnection-getStreamById-MediaStream-DOMString-streamId
1648
1649         Existing tests have been extended to cover patch.
1650
1651         * Modules/mediastream/RTCPeerConnection.cpp:
1652         (WebCore::RTCPeerConnection::getStreamById):
1653         (WebCore):
1654         * Modules/mediastream/RTCPeerConnection.h:
1655         (RTCPeerConnection):
1656         * Modules/mediastream/RTCPeerConnection.idl:
1657         * platform/chromium/support/WebMediaStream.cpp:
1658         (WebKit::WebMediaStream::initialize):
1659         (WebKit):
1660         * platform/mediastream/MediaStreamSource.cpp:
1661         (WebCore::MediaStreamSource::setReadyState):
1662
1663 2013-03-05  Antoine Quint  <graouts@apple.com>
1664
1665         Web Inspector: allow retrieval of composited layers in a given DOM subtree
1666         https://bugs.webkit.org/show_bug.cgi?id=111312
1667
1668         Introduce the LayerTreeAgent.layersForNode(node) method allowing the front-end
1669         to gather all composited layers associated with nodes in the subtree of which
1670         the provided node is the root.
1671
1672         In order to gather the layers in the subtree, we first traverse the node's
1673         renderer's RenderObject hierarchy and whenever we encounter a RenderObject
1674         that has a RenderLayer, we then traverse that renderLayer's RenderLayer
1675         hierarchy. This allows for a quick path through the relevant objects we're
1676         gathering.
1677
1678         Layers gathered will push the node to which they're associated, allowing a
1679         nodeId for this layer to be listed in the Layer object sent to the front-end.
1680         It is crucial to be able to provide a nodeId as well as a layerId for a Layer
1681         object in order to be able to correctly assess mutations in the layer tree.
1682         For instance, it is expected that a node's layer be replaced by a new layer
1683         to represent a slightly different rendering of its content, but the front-end
1684         should be able to represent this layer as an object for which only certain
1685         attributes have changed (like the "paintCount" property).
1686
1687         Layer objects also indicate whether they're associated to a node hosted in a
1688         shadow tree (the optional "isInShadowTree" property) in order for the front-end
1689         to be able to only show this layer if the option to show nodes hosted in shadow
1690         tree is enabled.
1691
1692         Finally, since we're only gathering composited layers, we're removing the
1693         "isLayerComposited" property and removing the optional flag on the "paintCount",
1694         "memory" and "compositedBounds" properties.
1695
1696         Reviewed by Simon Fraser.
1697
1698         Test: inspector-protocol/layers/layers-for-node.html
1699
1700         * inspector/Inspector.json:
1701         * inspector/InspectorLayerTreeAgent.cpp:
1702         (WebCore::InspectorLayerTreeAgent::layersForNode):
1703         (WebCore):
1704         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
1705         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
1706         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
1707         (WebCore::InspectorLayerTreeAgent::idForNode):
1708         * inspector/InspectorLayerTreeAgent.h:
1709         (InspectorLayerTreeAgent):
1710
1711 2013-03-04  Andrey Kosyakov  <caseq@chromium.org>
1712
1713         Web Inspector: use timestamps consistent with rest of Timeline in WebSocket events.
1714         https://bugs.webkit.org/show_bug.cgi?id=111344
1715
1716         - create web socket related records in a manner consistent with the rest of timeline.
1717
1718         Reviewed by Pavel Feldman.
1719
1720         * inspector/InspectorTimelineAgent.cpp:
1721         (WebCore::InspectorTimelineAgent::didCreateWebSocket):
1722         (WebCore::InspectorTimelineAgent::willSendWebSocketHandshakeRequest):
1723         (WebCore::InspectorTimelineAgent::didReceiveWebSocketHandshakeResponse):
1724         (WebCore::InspectorTimelineAgent::didDestroyWebSocket):
1725         * inspector/InspectorTimelineAgent.h:
1726         (InspectorTimelineAgent):
1727
1728 2013-03-05  Andrei Bucur  <abucur@adobe.com>
1729
1730         [CSS Regions] Crash when MathML used in CSS Regions
1731         https://bugs.webkit.org/show_bug.cgi?id=110686
1732
1733         Reviewed by David Hyatt.
1734
1735         The MathML blocks trigger a children layout when computing the preferred widths. This happens to determine the preferred
1736         logical heights of the children. When the layout reaches the line boxes computation the preferred width of the containing block
1737         is requested. Because it wasn't computed, the layout of the children is started again to determine the preferred logical heights.
1738         This causes an infinite recursion and triggers a stack overflow.
1739
1740         The patch introduces a new RAII utility class that disables fragmentation when the constructor is called and restores it
1741         on the destructor. This class is used when computing the preferred height for the children of a MathML block.
1742
1743         Test: fast/regions/mathml-crash.html
1744
1745         * rendering/RenderObject.cpp:
1746         (WebCore::RenderObject::setFlowThreadStateIncludingDescendants): Do not cross RenderFlowThread boundaries when updating the flow thread
1747         state flag. The innermost flow threads need to manage their descendants flag values.
1748         * rendering/RenderView.cpp:
1749         (WebCore::FragmentationDisabler::FragmentationDisabler):
1750         (WebCore):
1751         (WebCore::FragmentationDisabler::~FragmentationDisabler):
1752         * rendering/RenderView.h:
1753         (FragmentationDisabler):
1754         (WebCore):
1755         * rendering/mathml/RenderMathMLBlock.cpp:
1756         (WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):
1757
1758 2013-03-05  Mike West  <mkwst@chromium.org>
1759
1760         Cleanup: Move HitTestLocation and HitTestResult into separate files.
1761         https://bugs.webkit.org/show_bug.cgi?id=111294
1762
1763         Reviewed by Allan Sandfeld Jensen.
1764
1765         HitTestLocation and HitTestResult currently both live in
1766         HitTestResult.h. That makes things more difficult to understand than
1767         they should be, and violates the one-class-one-file principle that
1768         WebKit generally follows. Happily, it's fairly trivial to fix.
1769
1770         This should have no visible change; it's strictly an internal
1771         refactoring. It doesn't even touch any implementation code: we're
1772         just moving bits from one place to another.
1773
1774         * CMakeLists.txt:
1775         * GNUmakefile.list.am:
1776         * Target.pri:
1777         * WebCore.gypi:
1778         * WebCore.vcproj/WebCore.vcproj:
1779         * WebCore.xcodeproj/project.pbxproj:
1780             Hey, look: a new file! Let's add it to six different build systems! :)
1781         * rendering/HitTestLocation.cpp: Added.
1782         (WebCore):
1783         (WebCore::HitTestLocation::HitTestLocation):
1784         (WebCore::HitTestLocation::~HitTestLocation):
1785         (WebCore::HitTestLocation::operator=):
1786         (WebCore::HitTestLocation::move):
1787         (WebCore::HitTestLocation::intersectsRect):
1788         (WebCore::HitTestLocation::intersects):
1789         (WebCore::HitTestLocation::rectForPoint):
1790         * rendering/HitTestLocation.h: Added.
1791         (WebCore):
1792         (HitTestLocation):
1793         (WebCore::HitTestLocation::point):
1794         (WebCore::HitTestLocation::roundedPoint):
1795         (WebCore::HitTestLocation::region):
1796         (WebCore::HitTestLocation::isRectBasedTest):
1797         (WebCore::HitTestLocation::isRectilinear):
1798         (WebCore::HitTestLocation::boundingBox):
1799         (WebCore::HitTestLocation::topPadding):
1800         (WebCore::HitTestLocation::rightPadding):
1801         (WebCore::HitTestLocation::bottomPadding):
1802         (WebCore::HitTestLocation::leftPadding):
1803         (WebCore::HitTestLocation::transformedPoint):
1804         (WebCore::HitTestLocation::transformedRect):
1805         * rendering/HitTestResult.cpp:
1806         * rendering/HitTestResult.h:
1807             Move all this code from HitTestResult.* to HitTestLocation.*.
1808         * rendering/RenderBlock.cpp:
1809             Include HitTestLocation.h.
1810
1811 2013-03-05  Jochen Eisinger  <jochen@chromium.org>
1812
1813         Refactor UserGestureIndicator::Token to be a top-level class
1814         https://bugs.webkit.org/show_bug.cgi?id=111412
1815
1816         Reviewed by Nico Weber.
1817
1818         This will allow for forward declaring the class in a public WebKit
1819         API header. The goal is to enable the embedder to hold on to a
1820         UserGestureToken.
1821
1822         * dom/UserGestureIndicator.cpp:
1823         (WebCore::UserGestureIndicator::UserGestureIndicator):
1824         (WebCore::UserGestureIndicator::currentToken):
1825         * dom/UserGestureIndicator.h:
1826         (UserGestureToken):
1827         (WebCore::UserGestureToken::~UserGestureToken):
1828         (WebCore):
1829         (UserGestureIndicator):
1830         * page/DOMTimer.h:
1831         (DOMTimer):
1832         * page/EventHandler.h:
1833
1834 2013-03-05  Mike West  <mkwst@chromium.org>
1835
1836         Remove redundant code in Document::updateHoverActiveState.
1837         https://bugs.webkit.org/show_bug.cgi?id=111303
1838
1839         Reviewed by Darin Adler.
1840
1841         Document::updateHoverActiveState currently looks for touchrelease events
1842         and explictly clears out the hover state for all nodes between the
1843         currently hovered node and the top of the hover chain. This is actually
1844         redundant with the logic in the rest of the function; we can simplify by
1845         setting the Element* we're working with to 0, which causes the later
1846         loops to do the necessary work.
1847
1848         There should be no web-visible effect from this change; it should simply
1849         make this function less complex.
1850
1851         Extracted from Allan Sandfeld Jensen's original patch to wkbug.com/98168
1852
1853         * dom/Document.cpp:
1854         (WebCore::Document::updateHoverActiveState):
1855             Set innerElementInDocument to 0 rather than walking the hover chain
1856             and clearing it when we see a touchrelease event. The rest of the
1857             code in this function will have the same effect.
1858
1859 2013-03-05  Koji Hara  <kojih@chromium.org>
1860
1861         [V8] Remove unused custom indexedPropertyGetter
1862         https://bugs.webkit.org/show_bug.cgi?id=111409
1863
1864         Reviewed by Kentaro Hara.
1865
1866         Remove unused custom indexedPropertyGetter.
1867         There are 9 custom indexedPropertyGetter, including an unused one(NamedNodeMap).
1868         This commit assures all existing custom indexedPropertyGetter(for V8) are used.
1869
1870         No new tests. Simple refactoring.
1871
1872         * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Remove indexedPropertyGetter
1873
1874 2013-03-05  Hajime Morrita  <morrita@google.com>
1875
1876         ShadowRoot needs guardRef() and guardDeref()
1877         https://bugs.webkit.org/show_bug.cgi?id=109777
1878
1879         Reviewed by Dimitri Glazkov.
1880
1881         This change moves m_guardRefCount from Document to TreeScope,
1882         which allows ShadowRoot to be guarded by guardRef() mechanism as
1883         Document. After r137524, Node referes TreeScope instead of
1884         Document. This is natural consequence of the change: It no longer
1885         makes sense to guardRef() Document pointer from Node.
1886
1887         Detail:
1888
1889         - Document::m_guardRefCount and related funcdtions are moved to TreeScope
1890         - Document::removedLastRef is factored out into TreeScope::removedLastRefToScope(),
1891           TreeScope::dispose() and Docuent::dispose(). ShadowRoot also got its own dispose() implementation.
1892         - Moved guardRef() and guardDeref() calls to TreeScope and Node.
1893           Note that there are two "guarded" TreeScope references. One is
1894           Node::m_treeScope and another is TreeScope::m_parentTreeScope.
1895           The guarded-ref management is now encapsulated in these two classes.
1896
1897         No new tests. Covered by existing tests.
1898
1899         * WebCore.exp.in:
1900         * dom/Document.cpp:
1901         (WebCore::Document::Document):
1902         (WebCore::Document::~Document):
1903         (WebCore::Document::dispose): Extracted from removedLastRef()
1904         * dom/Document.h:
1905         (WebCore::Node::isTreeScope):
1906         (WebCore::Node::Node):
1907         * dom/DocumentFragment.cpp:
1908         (WebCore::DocumentFragment::DocumentFragment): Remove ASSERT() and move it to ...
1909         (WebCore::DocumentFragment::create): ... here, to allow NULL document from ShadowRoot.
1910         * dom/Node.cpp:
1911         (WebCore::Node::~Node):
1912         (WebCore::Node::removedLastRef):
1913         * dom/Node.h:
1914         (WebCore::Node::setTreeScope):
1915         * dom/Element.cpp:
1916         (WebCore::Element::ensureAttr): This has been wrong and is fixed in this revision since the incorrectness is unveiled by this change.
1917         * dom/ShadowRoot.cpp:
1918         (WebCore::ShadowRoot::ShadowRoot): Passed NULL document to superclass. This aligns what Document is doing.
1919         (WebCore::ShadowRoot::dispose): Added.
1920         * dom/ShadowRoot.h:
1921         (ShadowRoot):
1922         * dom/TreeScope.cpp:
1923         (SameSizeAsTreeScope):
1924         (WebCore::TreeScope::TreeScope):
1925         (WebCore::TreeScope::~TreeScope):
1926         (WebCore::TreeScope::dispose): Added.
1927         (WebCore::TreeScope::setParentTreeScope):
1928         (WebCore::TreeScope::deletionHasBegun):
1929         (WebCore::TreeScope::beginDeletion):
1930         (WebCore::TreeScope::refCount): Added.
1931         * dom/TreeScope.h: Turned m_rootNode to Node* from ContainerNode* for Node::isTreeScope to be inlined.
1932         (WebCore::TreeScope::guardRef): Pulled up from Document.
1933         (WebCore::TreeScope::guardDeref): Ditto.
1934         (WebCore::TreeScope::hasGuardRefCount): Added to hide m_guardRefCount.
1935         (WebCore::TreeScope::deletionHasBegun): Added.
1936         (WebCore::TreeScope::beginDeletion): Added.
1937         (WebCore::TreeScope::removedLastRefToScope): Pulled up from Document.
1938         * dom/TreeScopeAdopter.cpp:
1939         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
1940         (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
1941
1942 2013-03-04  Uday Kiran  <udaykiran@motorola.com>
1943
1944         getPropertyValue for -webkit-text-stroke returns null, should compute the shorthand value
1945         https://bugs.webkit.org/show_bug.cgi?id=111018
1946
1947         Reviewed by Alexander Pavlov.
1948
1949         Test: fast/css/getPropertyValue-webkit-text-stroke.html
1950
1951         * css/StylePropertySet.cpp:
1952         (WebCore::StylePropertySet::getPropertyValue):
1953
1954 2013-03-04  Uday Kiran  <udaykiran@motorola.com>
1955
1956         getPropertyValue for -webkit-columns returns null, should compute the shorthand value
1957         https://bugs.webkit.org/show_bug.cgi?id=111011
1958
1959         Reviewed by Alexander Pavlov.
1960
1961         Test: fast/css/getPropertyValue-columns.html
1962
1963         * css/StylePropertySet.cpp:
1964         (WebCore::StylePropertySet::getPropertyValue):
1965
1966 2013-03-04  Vsevolod Vlasov  <vsevik@chromium.org>
1967
1968         Web Inspector: Do not accumulate file system files, add them to workspace immediately
1969         https://bugs.webkit.org/show_bug.cgi?id=111325
1970
1971         Reviewed by Pavel Feldman.
1972
1973         * inspector/front-end/FileSystemProjectDelegate.js:
1974         (WebInspector.FileSystemProjectDelegate.prototype.populate.fileLoaded):
1975         (WebInspector.FileSystemProjectDelegate.prototype.populate):
1976         * inspector/front-end/IsolatedFileSystem.js:
1977         (WebInspector.IsolatedFileSystem.prototype.innerCallback):
1978         (WebInspector.IsolatedFileSystem.prototype.requestFilesRecursive):
1979
1980 2013-03-04  Kinuko Yasuda  <kinuko@chromium.org>
1981
1982         Unreviewed Windows build fix attempt.
1983
1984         floor method is ambigious so explicitly specify the type.
1985
1986         * html/canvas/WebGLRenderingContext.cpp:
1987         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
1988
1989 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
1990
1991         AX: cellForColumnAndRow fails for tables with hidden table cells
1992         https://bugs.webkit.org/show_bug.cgi?id=110050
1993
1994         Reviewed by Tim Horton.
1995
1996         If a table had hidden cells, then accessibility code was being confused in a few ways.
1997         1) The cellForColumnAndRow method would return the wrong information since that was
1998            using the RenderTableSection to retrieve a cell, which did not have the same data as the AXTable
1999         2) The way we were adding children made it impossible to determine column and row range because we 
2000            would skip rows that had hidden children
2001         3) AccessibilityARIAGrid and AccessibilityTable were using different methods for cellForColumnAndRow
2002
2003         The fix does a few things to make things right:
2004         1) Always add an accessibility row, even if there are no visible cells in that row.
2005         2) Have one method for AXTable and AXARIAGrid for cellForColumnAndRow.
2006         3) Change cellForColumnAndRow to query the accessibility children rather than the RenderTableSection in determining the row, col info.
2007         4) cellForColumnAndRow should use unsigned values instead of int values.
2008
2009         Test: accessibility/table-with-hidden-head-section.html
2010
2011         * accessibility/AccessibilityARIAGrid.cpp:
2012         (WebCore):
2013         * accessibility/AccessibilityARIAGrid.h:
2014         (AccessibilityARIAGrid):
2015         * accessibility/AccessibilityARIAGridCell.cpp:
2016         (WebCore::AccessibilityARIAGridCell::rowIndexRange):
2017         (WebCore::AccessibilityARIAGridCell::columnIndexRange):
2018         * accessibility/AccessibilityARIAGridCell.h:
2019         (AccessibilityARIAGridCell):
2020         * accessibility/AccessibilityTable.cpp:
2021         (WebCore::AccessibilityTable::addChildren):
2022         (WebCore::AccessibilityTable::cellForColumnAndRow):
2023         * accessibility/AccessibilityTable.h:
2024         (WebCore):
2025         (AccessibilityTable):
2026         * accessibility/AccessibilityTableCell.cpp:
2027         (WebCore::AccessibilityTableCell::rowIndexRange):
2028         (WebCore::AccessibilityTableCell::columnIndexRange):
2029         * accessibility/AccessibilityTableCell.h:
2030         (AccessibilityTableCell):
2031         * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
2032         (webkitAccessibleTableGetColumnAtIndex):
2033         (webkitAccessibleTableGetRowAtIndex):
2034         (webkitAccessibleTableGetColumnExtentAt):
2035         (webkitAccessibleTableGetRowExtentAt):
2036         (webkitAccessibleTableGetColumnHeader):
2037         (webkitAccessibleTableGetRowHeader):
2038         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2039         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
2040         * rendering/RenderTableSection.h:
2041         (RenderTableSection):
2042         (WebCore::RenderTableSection::rowRendererAt):
2043
2044 2013-03-04  Arpita Bahuguna  <a.bah@samsung.com>
2045
2046         getAttribute does not behave correctly for mixed-case attributes on HTML elements
2047         https://bugs.webkit.org/show_bug.cgi?id=105713
2048
2049         Reviewed by Andreas Kling.
2050
2051         getAttribute() and getAttributeNode() APIs do not convert the
2052         passed attribute name to lowercase before comparing against the
2053         existing attributes.
2054         The specification however states that the passed name should
2055         be converted to ASCII lowercase before checking for the existence
2056         of the given attribute. [www.w3.org/TR/domcore/#dom-element-getattribute]
2057
2058         Test: fast/dom/Element/getAttribute-case-insensitivity.html
2059
2060         * dom/Element.h:
2061         (WebCore::ElementData::getAttributeItemIndex):
2062         getAttributeItemIndex() accepts a bool param 'shouldIgnoreAttributeCase'
2063         which specifies whether the attribute's case should be ignored
2064         before comparison. But inspite of this param's value we still carry
2065         out a case sensitive search.
2066         Have modified the same to convert the passed attribute's name to
2067         lowercase if 'shouldIgnoreAttributeCase' is true.
2068
2069 2013-03-04  Kunihiko Sakamoto  <ksakamoto@chromium.org>
2070
2071         [Chromium] Add runtime flag for font load events
2072         https://bugs.webkit.org/show_bug.cgi?id=111296
2073
2074         Reviewed by Kent Tamura.
2075
2076         Add a runtime feature flag for FontLoader interface (disabled by default),
2077         and enable ENABLE_FONT_LOAD_EVENTS build flag for chromium.
2078
2079         * bindings/generic/RuntimeEnabledFeatures.cpp:
2080         (WebCore):
2081         * bindings/generic/RuntimeEnabledFeatures.h:
2082         (RuntimeEnabledFeatures):
2083         (WebCore::RuntimeEnabledFeatures::setFontLoadEventsEnabled):
2084         (WebCore::RuntimeEnabledFeatures::fontLoadEventsEnabled):
2085
2086 2013-03-04  Brandon Jones  <bajones@google.com>
2087
2088         WEBGL_compressed_texture_atc implementation
2089         https://bugs.webkit.org/show_bug.cgi?id=110496
2090
2091         Reviewed by Kenneth Russell.
2092
2093         Test: webgl/conformance/extensions/webgl-compressed-texture-atc.html
2094
2095         Exposes the WEBGL_compressed_texture_atc extension, but is unverified since no desktop hardware supports
2096         the format that I am aware of. Should enable mobile ports to expose the format, however.
2097
2098         * CMakeLists.txt:
2099         * DerivedSources.make:
2100         * DerivedSources.pri:
2101         * GNUmakefile.list.am:
2102         * Target.pri:
2103         * WebCore.gypi:
2104         * WebCore.xcodeproj/project.pbxproj:
2105         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2106         (WebCore::toJS):
2107         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2108         (WebCore::toV8Object):
2109         * html/canvas/WebGLCompressedTextureATC.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2110         (WebCore):
2111         (WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
2112         (WebCore::WebGLCompressedTextureATC::~WebGLCompressedTextureATC):
2113         (WebCore::WebGLCompressedTextureATC::getName):
2114         (WebCore::WebGLCompressedTextureATC::create):
2115         (WebCore::WebGLCompressedTextureATC::supported):
2116         * html/canvas/WebGLCompressedTextureATC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2117         (WebCore):
2118         (WebGLCompressedTextureATC):
2119         * html/canvas/WebGLCompressedTextureATC.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2120         * html/canvas/WebGLExtension.h:
2121         * html/canvas/WebGLRenderingContext.cpp:
2122         (WebCore):
2123         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
2124         (WebCore::WebGLRenderingContext::getExtension):
2125         (WebCore::WebGLRenderingContext::getSupportedExtensions):
2126         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
2127         * html/canvas/WebGLRenderingContext.h:
2128         (WebCore):
2129         (WebGLRenderingContext):
2130         * platform/graphics/Extensions3D.h:
2131
2132
2133 2013-03-04  Eugene Klyuchnikov  <eustas@chromium.org>
2134
2135         Web Inspector: Exceptions when WebInspector run in hosted mode.
2136         https://bugs.webkit.org/show_bug.cgi?id=111326
2137
2138         Reviewed by Pavel Feldman.
2139
2140         There is bug in commands code generation in InspectorBackend.js
2141         As a consequence all protocol enums have wrong names and cause
2142         exception when refererenced.
2143
2144         Currently protocol enums are referenced only from NetworkManager.
2145
2146         Test: inspector/inspector-backend-commands-generation.html
2147
2148         * inspector/front-end/InspectorBackend.js:
2149         (InspectorBackendClass.prototype.loadFromJSONIfNeeded):
2150         Use static method to generate code.
2151         (InspectorBackendClass._generateCommands):
2152         Extracted from loadFromJSONIfNeeded. Typo fixed.
2153
2154 2013-03-04  Chris Rogers  <crogers@google.com>
2155
2156         Add audio hardware support for multi-channel output by implementing AudioDestinationNode.maxChannelCount
2157         https://bugs.webkit.org/show_bug.cgi?id=111385
2158
2159         Reviewed by James Robinson.
2160         
2161         See specification details for .maxChannelCount:
2162         https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioDestinationNode
2163         
2164         * Modules/webaudio/AudioDestinationNode.h:
2165         (WebCore::AudioDestinationNode::maxChannelCount):
2166         * Modules/webaudio/AudioDestinationNode.idl:
2167         * Modules/webaudio/AudioNode.h:
2168         Implement .maxChannelCount attribute.
2169         
2170         (AudioNode):
2171         * Modules/webaudio/DefaultAudioDestinationNode.h:
2172         * Modules/webaudio/DefaultAudioDestinationNode.cpp:
2173         (WebCore::DefaultAudioDestinationNode::initialize):
2174         (WebCore::DefaultAudioDestinationNode::createDestination):
2175         (WebCore::DefaultAudioDestinationNode::enableInput):
2176         Call to createDestination() now takes no argument.
2177         Instead we maintain a member variable for the input device ID.
2178         (WebCore::DefaultAudioDestinationNode::maxChannelCount):
2179         (WebCore::DefaultAudioDestinationNode::setChannelCount):
2180         Check port-specific hardware support for maxChannelCount(),
2181         and allow setting the channel count based on what the hardware
2182         supports.
2183         
2184         * platform/audio/AudioDestination.h:
2185         (AudioDestination):
2186         * platform/audio/chromium/AudioDestinationChromium.cpp:
2187         (WebCore::AudioDestination::maxChannelCount):
2188         (WebCore::AudioDestinationChromium::render):
2189         Call into chromium WebKit API: audioHardwareOutputChannels().
2190
2191         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2192         (WebCore::AudioDestination::maxChannelCount):
2193         Add basic implementation for maxChannelCount() only supporting stereo output.
2194
2195         * platform/audio/mac/AudioDestinationMac.cpp:
2196         (WebCore::AudioDestination::maxChannelCount):
2197         Add basic implementation for maxChannelCount() only supporting stereo output.
2198         Later, the mac port can support more than this with some small improvements to AudioDestinationMac.
2199
2200 2013-03-04  Adam Barth  <abarth@webkit.org>
2201
2202         Background HTML parser can rewind the tokenizer after end-of-file
2203         https://bugs.webkit.org/show_bug.cgi?id=111365
2204
2205         Reviewed by Eric Seidel.
2206
2207         Prior to this patch, it was possible to call didFailSpeculation after
2208         processing the end-of-file token because checkForSpeculationFailure
2209         didn't zero out m_tokenizer in some control paths.
2210
2211         This patch renames checkForSpeculationFailure to validateSpeculations
2212         and ensures that it always takes ownership of the main thread's
2213         HTMLTokenizer.
2214
2215         This patch also adds a number of ASSERTs to make sure the parser state
2216         machine stays in the correct configuration (e.g., that we don't have a
2217         main thread tokenizer while we're supposed to be tokenizing on the
2218         background thread).
2219
2220         Test: fast/parser/document-write-fighting-eof.html
2221
2222         * html/parser/BackgroundHTMLInputStream.cpp:
2223         (WebCore::BackgroundHTMLInputStream::rewindTo):
2224         * html/parser/BackgroundHTMLParser.cpp:
2225         (WebCore::BackgroundHTMLParser::append):
2226         * html/parser/HTMLDocumentParser.cpp:
2227         (WebCore::HTMLDocumentParser::validateSpeculations):
2228         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
2229         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
2230         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2231         * html/parser/HTMLDocumentParser.h:
2232         (HTMLDocumentParser):
2233
2234 2013-03-04  Tim 'mithro' Ansell  <mithro@mithis.com>
2235
2236         Make sure that clearOwnerNode also clears StyleResolver references (via didMutate).
2237         https://bugs.webkit.org/show_bug.cgi?id=109446
2238
2239         Reviewed by Eric Seidel.
2240
2241         Test: fast/css/stylesheet.innerHTML-calls-didmutate.html
2242
2243         * css/CSSStyleSheet.h:
2244
2245 2013-03-04  Kentaro Hara  <haraken@chromium.org>
2246
2247         Unreviewd build fix after r144701.
2248
2249         * platform/EventTracer.cpp:
2250         (WebCore::EventTracer::initialize):
2251
2252 2013-03-04  Min Qin  <qinmin@chromium.org>
2253
2254         Fix some style issues in RenderLayerCompositor
2255         https://bugs.webkit.org/show_bug.cgi?id=111369
2256
2257         Reviewed by Simon Fraser.
2258
2259         Just style fix, no test needed
2260
2261         * rendering/RenderLayerCompositor.cpp:
2262         (WebCore::RenderLayerCompositor::frameViewDidScroll):
2263         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
2264
2265 2013-03-04  Terry Anderson  <tdanderson@chromium.org>
2266
2267         Revert changes to RenderLayer::scrollByRecursively() that were added for gesture-scrolling
2268         https://bugs.webkit.org/show_bug.cgi?id=111007
2269
2270         Reviewed by Simon Fraser.
2271
2272         Due to http://trac.webkit.org/changeset/144519 landing, the changes made to RenderLayer in
2273         http://trac.webkit.org/changeset/142057,
2274         http://trac.webkit.org/changeset/140177, and  
2275         http://trac.webkit.org/changeset/142195
2276         are no longer necessary (as RenderLayer::scrollByRecursively() is not used for
2277         gesture-scrolling) and should be reverted.
2278
2279         No change in behavior, so no new tests needed.
2280
2281         * rendering/RenderLayer.cpp:
2282         (WebCore::RenderLayer::scrollByRecursively):
2283         * rendering/RenderLayer.h:
2284
2285 2013-03-04  Kentaro Hara  <haraken@chromium.org>
2286
2287         Unreviewed build fix after r144701.
2288
2289         * platform/EventTracer.cpp:
2290         (WebCore::EventTracer::initialize):
2291
2292 2013-03-04  Christian Biesinger  <cbiesinger@chromium.org>
2293
2294         REGRESSION (r143643): Buttons containing floats render differently
2295         https://bugs.webkit.org/show_bug.cgi?id=110933
2296
2297         Reviewed by Ojan Vafai.
2298
2299         Test: fast/forms/button-with-float.html
2300
2301         * rendering/RenderBlock.cpp:
2302         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
2303         Also include new flexbox as a renderer that needs to enclose
2304         overhanging floats. Flex boxes establish a block formatting context,
2305         so they need to contain floats:
2306         http://dev.w3.org/csswg/css3-flexbox/#flex-items
2307
2308 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
2309
2310         Support WebSpeech - Speech Synthesis
2311         https://bugs.webkit.org/show_bug.cgi?id=106742
2312
2313         Build fix.
2314
2315         * Modules/speech/SpeechSynthesis.cpp:
2316
2317 2013-03-04  Rafael Weinstein  <rafaelw@chromium.org>
2318
2319         Unreviewed, rolling out r144595.
2320         http://trac.webkit.org/changeset/144595
2321         https://bugs.webkit.org/show_bug.cgi?id=90341
2322
2323         Causing multiple crashes in fast/dom/Element/* tests (hits
2324         assert in Attr.cp:215)
2325
2326         * dom/Element.cpp:
2327         (WebCore::Element::setAttributeNode):
2328
2329 2013-02-26  Kentaro Hara  <haraken@chromium.org>
2330
2331         [chromium] Implement TRACE_EVENT macros for sampling profiling
2332         https://bugs.webkit.org/show_bug.cgi?id=110932
2333
2334         Reviewed by Adam Barth.
2335
2336         We are implementing TRACE_EVENT macros for sampling profiling.
2337         It works in the following mechanism:
2338
2339         - Chromium defines global state variables for sampling profiling.
2340         (i.e. g_trace_state0, g_trace_state1, g_trace_state2 in trace_event.h)
2341
2342         - WebKit gets the addresses of the global state variables at the
2343         initialization step. (i.e. EventTracer::initialize())
2344
2345         - WebKit updates the global states by using TRACE_EVENT_SAMPLING_STATE()
2346         macros every time WebKit changes its state. (e.g. DOM attribute
2347         getters/setters/methods)
2348
2349         - A sampling thread running in Chrome reads the global states
2350         periodically and visualizes the profiling results into about://tracing.
2351
2352         This patch implements (1) a WebKit API to get the addresses of
2353         the global states and (2) the TRACE_EVENT_SAMPLING_STATE() macro.
2354
2355         No tests. The sampling profiler is not enabled in Chrome by default.
2356         I manually inserted TRACE_EVENT_SAMPLING_STATE() macros and
2357         confirmed that the sampling profiling is working as expected.
2358
2359         * platform/EventTracer.cpp:
2360         (WebCore::EventTracer::initialize):
2361         (WebCore::EventTracer::getTraceCategoryEnabledFlag):
2362         (WebCore):
2363         * platform/EventTracer.h:
2364         (WebCore):
2365         (EventTracer):
2366         * platform/chromium/EventTracerChromium.cpp:
2367         (WebCore):
2368         (WebCore::EventTracer::initialize):
2369         * platform/chromium/TraceEvent.h:
2370
2371 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
2372
2373         Support WebSpeech - Speech Synthesis
2374         https://bugs.webkit.org/show_bug.cgi?id=106742
2375
2376         Reviewed by Simon Fraser.
2377
2378         Enable speech synthesis for the Mac.
2379
2380         * Configurations/FeatureDefines.xcconfig:
2381
2382 2013-03-04  Ruslan Abdikeev  <aruslan@chromium.org>
2383
2384         <link rel="apple-touch-icon"> tag is not honored on CNN.com, workflowy.com etc
2385         https://bugs.webkit.org/show_bug.cgi?id=109061
2386
2387         Reviewed by Adam Barth.
2388
2389         Test: fast/dom/icon-url-list-apple-touch.html
2390
2391         Added iconTypes parameter to Document::iconURLs().
2392         Added Document::shortcutIconURLs() with original semantics of iconURLs().
2393         Fixed IconController.cpp to provide iconTypesMask to iconURLs().
2394         Renamed iconTypes to iconTypesMask to make the meaning clearer.
2395
2396         * WebCore.exp.in:
2397         * dom/Document.cpp:
2398         (WebCore::Document::shortcutIconURLs):
2399         (WebCore):
2400         (WebCore::Document::iconURLs):
2401         * dom/Document.h:
2402         (Document):
2403         * loader/icon/IconController.cpp:
2404         (WebCore::IconController::iconURL):
2405         (WebCore::IconController::urlsForTypes):
2406         * testing/Internals.cpp:
2407         (WebCore::Internals::iconURLs):
2408         (WebCore::Internals::shortcutIconURLs):
2409         (WebCore):
2410         (WebCore::Internals::allIconURLs):
2411         * testing/Internals.h:
2412         * testing/Internals.idl:
2413
2414 2013-02-27  Jeffrey Pfau  <jpfau@apple.com>
2415
2416         Cache partitioning does not affect iframe MainResources
2417         https://bugs.webkit.org/show_bug.cgi?id=111022
2418
2419         Reviewed by David Kilzer.
2420
2421         Set the partition of a main resource request if in a subframe.
2422
2423         Test: http/tests/cache/partitioned-cache-iframe.html
2424
2425         * loader/FrameLoader.cpp:
2426         (WebCore::FrameLoader::loadURL):
2427
2428 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
2429
2430         AX: user agent shadow roots for plugins should be 'accessible'
2431         https://bugs.webkit.org/show_bug.cgi?id=111339
2432
2433         Reviewed by Tim Horton.
2434
2435         If a plugin element uses a user agent shadow element, we should make that shadow element
2436         into a button with the title and subtitle put together, and use that as the label. This 
2437         will probably be the best accessibility experience.
2438
2439         * html/HTMLPlugInImageElement.cpp:
2440         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
2441
2442 2013-03-04  Alok Priyadarshi  <alokp@chromium.org>
2443
2444         [chromium] Form controls on composited layers are not painted properly
2445         https://bugs.webkit.org/show_bug.cgi?id=111366
2446
2447         Reviewed by James Robinson.
2448
2449         Set PlatformContextSkia::m_drawingToImageBuffer which is used as a hint to properly blend GDI-painted bitmap.
2450
2451         * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
2452         (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
2453
2454 2013-03-04  Simon Fraser  <simon.fraser@apple.com>
2455
2456         Give ViewportConstraints classes copy constructors
2457         https://bugs.webkit.org/show_bug.cgi?id=111367
2458
2459         Reviewed by Beth Dakin.
2460         
2461         Downstream code requires that ViewportConstraints objects have
2462         copy constructors, so add them.
2463         
2464         Also clean up some redundant initialization of stack objects
2465         in RenderLayerCompositor.
2466
2467         No behavior change.
2468
2469         * page/scrolling/ScrollingConstraints.h:
2470         (WebCore::ViewportConstraints::ViewportConstraints):
2471         (ViewportConstraints):
2472         (WebCore::FixedPositionViewportConstraints::FixedPositionViewportConstraints):
2473         (FixedPositionViewportConstraints):
2474         (WebCore::StickyPositionViewportConstraints::StickyPositionViewportConstraints):
2475         (StickyPositionViewportConstraints):
2476         * rendering/RenderLayerCompositor.cpp:
2477         (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
2478         (WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
2479
2480 2013-03-04  Roger Fong  <roger_fong@apple.com>
2481
2482         Unreviewed. AppleWin build fix.
2483
2484         * html/parser/XSSAuditor.cpp:
2485         (WebCore::isSemicolonSeparatedAttribute):
2486
2487 2013-03-04  Andreas Kling  <akling@apple.com>
2488
2489         CSSParser: Avoid temporary String when parsing hex colors.
2490         <http://webkit.org/b/111341>
2491
2492         Reviewed by Anders Carlsson.
2493
2494         Templatize CSSParser::fastParseColor() so we can pass a CSSParserString as the color name.
2495         This avoids creating a temporary WTF::String from the parser string.
2496
2497         * css/CSSParser.cpp:
2498         (WebCore::CSSParser::fastParseColor):
2499         * css/CSSParser.h:
2500         * css/CSSParserValues.h:
2501         (CSSParserString):
2502
2503 2013-03-04  Julien Chaffraix  <jchaffraix@webkit.org>
2504
2505         [CSS Grid Layout] Add parsing for grid-{start|before}
2506         https://bugs.webkit.org/show_bug.cgi?id=110988
2507
2508         Reviewed by Tony Chang.
2509
2510         Test: fast/css-grid-layout/grid-item-start-before-get-set.html
2511
2512         Refactored how we store internally grid-{row|column} to be based on grid-{before|start}.
2513         This is required as grid-{row|column} are shorthands for resp. grid-{before|after} and grid-{start|end}
2514         in the specification and will also be in the code. That means a lot of methods were renamed to be more
2515         aligned with the new design.
2516
2517         * css/CSSComputedStyleDeclaration.cpp:
2518         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2519         * css/CSSParser.cpp:
2520         (WebCore::CSSParser::parseValue):
2521         * css/CSSProperty.cpp:
2522         (WebCore::CSSProperty::isInheritedProperty):
2523         * css/CSSPropertyNames.in:
2524         * css/StyleResolver.cpp:
2525         (WebCore::StyleResolver::applyProperty):
2526         Added the code to parse, apply and get back the new properties. Also
2527         some renaming after the internal naming change below.
2528
2529         * rendering/RenderGrid.cpp:
2530         (WebCore::RenderGrid::maximumIndexInDirection):
2531         (WebCore::RenderGrid::placeItemsOnGrid):
2532         (WebCore::RenderGrid::autoPlacementMajorAxisPositionForChild):
2533         (WebCore::RenderGrid::autoPlacementMinorAxisPositionForChild):
2534         * rendering/style/RenderStyle.h:
2535         * rendering/style/StyleGridItemData.cpp:
2536         (WebCore::StyleGridItemData::StyleGridItemData):
2537         * rendering/style/StyleGridItemData.h:
2538         (WebCore::StyleGridItemData::operator==):
2539         Updated the naming now that we manipulate grid-{before|start} instead of grid-{row|column}.
2540
2541 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
2542
2543         WebSpeech: change voiceURI to voice
2544         https://bugs.webkit.org/show_bug.cgi?id=110773
2545
2546         Reviewed by Tim Horton.
2547
2548         Change the voiceURI property to a voice property that takes a SpeechSynthesisVoice.
2549         This was recently added to the errata of the WebSpeech spec.
2550
2551         Test: platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html
2552
2553         * Modules/speech/SpeechSynthesisUtterance.cpp:
2554         (WebCore):
2555         (WebCore::SpeechSynthesisUtterance::voice):
2556         (WebCore::SpeechSynthesisUtterance::setVoice):
2557         * Modules/speech/SpeechSynthesisUtterance.h:
2558         (SpeechSynthesisUtterance):
2559         * Modules/speech/SpeechSynthesisUtterance.idl:
2560         * Modules/speech/SpeechSynthesisVoice.h:
2561         (WebCore::SpeechSynthesisVoice::platformVoice):
2562         (SpeechSynthesisVoice):
2563         * platform/PlatformSpeechSynthesisUtterance.cpp:
2564         (WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):
2565         * platform/PlatformSpeechSynthesisUtterance.h:
2566         (WebCore::PlatformSpeechSynthesisUtterance::voice):
2567         (WebCore::PlatformSpeechSynthesisUtterance::setVoice):
2568         (PlatformSpeechSynthesisUtterance):
2569         * platform/mac/PlatformSpeechSynthesizerMac.mm:
2570         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
2571
2572 2013-03-04  Victor Costan <costan@gmail.com>
2573
2574         Filename passed to FormData.append() takes precedence over filename in
2575         File.
2576         https://bugs.webkit.org/show_bug.cgi?id=111255
2577
2578         Reviewed by Alexey Proskuryakov.
2579
2580         Test: http/tests/local/formdata/send-form-data-with-filename.html
2581
2582         * platform/network/FormData.cpp:
2583         (WebCore::FormData::appendKeyValuePairItems): changed to implement the
2584         behavior in the XMLHttpRequest W3C spec.
2585
2586 2013-03-04  Alexis Hetu  <sugoi@chromium.org>
2587
2588         Canvas and DOM go out of sync
2589         https://bugs.webkit.org/show_bug.cgi?id=107701
2590
2591         Reviewed by Simon Fraser.
2592
2593         Test: fast/canvas/canvas-overflow-hidden-animation.html
2594
2595         Added an update of the current compositor from the layer's stacking
2596         container when the layer itself isn't a stacking container.
2597
2598         * rendering/RenderLayerBacking.cpp:
2599         (WebCore::RenderLayerBacking::updateAfterLayout):
2600         Added an update of the stacking container of the owning layer of the
2601         layer backing when the owning layer isn't a stacking container itself.
2602
2603 2013-03-04  Alexey Proskuryakov  <ap@apple.com>
2604
2605         Small BlobResourceHandle cleanup
2606         https://bugs.webkit.org/show_bug.cgi?id=111352
2607
2608         Reviewed by Sam Weinig.
2609
2610         1. Don't use PassRefPtr<BlobStorageData> when ownership is not being passed.
2611         2. Added OVERRIDE to some functions.
2612         3. Added const to ResourceHandle::firstRequest().
2613
2614         * platform/network/BlobRegistryImpl.cpp:
2615         (WebCore::loadResourceSynchronously):
2616         (WebCore::BlobRegistryImpl::createResourceHandle):
2617         (WebCore::BlobRegistryImpl::getBlobDataFromURL):
2618         * platform/network/BlobRegistryImpl.h:
2619         (BlobRegistryImpl):
2620         * platform/network/BlobResourceHandle.cpp:
2621         (WebCore::BlobResourceHandle::createAsync):
2622         (WebCore::BlobResourceHandle::loadResourceSynchronously):
2623         * platform/network/BlobResourceHandle.h:
2624         (BlobResourceHandle):
2625         * platform/network/FormData.cpp:
2626         (WebCore::appendBlobResolved):
2627         * platform/network/ResourceHandle.cpp:
2628         (WebCore::ResourceHandle::firstRequest):
2629         * platform/network/ResourceHandle.h:
2630         (ResourceHandle):
2631
2632 2013-03-04  Vsevolod Vlasov  <vsevik@chromium.org>
2633
2634         Web Inspector: Introduce WebInspector.EventTarget interface for interfaces that dispatch events.
2635         https://bugs.webkit.org/show_bug.cgi?id=111320
2636
2637         Reviewed by Pavel Feldman.
2638
2639         * inspector/front-end/Object.js:
2640         (WebInspector.EventTarget):
2641         (WebInspector.EventTarget.prototype.addEventListener):
2642         (WebInspector.EventTarget.prototype.removeEventListener):
2643         (WebInspector.EventTarget.prototype.removeAllListeners):
2644         (WebInspector.EventTarget.prototype.hasEventListeners):
2645         (WebInspector.EventTarget.prototype.dispatchEventToListeners):
2646         * inspector/front-end/ResourceScriptMapping.js:
2647         * inspector/front-end/UISourceCode.js:
2648         * inspector/front-end/Workspace.js:
2649         (WebInspector.ProjectDelegate.prototype.searchInFileContent):
2650
2651 2013-03-04  Tom Sepez  <tsepez@chromium.org>
2652
2653         XSSAuditor bypass with --> comment syntax.
2654         https://bugs.webkit.org/show_bug.cgi?id=111349
2655
2656         Reviewed by Adam Barth.
2657
2658         Test: http/tests/security/xssAuditor/open-iframe-src-03.html
2659
2660         * html/parser/XSSAuditor.cpp:
2661         (WebCore::isTerminatingCharacter):
2662         Adds ">" to the list of terminating characters, so that comments of
2663         the form --> end the snippet we seek to match.
2664
2665 2013-03-04  Vsevolod Vlasov  <vsevik@chromium.org>
2666
2667         Web Inspector: Modal dialogs sometimes lose focus.
2668         https://bugs.webkit.org/show_bug.cgi?id=111317
2669
2670         Reviewed by Pavel Feldman.
2671
2672         setCurrentFocusElement doesn't give focus to an element anymore
2673         if modal glass pane is shown and element is not inside it.
2674
2675         * inspector/front-end/Dialog.js:
2676         (WebInspector.Dialog):
2677         (WebInspector.Dialog.prototype._hide):
2678         * inspector/front-end/InspectorView.js:
2679         (WebInspector.InspectorView.prototype.defaultFocusedElement):
2680         * inspector/front-end/ScriptsPanel.js:
2681         (WebInspector.ScriptsPanel.prototype.defaultFocusedElement):
2682         * inspector/front-end/UIUtils.js:
2683         (WebInspector.GlassPane):
2684         (WebInspector.GlassPane.prototype.dispose):
2685         (WebInspector.setCurrentFocusElement):
2686         * inspector/front-end/dialog.css:
2687
2688 2013-03-04  Roger Fong  <roger_fong@apple.com>
2689
2690         Unreviewed. AppleWin build fix.
2691
2692         * WebCore.vcxproj/WebCore.vcxproj:
2693
2694 2013-03-04  Dan Carney  <dcarney@google.com>
2695
2696         [v8] add isolate parameter to heap statistics calls
2697         https://bugs.webkit.org/show_bug.cgi?id=111308
2698
2699         Reviewed by Jochen Eisinger.
2700
2701         No new tests.
2702
2703         * bindings/v8/ScriptGCEvent.cpp:
2704         (WebCore::ScriptGCEvent::getHeapSize):
2705         (WebCore::ScriptGCEvent::getUsedHeapSize):
2706         * bindings/v8/V8AdaptorFunction.cpp:
2707         (WebCore::V8AdaptorFunction::getTemplate):
2708         * bindings/v8/V8GCController.cpp:
2709         (WebCore::V8GCController::checkMemoryUsage):
2710
2711 2013-03-04  Jochen Eisinger  <jochen@chromium.org>
2712
2713         [chromium] remove deprecated hyphenation methods from Platform
2714         https://bugs.webkit.org/show_bug.cgi?id=111101
2715
2716         Reviewed by Adam Barth.
2717
2718         * platform/text/chromium/Hyphenation.cpp:
2719         (WebCore::canHyphenate):
2720         (WebCore::lastHyphenLocation):
2721
2722 2013-03-04  Benjamin Poulain  <benjamin@webkit.org>
2723
2724         Use initialization from literal for MediaFeatureNames
2725         https://bugs.webkit.org/show_bug.cgi?id=111283
2726
2727         Reviewed by Andreas Kling.
2728
2729         * css/MediaFeatureNames.cpp:
2730         (WebCore::MediaFeatureNames::init):
2731         Initialization from literal is faster and use less memory. The names are
2732         defined statically in MediaFeatureNames.h.
2733
2734         Also use the NotNull placement new to avoid a branch on silly allocators.
2735
2736 2013-03-04  Joshua Bell  <jsbell@chromium.org>
2737
2738         [V8] Unreviewed. Rebaselined run-bindings-tests following r144617
2739
2740         * bindings/scripts/test/V8/V8Float64Array.cpp:
2741         (WebCore::ConfigureV8Float64ArrayTemplate):
2742         (WebCore::V8Float64Array::GetTemplate):
2743         * bindings/scripts/test/V8/V8Float64Array.h:
2744         (V8Float64Array):
2745         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2746         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
2747         (WebCore::TestActiveDOMObjectV8Internal::TestActiveDOMObjectDomainSafeFunctionSetter):
2748         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
2749         (WebCore::V8TestActiveDOMObject::GetTemplate):
2750         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2751         (V8TestActiveDOMObject):
2752         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2753         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
2754         (WebCore::V8TestCustomNamedGetter::GetTemplate):
2755         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2756         (V8TestCustomNamedGetter):
2757         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2758         (WebCore::ConfigureV8TestEventConstructorTemplate):
2759         (WebCore::V8TestEventConstructor::GetTemplate):
2760         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2761         (V8TestEventConstructor):
2762         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2763         (WebCore::ConfigureV8TestEventTargetTemplate):
2764         (WebCore::V8TestEventTarget::GetTemplate):
2765         * bindings/scripts/test/V8/V8TestEventTarget.h:
2766         (V8TestEventTarget):
2767         * bindings/scripts/test/V8/V8TestException.cpp:
2768         (WebCore::ConfigureV8TestExceptionTemplate):
2769         (WebCore::V8TestException::GetTemplate):
2770         * bindings/scripts/test/V8/V8TestException.h:
2771         (V8TestException):
2772         * bindings/scripts/test/V8/V8TestInterface.cpp:
2773         (WebCore::ConfigureV8TestInterfaceTemplate):
2774         (WebCore::V8TestInterface::GetTemplate):
2775         * bindings/scripts/test/V8/V8TestInterface.h:
2776         (V8TestInterface):
2777         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2778         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
2779         (WebCore::V8TestMediaQueryListListener::GetTemplate):
2780         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2781         (V8TestMediaQueryListListener):
2782         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2783         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
2784         (WebCore::ConfigureV8TestNamedConstructorTemplate):
2785         (WebCore::V8TestNamedConstructor::GetTemplate):
2786         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2787         (V8TestNamedConstructorConstructor):
2788         (V8TestNamedConstructor):
2789         * bindings/scripts/test/V8/V8TestNode.cpp:
2790         (WebCore::ConfigureV8TestNodeTemplate):
2791         (WebCore::V8TestNode::GetTemplate):
2792         * bindings/scripts/test/V8/V8TestNode.h:
2793         (V8TestNode):
2794         * bindings/scripts/test/V8/V8TestObj.cpp:
2795         (WebCore::ConfigureV8TestObjTemplate):
2796         (WebCore::V8TestObj::GetTemplate):
2797         (WebCore::V8TestObj::installPerContextPrototypeProperties):
2798         * bindings/scripts/test/V8/V8TestObj.h:
2799         (V8TestObj):
2800         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2801         (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
2802         (WebCore::V8TestOverloadedConstructors::GetTemplate):
2803         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
2804         (V8TestOverloadedConstructors):
2805         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2806         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
2807         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
2808         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2809         (V8TestSerializedScriptValueInterface):
2810         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
2811         (WebCore::ConfigureV8TestTypedefsTemplate):
2812         (WebCore::V8TestTypedefs::GetTemplate):
2813         * bindings/scripts/test/V8/V8TestTypedefs.h:
2814         (V8TestTypedefs):
2815
2816 2013-03-04  Tony Chang  <tony@chromium.org>
2817
2818         Unreviewed, rolling out r144562.
2819         http://trac.webkit.org/changeset/144562
2820         https://bugs.webkit.org/show_bug.cgi?id=85642
2821
2822         Caused KeyPadInsert faluires in webkit_unittests
2823
2824         * platform/chromium/KeyCodeConversionGtk.cpp:
2825         (WebCore::windowsKeyCodeForKeyEvent):
2826
2827 2013-03-04  Uday Kiran  <udaykiran@motorola.com>
2828
2829         getComputedStyle not implemented for -webkit-columns shorthand
2830         https://bugs.webkit.org/show_bug.cgi?id=111236
2831
2832         Reviewed by Alexis Menard.
2833
2834         Implement getComputedStyle for -webkit-columns shorthand.
2835
2836         Test: fast/css/getComputedStyle/getComputedStyle-webkit-columns-shorthand.html
2837
2838         * css/CSSComputedStyleDeclaration.cpp:
2839         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2840
2841 2013-03-04  Levi Weintraub  <leviw@chromium.org>
2842
2843         Add support for 8 bit TextRuns on Chromium Linux & Mac
2844         https://bugs.webkit.org/show_bug.cgi?id=99393
2845
2846         Reviewed by Eric Seidel.
2847
2848         Adding support for 8 bit TextRuns for Mac and Linux Chromium. To accomplish this,
2849         8 bit text runs are upconverted to 16 bit in the complex text path during string
2850         normalization, as HarfBuzz operates on UChars.
2851
2852         Windows has platfom assumptions that TextRuns are 16 bit that need to be addressed
2853         before enabling this optimization.
2854
2855         No new tests. No change in behavior.
2856
2857         (WebCore::HarfBuzzShaperBase::setNormalizedBuffer):
2858         * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
2859         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
2860         (WebCore::normalizeCharacters):
2861         (WebCore::HarfBuzzShaper::HarfBuzzShaper):
2862
2863 2013-03-04  Alexis Menard  <alexis@webkit.org>
2864
2865         transition-property property and transition shorthand property doesn't accept "all, all".
2866         https://bugs.webkit.org/show_bug.cgi?id=111201
2867
2868         Reviewed by Simon Fraser.
2869
2870         Relax the parsing of transition-property to allow all, all as a value.
2871         It is not very useful per say but it is possible by the spec and we
2872         align with Firefox, IE and Opera.
2873
2874         Test: LayoutTests/transitions/transitions-parsing.html
2875
2876         * css/CSSParser.cpp:
2877         (WebCore::CSSParser::parseAnimationProperty):
2878
2879 2013-03-04  Min Qin  <qinmin@chromium.org>
2880
2881         Don't apply page scale to clipRect if applyPageScaleFactorInCompositor is set to true
2882         https://bugs.webkit.org/show_bug.cgi?id=111229
2883
2884         Reviewed by Simon Fraser.
2885
2886         If applyPageScaleFactorInCompositor is set to true, webcore should use css coordinates.
2887         As a result, we shouldn't apply page scale to clipRect in RenderLayerCompositor.
2888         Layout tests set the flag to false, so we don't have anything to test against.
2889
2890         * rendering/RenderLayerCompositor.cpp:
2891         (WebCore::RenderLayerCompositor::addToOverlapMap):
2892
2893 2013-03-04  Ian Vollick  <vollick@chromium.org>
2894
2895         ASSERTION FAILED: m_clipRectsCache->m_respectingOverflowClip[clipRectsType] == (clipRectsContext.respectOverflowClip == RespectOverflowClip) in RenderLayer.
2896         https://bugs.webkit.org/show_bug.cgi?id=108257
2897
2898         Reviewed by David Hyatt.
2899
2900         With composited scrolling we paint both with and without respecting
2901         overflow clip. To prevent collisions in the clip cache, and to prevent
2902         throwing away cached clips unnecessarily, we keep two copies of the
2903         clip cache -- one for when overflow clip is respected, and one for
2904         when it isn't.
2905
2906         No new tests. Covered by existing tests (in debug):
2907           compositing/overflow/automatically-opt-into-composited-scrolling.html
2908           compositing/overflow/composited-scrolling-creates-a-stacking-container.html
2909
2910         * rendering/RenderLayer.cpp:
2911         (WebCore::RenderLayer::updateClipRects):
2912           No longer asserts that our 'respect overflow clip' status is
2913           consistent. It also gets and sets the clip cache using the clip rect
2914           context rather than just the clip rect type.
2915         (WebCore::RenderLayer::calculateClipRects):
2916         (WebCore::RenderLayer::parentClipRects):
2917         (WebCore::RenderLayer::clearClipRects):
2918         (WebCore::ClipRectsCache::ClipRectsCache):
2919         (WebCore::ClipRectsCache::getClipRects):
2920         (WebCore::ClipRectsCache::setClipRects):
2921         (WebCore::ClipRectsCache::getIndex):
2922           Get and set the cached clip rects using the context rather than
2923           type.
2924         (WebCore::RenderLayer::clipRects):
2925           We now cache twice as many clip rects.
2926         * rendering/RenderLayerBacking.cpp:
2927         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2928           ShouldRespectOverflowClip was moved out of RenderLayer.
2929
2930         * rendering/RenderLayer.cpp:
2931         (WebCore::RenderLayer::updateClipRects):
2932         (WebCore::RenderLayer::calculateClipRects):
2933         (WebCore::RenderLayer::parentClipRects):
2934         (WebCore::RenderLayer::clearClipRects):
2935         * rendering/RenderLayer.h:
2936         (WebCore::ClipRectsCache::ClipRectsCache):
2937         (WebCore::ClipRectsCache::getClipRects):
2938         (WebCore::ClipRectsCache::setClipRects):
2939         (ClipRectsCache):
2940         (WebCore::ClipRectsCache::getIndex):
2941         (WebCore::RenderLayer::clipRects):
2942         * rendering/RenderLayerBacking.cpp:
2943         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2944
2945 2013-03-04  Aaron Colwell  <acolwell@chromium.org>
2946
2947         Remove unused return value from SourceBufferPrivate::abort() and WebSourceBuffer::abort().
2948         https://bugs.webkit.org/show_bug.cgi?id=111195
2949
2950         Reviewed by Adam Barth.
2951
2952         No new tests. No user visible behavior changed.
2953
2954         * platform/graphics/SourceBufferPrivate.h:
2955         (SourceBufferPrivate):
2956
2957 2013-03-04  David Hyatt  <hyatt@apple.com>
2958
2959         [New Multicolumn] Eliminate the unique multicolumn flow thread style creation function
2960         https://bugs.webkit.org/show_bug.cgi?id=111338
2961
2962         Reviewed by Allan Jensen.
2963
2964         There is nothing special about a multi-column flow thread style now, so we can just
2965         use the existing anonymous style creation function.
2966
2967         * rendering/RenderMultiColumnBlock.cpp:
2968         (WebCore):
2969         (WebCore::RenderMultiColumnBlock::addChild):
2970
2971 2013-03-04  Mario Sanchez Prada  <mario.prada@samsung.com>
2972
2973         [GTK] WebCore::returnString is unsafe and should be removed!
2974         https://bugs.webkit.org/show_bug.cgi?id=110423
2975
2976         Reviewed by Martin Robinson.
2977
2978         Remove returnString() and replace it in callers with a new
2979         function that will cache and return the values of string
2980         properties for ATK interfaces in the private section of the
2981         wrapper AtkObject WebKitAccessible.
2982
2983         * accessibility/atk/WebKitAccessibleUtil.cpp: Remove returnString().
2984         * accessibility/atk/WebKitAccessibleUtil.h: Ditto.
2985
2986         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2987         (_WebKitAccessiblePrivate): New private structure to store cached
2988         values of string property for the different ATK interfaces.
2989         (cacheAndReturnAtkProperty): New helper function to make sure the
2990         returned const gchar* value is previously cached in the private
2991         section of the wrapper AtkObject.
2992         (webkitAccessibleGetName): Use the new helper function.
2993         (webkitAccessibleGetDescription): Ditto.
2994         (webkitAccessibleInit): Initialize pointer to private structure.
2995         (webkitAccessibleFinalize): Remove unneeded code.
2996         (webkitAccessibleClassInit): Add private struct to class type/
2997         * accessibility/atk/WebKitAccessibleWrapperAtk.h:
2998         (_WebKitAccessible): New member pointing to the private structure,
2999         made the new helper function cacheAndReturnAtkProperty() available
3000         to external callers (implementation files for ATK interfaces).
3001         (AtkCachedProperty): New enum to allow reusing code when calling
3002         cacheAndReturnAtkProperty() to cache and return different properties.
3003
3004         * accessibility/atk/WebKitAccessibleInterfaceAction.cpp:
3005         (webkitAccessibleActionGetKeybinding): Replace calls to returnString()
3006         with calls to the new helper function cacheAndReturnAtkProperty().
3007         (webkitAccessibleActionGetName): Ditto.
3008         * accessibility/atk/WebKitAccessibleInterfaceDocument.cpp:
3009         (documentAttributeValue): Ditto.
3010         (webkitAccessibleDocumentGetLocale): Ditto.
3011         * accessibility/atk/WebKitAccessibleInterfaceImage.cpp:
3012         (webkitAccessibleImageGetImageDescription): Ditto.
3013
3014         Remove returnString() from WebKitAccessibleHyperlink (which is not
3015         an AtkObject, but a GObject) as well, replacing it in callers with
3016         simple code that will cache and return the required values in the
3017         private section of these kind of objects.
3018
3019         * accessibility/atk/WebKitAccessibleHyperlink.cpp:
3020         (_WebKitAccessibleHyperlinkPrivate): Added two new fields to cache
3021         string values for the key binding and name properties from the
3022         AtkAction interface, which is implemented by AtkHyperlink.
3023         (webkitAccessibleHyperlinkActionGetKeybinding): Cache the string
3024         value for the key binding before returning a const gchar* pointer.
3025         (webkitAccessibleHyperlinkActionGetName): Ditto.
3026         (webkitAccessibleHyperlinkGetURI): Do not cache the URI here, as
3027         this function returns a gchar* that will be owned by the caller.
3028
3029 2013-03-04  peavo@outlook.com  <peavo@outlook.com>
3030
3031         [Curl] Compile fix after r144216
3032         https://bugs.webkit.org/show_bug.cgi?id=111305
3033
3034         Reviewed by Brent Fulgham.
3035
3036         * platform/network/curl/ResourceRequest.h:
3037         (WebCore::ResourceRequest::cfURLRequest): Added new parameter.
3038
3039 2013-03-03  David Hyatt  <hyatt@apple.com>
3040
3041         [New Multicolumn] Make sure region styling works for columns inside regions.
3042         https://bugs.webkit.org/show_bug.cgi?id=111276
3043
3044         Reviewed by Sam Weinig.
3045
3046         Test: fast/regions/region-styling-in-columns.html
3047
3048         * rendering/RenderFlowThread.cpp:
3049         (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
3050         (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
3051         * rendering/RenderFlowThread.h:
3052         (CurrentRenderFlowThreadMaintainer):
3053         Fix the CurrentRenderFlowThreadMaintainer so that it saves off the old render flow thread
3054         and restores it when done. This effectively makes flow thread layout a push/pop stack,
3055         since with in-flow threads, this is allowed. We assert that a nested flow thread is
3056         in-flow to preserve the invariant that you can't nest CSS Regions flow thread.
3057
3058         * rendering/RenderRegion.cpp:
3059         (WebCore::RenderRegion::computeChildrenStyleInRegion):
3060         Add isInFlowRenderFlowThread() to the anonymous check to make sure a style gets made
3061         for the nested flow thread.
3062
3063 2013-03-04  Andrey Lushnikov  <lushnikov@chromium.org>
3064
3065         Web Inspector: WebInspector.AceTextEditor throws a warning
3066         https://bugs.webkit.org/show_bug.cgi?id=111315
3067
3068         Reviewed by Pavel Feldman.
3069
3070         Add WebInspector.AceTextEditor to externs.js to suppress closure
3071         compilation warning.
3072
3073         No new tests: no change in behaviour.
3074
3075         * inspector/front-end/externs.js:
3076         (WebInspector.AceTextEditor):
3077
3078 2013-03-04  Antoine Quint  <graouts@apple.com>
3079
3080         Fix debug build under certain configurations, cause was
3081         http://trac.webkit.org/changeset/144624.
3082
3083         * inspector/InspectorController.cpp:
3084         (WebCore::InspectorController::InspectorController):
3085         * inspector/InspectorLayerTreeAgent.cpp:
3086         (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
3087         * inspector/InspectorLayerTreeAgent.h:
3088         (WebCore):
3089         (WebCore::InspectorLayerTreeAgent::create):
3090         (InspectorLayerTreeAgent):
3091
3092 2013-03-04  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3093
3094         [Qt] REGRESSION(r141240) Crash in PluginPackage::fetchInfo
3095         https://bugs.webkit.org/show_bug.cgi?id=111322
3096
3097         Reviewed by Simon Hausmann.
3098
3099         Do not try to load blacklisted plugins.
3100
3101         * plugins/qt/PluginPackageQt.cpp:
3102         (WebCore::PluginPackage::fetchInfo):
3103
3104 2013-03-04  Alexis Menard  <alexis@webkit.org>
3105
3106         transition properties can't be found in CSSStyleDeclaration
3107         https://bugs.webkit.org/show_bug.cgi?id=110011
3108
3109         Reviewed by Antti Koivisto.
3110
3111         The previous approach for handling the unprefixing was to alias the
3112         unprefixed properties with the prefixed ones in CSSPropertyNames.in.
3113         Unfortunately it will alias the properties in the parsing code which will just
3114         identically parse the two versions. This means that when we populate StylePropertySet
3115         we do not have information whether we just parsed the prefixed, the
3116         unprefixed properties or we parsed both. The patch takes another
3117         approach by creating two distinct sets of properties (unprefixed and
3118         prefixed). Each properties have their own id and we now handle them in
3119         the parsing code as disctints properties and add both versions to the
3120         declared style. In order to avoid properties getting out of sync, 
3121         this patch adds few facilities to StylePropertySet to update the
3122         prefixed and the unprefixed entries. Finally the style resolution
3123         happens only for the prefixed version (to limit the size of this patch)
3124         and the unprefixed versions are not resolved. This is to avoid creating
3125         the animation objects twice for the resolved style.
3126
3127         Test : transitions/transitions-parsing.html
3128
3129         * css/CSSComputedStyleDeclaration.cpp:
3130         (WebCore):
3131         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3132         * css/CSSParser.cpp:
3133         (WebCore::CSSParser::addPropertyWithPrefixingVariant): Always add the
3134         prefixed and the unprefixed property even if only one is specified.
3135         (WebCore):
3136         (WebCore::CSSParser::parseValue):
3137         (WebCore::CSSParser::parseTransitionShorthand): Add both prefixed and
3138         unprefixed longhands to the declarated style.
3139         (WebCore::CSSParser::parseAnimationProperty):
3140         * css/CSSParser.h:
3141         (CSSParser):
3142         * css/CSSProperty.cpp:
3143         (WebCore::CSSProperty::isInheritedProperty):
3144         * css/CSSProperty.h:
3145         (WebCore:: prefixingVariantForPropertyId): This function takes a given
3146         property id and returns its prefixed or unprefixed id if it exists. If
3147         not it returns the same id.
3148         (WebCore):
3149         * css/CSSPropertyNames.in:
3150         * css/StylePropertySet.cpp:
3151         (WebCore::StylePropertySet::getPropertyValue):
3152         (WebCore::StylePropertySet::removeShorthandProperty):
3153         (WebCore::StylePropertySet::removeProperty):
3154         (WebCore::StylePropertySet::removeProperty): Remove
3155         also the prefixed or unprefixed shorthand if it exists.
3156         (WebCore):
3157         (WebCore::StylePropertySet::setProperty):
3158         (WebCore::StylePropertySet:: appendPrefixingVariantProperty):
3159         (WebCore::StylePropertySet::setPrefixingVariantProperty): If it
3160         exists a unprefixed or prefixed counterpart of the property we're
3161         trying to set, then we update the other one.
3162         (WebCore::StylePropertySet::asText):
3163         (WebCore::StylePropertySet::mergeAndOverrideOnConflict):
3164         * css/StylePropertySet.h:
3165         (StylePropertySet):
3166         * css/StylePropertyShorthand.cpp:
3167         (WebCore::transitionShorthand):
3168         (WebCore):
3169         (WebCore::shorthandForProperty): Define the transitions unprefixed
3170         longhands.
3171         * css/StylePropertyShorthand.h:
3172         (WebCore):
3173         * css/StyleResolver.cpp:
3174         (WebCore::StyleResolver::applyProperty): StyleBuilder will handle the
3175         resolution and the creation of the animations for the style. As the
3176         declarated style now contains declarations for the prefixed and
3177         unprefixed property we do not want to resolve two times and create duplicate animations.
3178         Therefore when we try to resolve the unprefixed version we just bail out.
3179
3180 2013-03-04  Ilya Tikhonovsky  <loislo@chromium.org>
3181
3182         Web Inspector: CPU Flame Chart: reveal profiler DataGrid node when user clicks on a FlameChart item.
3183         https://bugs.webkit.org/show_bug.cgi?id=111309
3184
3185         Reviewed by Yury Semikhatsky.
3186
3187         * inspector/front-end/CPUProfileView.js:
3188         (WebInspector.CPUProfileView.prototype._revealProfilerNode):
3189         * inspector/front-end/FlameChart.js:
3190         (WebInspector.FlameChart):
3191         (WebInspector.FlameChart.prototype._onClick):
3192
3193 2013-03-04  Antoine Quint  <graouts@apple.com>
3194
3195         Web Inspector: remove existing LayerTreeAgent protocol APIs
3196         https://bugs.webkit.org/show_bug.cgi?id=111251
3197
3198         In order to eventually provide a more useful API for the LayerTreeAgent
3199         that will be done in followup bugs, we remove the current API exposed by
3200         the agent providing a clean slate that will make future patches easier
3201         to read. Additionally, we remove the "childLayers" property on the Layer
3202         object since we will no longer be providing a hierarchy of layers, but
3203         rather a flat list of layers attached to a node and its descendants.
3204
3205         No new tests since we're removing the APIs exposed by the LayerTreeAgent.
3206         Subsequent patches will add tests as new APIs are added.
3207
3208         Reviewed by Timothy Hatcher.
3209
3210         * inspector/Inspector.json:
3211         * inspector/InspectorDOMAgent.cpp:
3212         * inspector/InspectorDOMAgent.h:
3213         * inspector/InspectorLayerTreeAgent.cpp:
3214         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
3215         * inspector/InspectorLayerTreeAgent.h:
3216         (InspectorLayerTreeAgent):
3217
3218 2013-03-04  Li Yin  <li.yin@intel.com>
3219
3220         MediaStream.ended must return true when it is created with ended tracks.
3221         https://bugs.webkit.org/show_bug.cgi?id=111293
3222
3223         Reviewed by Kentaro Hara.
3224
3225         Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#MediaStream-ended
3226         When a MediaStream object is created, its ended attribute must be set to false,
3227         unless it is being created using the MediaStream() constructor whose arguments
3228         are lists of MediaStreamTrack objects that are all ended, in which case the
3229         MediaStream object must be created with its ended attribute set to true.
3230
3231         Test: fast/mediastream/MediaStreamConstructor.html
3232
3233         * platform/mediastream/MediaStreamDescriptor.h:
3234         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
3235
3236 2013-03-04  Alexander Pavlov  <apavlov@chromium.org>
3237
3238         Web Inspector: Adding new rules broken if a <style> tag is added to document dynamically
3239         https://bugs.webkit.org/show_bug.cgi?id=111299
3240
3241         Reviewed by Pavel Feldman.
3242
3243         The CSSStyleSheet instance should be retrieved directly from the HTMLStyleElement just created,
3244         not from the document.styleSheets list.
3245
3246         Test: inspector/styles/add-new-rule-with-style-after-body.html
3247
3248         * inspector/InspectorCSSAgent.cpp:
3249         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
3250
3251 2013-03-04  Ilya Tikhonovsky  <loislo@chromium.org>
3252
3253         Web Inspector: Unreviewed. Fix for closure type annotations.
3254
3255         * inspector/front-end/FlameChart.js:
3256
3257 2013-03-04  Kondapally Kalyan  <kalyan.kondapally@intel.com>
3258
3259         [EFL] Build fix when compiling with GLES2 support enabled.
3260         https://bugs.webkit.org/show_bug.cgi?id=111291
3261
3262         Reviewed by Kenneth Rohde Christiansen.
3263
3264         This patch fixes build issues when compiling with GLES2
3265         support. As part of the fix the patch removes Evas specific
3266         workaround of using GLX with EGL in PlatformContext as GLES2 
3267         is the main target with EGL.
3268
3269         * platform/graphics/OpenGLESShims.h:
3270         * platform/graphics/opengl/GLPlatformContext.cpp:
3271         (WebCore::GLCurrentContextWrapper::GLCurrentContextWrapper):
3272         * platform/graphics/texmap/TextureMapper.h:
3273
3274 2013-03-04  Ilya Tikhonovsky  <loislo@chromium.org>
3275
3276         Web Inspector: implement Flame Chart for CPU profiler.
3277         https://bugs.webkit.org/show_bug.cgi?id=111162
3278
3279         Reviewed by Yury Semikhatsky.
3280
3281         It is an initial implementation. The next step is to provide
3282         function names and other stats about the hovered item.
3283
3284         * WebCore.gypi:
3285         * WebCore.vcproj/WebCore.vcproj:
3286         * WebCore.vcxproj/WebCore.vcxproj:
3287         * WebCore.vcxproj/WebCore.vcxproj.filters:
3288         * inspector/compile-front-end.py:
3289         * inspector/front-end/CPUProfileView.js:
3290         (WebInspector.CPUProfileView.prototype._getCPUProfileCallback):
3291         * inspector/front-end/FlameChart.js: Added.
3292         (WebInspector.FlameChart):
3293         (WebInspector.FlameChart.prototype._onMouseMove):
3294         (WebInspector.FlameChart.prototype.findNodeCallback):
3295         (WebInspector.FlameChart.prototype._coordinatesToNode):
3296         (WebInspector.FlameChart.prototype.onResize):
3297         (WebInspector.FlameChart.prototype._rootNodes):
3298         (WebInspector.FlameChart.prototype.draw):
3299         (WebInspector.FlameChart.prototype._drawNode):
3300         (WebInspector.FlameChart.prototype._forEachNode):
3301         (WebInspector.FlameChart.prototype._drawBar):
3302         (WebInspector.FlameChart.prototype.update):
3303         * inspector/front-end/Settings.js:
3304         (WebInspector.ExperimentsSettings):
3305         * inspector/front-end/WebKit.qrc:
3306         * inspector/front-end/flameChart.css: Added.
3307         (.flame-chart):
3308
3309 2013-03-04  Marja Hölttä  <marja@chromium.org>
3310
3311         [V8] Add a "context type" parameter to GetTemplate and ConfigureV8SomethingTemplate functions
3312         https://bugs.webkit.org/show_bug.cgi?id=110875
3313
3314         The parameter will later be used for generating specialized V8
3315         bindings for the 3 different world types (main world, isolated
3316         work, worker).
3317
3318         Reviewed by Kentaro Hara.
3319
3320         No new tests (no changes in behavior yet).
3321
3322         * bindings/scripts/CodeGeneratorV8.pm:
3323         (GenerateHeader):
3324         (GenerateDomainSafeFunctionGetter):
3325         (GenerateDomainSafeFunctionSetter):
3326         (GenerateNormalAttrGetter):
3327         (GenerateNamedConstructor):
3328         (GenerateImplementation):
3329         * bindings/v8/DOMDataStore.cpp:
3330         (WebCore::DOMDataStore::DOMDataStore):
3331         * bindings/v8/DOMDataStore.h:
3332         (DOMDataStore):
3333         * bindings/v8/DOMWrapperWorld.cpp:
3334         (WebCore):
3335         (WebCore::DOMWrapperWorld::setInitializingWindow):
3336         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
3337         (WebCore::DOMWrapperWorld::contextHasCorrectPrototype):
3338         * bindings/v8/DOMWrapperWorld.h:
3339         (DOMWrapperWorld):
3340         (WebCore::DOMWrapperWorld::getWorld):
3341         * bindings/v8/Dictionary.cpp:
3342         (WebCore::Dictionary::get):
3343         * bindings/v8/PageScriptDebugServer.cpp:
3344         (WebCore::retrieveFrameWithGlobalObjectCheck):
3345         * bindings/v8/V8AdaptorFunction.cpp:
3346         (WebCore::V8AdaptorFunction::getTemplate):
3347         (WebCore::V8AdaptorFunction::wrap):
3348         * bindings/v8/V8AdaptorFunction.h:
3349         (V8AdaptorFunction):
3350         * bindings/v8/V8Binding.cpp:
3351         (WebCore::toDOMWindow):
3352         (WebCore::toScriptExecutionContext):
3353         (WebCore::worldType):
3354         (WebCore):
3355         (WebCore::worldTypeInMainThread):
3356         * bindings/v8/V8Binding.h:
3357         (WebCore):
3358         * bindings/v8/V8DOMWindowShell.cpp:
3359         (WebCore::V8DOMWindowShell::clearForNavigation):
3360         (WebCore::V8DOMWindowShell::installDOMWindow):
3361         * bindings/v8/V8DOMWrapper.cpp:
3362         (WebCore::V8DOMWrapper::createWrapper):
3363         * bindings/v8/V8Initializer.cpp:
3364         (WebCore::findFrame):
3365         * bindings/v8/V8PerContextData.cpp:
3366         (WebCore::V8PerContextData::constructorForTypeSlowCase):
3367         * bindings/v8/WorkerScriptController.cpp:
3368         (WebCore::WorkerScriptController::WorkerScriptController):
3369         (WebCore::WorkerScriptController::controllerForContext):
3370         * bindings/v8/WrapperTypeInfo.h:
3371         (WebCore::WrapperTypeInfo::getTemplate):
3372         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3373         (WebCore::V8DOMWindow::eventAttrGetterCustom):
3374         (WebCore::V8DOMWindow::eventAttrSetterCustom):
3375         (WebCore::V8DOMWindow::toStringMethodCustom):
3376         (WebCore::V8DOMWindow::namedSecurityCheck):
3377         (WebCore::V8DOMWindow::indexedSecurityCheck):
3378         (WebCore::toV8):
3379         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3380         (WebCore::V8HTMLDocument::wrapInShadowObject):
3381         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3382         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
3383         * bindings/v8/custom/V8HTMLImageElementConstructor.h:
3384         (V8HTMLImageElementConstructor):
3385         * bindings/v8/custom/V8InjectedScriptManager.cpp:
3386         (WebCore::createInjectedScriptHostV8Wrapper):
3387         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
3388         * bindings/v8/custom/V8LocationCustom.cpp:
3389         (WebCore::V8Location::reloadAttrGetterCustom):
3390         (WebCore::V8Location::replaceAttrGetterCustom):
3391         (WebCore::V8Location::assignAttrGetterCustom):
3392         * bindings/v8/custom/V8MessageEventCustom.cpp:
3393         (WebCore::V8MessageEvent::initMessageEventMethodCustom):
3394
3395 2013-03-04  Andrey Lushnikov  <lushnikov@chromium.org>
3396
3397         Web Inspector: add Ace editor experiment
3398         https://bugs.webkit.org/show_bug.cgi?id=111191
3399
3400         Reviewed by Pavel Feldman.
3401
3402         No new tests.
3403
3404         Add Ace text editor experiment.
3405
3406         * WebCore.gypi:
3407         * inspector/front-end/AceTextEditor.js: Added.
3408         * inspector/front-end/Settings.js:
3409         (WebInspector.ExperimentsSettings):
3410         * inspector/front-end/SourceFrame.js:
3411         (WebInspector.SourceFrame):
3412         * inspector/front-end/ace/ace.js: Added.
3413         * inspector/front-end/ace/acedevtools.css: Added.
3414         * inspector/front-end/ace/mode_css.js: Added.
3415         * inspector/front-end/ace/mode_html.js: Added.
3416         * inspector/front-end/ace/mode_javascript.js: Added.
3417         * inspector/front-end/ace/theme_textmate.js: Added.
3418         * inspector/front-end/ace/LICENSE.txt: Added.
3419
3420 2013-03-04  Kunihiko Sakamoto  <ksakamoto@chromium.org>
3421
3422         Add build flag for FontLoader
3423         https://bugs.webkit.org/show_bug.cgi?id=111289
3424
3425         Reviewed by Benjamin Poulain.
3426
3427         Add ENABLE_FONT_LOAD_EVENTS build flag (disabled by default).
3428
3429         * Configurations/FeatureDefines.xcconfig:
3430
3431 2013-03-04  Mike West  <mkwst@chromium.org>
3432
3433         XSSAuditor should strip dangerous attributes from SMIL animation elements.
3434         https://bugs.webkit.org/show_bug.cgi?id=111071
3435
3436         Reviewed by Adam Barth.
3437
3438         SMIL animation elements can, amusingly enough, animate the 'href' of a
3439         link. This patch teaches XSSAuditor how to deal with the
3440         semicolon-separated 'animation[values]' attribute in order to ensure
3441         that it doesn't contain JavaScript URLs that could be animated into
3442         place for an unsuspecting user to click on.
3443
3444         Test: http/tests/security/xssAuditor/svg-animate.html
3445
3446         * html/parser/XSSAuditor.cpp:
3447         (WebCore::isSemicolonSeparatedAttribute): Added.
3448             This returns true if the given attribute is SVGNames::valuesAttr,
3449             but makes it possible to easily extend the list with additional
3450             attributes with this strange property.
3451         (WebCore::semicolonSeparatedValueContainsJavaScriptURL): Added.
3452             Given a semicolon-separated string, determine if it contains any
3453             JavaScript URLs.
3454         (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
3455             When looking for dangerousness, determine whether or not we should
3456             be comparing against each member of a semicolon-separated list.
3457
3458 2013-03-04  Arvid Nilsson  <anilsson@rim.com>
3459
3460         [BlackBerry] New files for BlackBerry::Platform::Graphics::GraphicsContext integration
3461         https://bugs.webkit.org/show_bug.cgi?id=111153
3462
3463         Reviewed by Rob Buis.
3464
3465         BlackBerry PR 293208
3466
3467         This patch contains contributions from many members of the BlackBerry
3468         WebKit team:
3469
3470         Rob Buis
3471         Robin Cao
3472         Eli Fidler
3473         Mike Lattanzio
3474         Yong Li
3475         Maxim Mogilnitsky
3476         Joshua Netterfield
3477         Arvid Nilsson
3478         Jakob Petsovits
3479         Konrad Piascik
3480         Jeff Rogers
3481         Artem Simonov
3482         Filip Spacek
3483         George Staikos
3484
3485         Covered by existing tests.
3486
3487         * platform/graphics/blackberry/FontBlackBerry.cpp: Added.
3488         (FSFixedToFloat):
3489         (FloatToFSFixed):
3490         (WebCore):
3491         (WebCore::Font::drawComplexText):
3492         (WebCore::Font::floatWidthForComplexText):
3493         (WebCore::Font::offsetForPositionForComplexText):
3494         (WebCore::Font::selectionRectForComplexText):
3495         (WebCore::Font::drawGlyphs):
3496         (WebCore::Font::canReturnFallbackFontsForComplexText):
3497         (WebCore::Font::drawEmphasisMarksForComplexText):
3498         (WebCore::Font::canExpandAroundIdeographsInComplexText):
3499         * platform/graphics/blackberry/FontCacheBlackBerry.cpp: Added.
3500         (WebCore):
3501         (WebCore::FontCache::platformInit):
3502         (WebCore::FontCache::getFontDataForCharacters):
3503         (WebCore::FontCache::getSimilarFontPlatformData):
3504         (WebCore::FontCache::getLastResortFallbackFont):
3505         (WebCore::FontCache::getTraitsInFamily):
3506         (WebCore::getFamilyNameStringFromFontDescriptionAndFamily):
3507         (WebCore::fontWeightToFontconfigWeight):
3508         (WebCore::FontCache::createFontPlatformData):
3509         * platform/graphics/blackberry/FontCustomPlatformData.h: Added.
3510         (WebCore):
3511         (FontCustomPlatformData):
3512         * platform/graphics/blackberry/FontCustomPlatformDataBlackBerry.cpp: Added.
3513         (WebCore):
3514         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
3515         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
3516         (WebCore::FontCustomPlatformData::fontPlatformData):
3517         (WebCore::FontCustomPlatformData::supportsFormat):
3518         (WebCore::createFontCustomPlatformData):
3519         * platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp: Added.
3520         (WebCore):
3521         (WebCore::FontPlatformData::FontPlatformData):
3522         (WebCore::FontPlatformData::~FontPlatformData):
3523         (WebCore::FontPlatformData::name):
3524         (WebCore::FontPlatformData::applyState):
3525         (WebCore::FontPlatformData::platformDataInit):
3526         (WebCore::FontPlatformData::platformDataAssign):
3527         (WebCore::FontPlatformData::platformIsEqual):
3528         (WebCore::FontPlatformData::description):
3529         (WebCore::FontPlatformData::harfbuzzFace):
3530         (WebCore::FontPlatformData::scaledFont):
3531         (WebCore::FontPlatformData::setFakeBold):
3532         (WebCore::FontPlatformData::setFakeItalic):
3533         (WebCore::FontPlatformData::platformFontHandle):
3534         (WebCore::FontPlatformData::isFixedPitch):
3535         * platform/graphics/blackberry/GlyphPageTreeNodeBlackBerry.cpp: Added.
3536         (WebCore):
3537         (WorldTypeScopedPtr):
3538         (WebCore::WorldTypeScopedPtr::WorldTypeScopedPtr):
3539         (WebCore::WorldTypeScopedPtr::~WorldTypeScopedPtr):
3540         (WebCore::WorldTypeScopedPtr::get):
3541         (WebCore::GlyphPage::fill):
3542         * platform/graphics/blackberry/GradientBlackBerry.cpp: Added.
3543         (WebCore):
3544         (WebCore::totalStopsNeeded):
3545         (WebCore::fillStops):
3546         (WebCore::Gradient::platformGradient):
3547         (WebCore::Gradient::platformDestroy):
3548         (WebCore::Gradient::fill):
3549         (WebCore::Gradient::setPlatformGradientSpaceTransform):
3550         * platform/graphics/blackberry/GraphicsContextBlackBerry.cpp: Added.
3551         (WebCore):
3552         (GraphicsContextPlatformPrivate):
3553         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3554         (WebCore::GraphicsContext::platformInit):
3555         (WebCore::GraphicsContext::platformDestroy):
3556         (WebCore::GraphicsContext::platformContext):
3557         (WebCore::GraphicsContext::savePlatformState):
3558         (WebCore::GraphicsContext::restorePlatformState):
3559         (WebCore::GraphicsContext::setIsAcceleratedContext):
3560         (WebCore::GraphicsContext::isAcceleratedContext):
3561         (WebCore::GraphicsContext::getCTM):
3562         (WebCore::GraphicsContext::concatCTM):
3563         (WebCore::GraphicsContext::setCTM):
3564         (WebCore::GraphicsContext::scale):
3565         (WebCore::GraphicsContext::rotate):
3566         (WebCore::GraphicsContext::translate):
3567         (WebCore::GraphicsContext::drawEllipse):
3568         (WebCore::GraphicsContext::strokeArc):
3569         (WebCore::GraphicsContext::drawConvexPolygon):
3570         (WebCore::GraphicsContext::drawRect):
3571         (WebCore::GraphicsContext::fillRect):
3572         (WebCore::GraphicsContext::clearRect):
3573         (WebCore::GraphicsContext::strokeRect):
3574         (WebCore::GraphicsContext::fillRoundedRect):
3575         (WebCore::GraphicsContext::roundToDevicePixels):
3576         (WebCore::GraphicsContext::setPlatformShadow):
3577         (WebCore::GraphicsContext::clearPlatformShadow):
3578         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
3579         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
3580         (WebCore::GraphicsContext::supportsTransparencyLayers):
3581         (WebCore::GraphicsContext::setLineCap):
3582         (WebCore::GraphicsContext::setLineDash):
3583         (WebCore::GraphicsContext::setLineJoin):
3584         (WebCore::GraphicsContext::setMiterLimit):
3585         (WebCore::GraphicsContext::setAlpha):
3586         (WebCore::GraphicsContext::clip):
3587         (WebCore::GraphicsContext::clipOut):
3588         (WebCore::GraphicsContext::clipConvexPolygon):
3589         (WebCore::GraphicsContext::addRoundedRectClip):
3590         (WebCore::GraphicsContext::clipOutRoundedRect):
3591         (WebCore::GraphicsContext::clipBounds):
3592         (WebCore::GraphicsContext::addInnerRoundedRectClip):
3593         (WebCore::GraphicsContext::setURLForRect):
3594         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
3595         (WebCore::GraphicsContext::setPlatformStrokeColor):
3596         (WebCore::GraphicsContext::setPlatformStrokeStyle):
3597         (WebCore::GraphicsContext::setPlatformStrokeThickness):
3598         (WebCore::GraphicsContext::setPlatformFillColor):
3599         (WebCore::GraphicsContext::setPlatformCompositeOperation):
3600         (WebCore::GraphicsContext::setPlatformShouldAntialias):
3601         (WebCore::GraphicsContext::setImageInterpolationQuality):
3602         (WebCore::GraphicsContext::imageInterpolationQuality):
3603         * platform/graphics/blackberry/ITypeUtils.h: Added.
3604         (floatToITypeFixed):
3605         (intToITypeFixed):
3606         (iTypeFixedToFloat):
3607         * platform/graphics/blackberry/ImageBufferBlackBerry.cpp: Added.
3608         (WebCore):
3609         (WebCore::makeBufferCurrent):
3610         (WebCore::getImageDataInternal):
3611         (WebCore::ImageBufferData::getImageData):
3612         (WebCore::flushAndDraw):
3613         (WebCore::ImageBufferData::draw):
3614         (WebCore::ImageBuffer::ImageBuffer):
3615         (WebCore::ImageBuffer::~ImageBuffer):
3616         (WebCore::ImageBuffer::context):
3617         (WebCore::ImageBuffer::platformLayer):
3618         (WebCore::ImageBuffer::copyImage):
3619         (WebCore::ImageBuffer::clip):
3620         (WebCore::ImageBuffer::draw):
3621         (WebCore::ImageBuffer::drawPattern):
3622         (WebCore::ImageBuffer::platformTransformColorSpace):
3623         (WebCore::ImageBuffer::getUnmultipliedImageData):
3624         (WebCore::ImageBuffer::getPremultipliedImageData):
3625         (WebCore::ImageBuffer::putByteArray):
3626         (WebCore::ImageBuffer::toDataURL):
3627         * platform/graphics/blackberry/ImageBufferDataBlackBerry.h: Added.
3628         (WebCore):
3629         (ImageBufferData):
3630         * platform/graphics/blackberry/PathBlackBerry.cpp: Added.
3631         (WebCore):
3632         (WebCore::scratchContext):
3633         (WebCore::Path::Path):
3634         (WebCore::Path::~Path):
3635         (WebCore::Path::operator=):
3636         (WebCore::Path::currentPoint):
3637         (WebCore::Path::contains):
3638         (WebCore::Path::strokeContains):
3639         (WebCore::Path::translate):
3640         (WebCore::Path::boundingRect):
3641         (WebCore::Path::strokeBoundingRect):
3642         (WebCore::Path::moveTo):
3643         (WebCore::Path::addLineTo):
3644         (WebCore::Path::addQuadCurveTo):
3645         (WebCore::Path::addBezierCurveTo):
3646         (WebCore::Path::addArcTo):
3647         (WebCore::Path::closeSubpath):
3648         (WebCore::Path::addArc):
3649         (WebCore::Path::addRect):
3650         (WebCore::Path::addEllipse):
3651         (WebCore::Path::platformAddPathForRoundedRect):
3652         (WebCore::Path::clear):
3653         (WebCore::Path::isEmpty):
3654         (WebCore::Path::hasCurrentPoint):
3655         (WebCore::Path::apply):
3656         (WebCore::Path::transform):
3657         (WebCore::GraphicsContext::fillPath):
3658         (WebCore::GraphicsContext::strokePath):
3659         (WebCore::GraphicsContext::drawFocusRing):
3660         (WebCore::GraphicsContext::drawLine):
3661         (WebCore::GraphicsContext::drawLineForDocumentMarker):
3662         (WebCore::GraphicsContext::drawLineForText):
3663         (WebCore::GraphicsContext::clip):
3664         (WebCore::GraphicsContext::clipPath):
3665         (WebCore::GraphicsContext::canvasClip):
3666         (WebCore::GraphicsContext::clipOut):
3667         * platform/graphics/blackberry/PatternBlackBerry.cpp: Added.
3668         (WebCore):
3669         (WebCore::Pattern::platformDestroy):
3670         (WebCore::Pattern::platformPattern):
3671         (WebCore::Pattern::setPlatformPatternSpaceTransform):
3672         * platform/graphics/blackberry/PlatformSupport.cpp: Added.
3673         (WebCore):
3674         (WebCore::PlatformSupport::getFontFamilyForCharacters):
3675         * platform/graphics/blackberry/PlatformSupport.h: Added.
3676         (WebCore):
3677         (PlatformSupport):
3678         (FontFamily):
3679         * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp: Added.
3680         (WebCore):
3681         (WebCore::FSFixedToFloat):
3682         (WebCore::SimpleFontData::platformInit):
3683         (WebCore::SimpleFontData::platformCharWidthInit):
3684         (WebCore::SimpleFontData::platformDestroy):
3685         (WebCore::SimpleFontData::createScaledFontData):
3686         (WebCore::SimpleFontData::smallCapsFontData):
3687         (WebCore::SimpleFontData::emphasisMarkFontData):
3688         (WebCore::SimpleFontData::containsCharacters):
3689         (WebCore::SimpleFontData::determinePitch):
3690         (WebCore::SimpleFontData::platformBoundsForGlyph):
3691         (WebCore::SimpleFontData::platformWidthForGlyph):
3692         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
3693
3694 2013-03-04  Adam Bergkvist  <adam.bergkvist@ericsson.com>
3695
3696         MediaStream API: local addTrack() and removeTrack() operations should not fire events.
3697         https://bugs.webkit.org/show_bug.cgi?id=111079
3698
3699         Reviewed by Adam Barth.
3700
3701         Removed the scheduling of "addtrack" and "removetrack" events by
3702         addTrack and removeTrack(). Replaced the test since the old test was
3703         driven by the event firing removed by this patch.
3704
3705         Test: fast/mediastream/MediaStream-add-remove-tracks.html
3706
3707         * Modules/mediastream/MediaStream.cpp:
3708         (WebCore::MediaStream::addTrack):
3709         (WebCore::MediaStream::removeTrack):
3710
3711 2013-03-04  Alexander Pavlov  <apavlov@chromium.org>
3712
3713         Web Inspector: touchmove not emulated inside iframe
3714         https://bugs.webkit.org/show_bug.cgi?id=111292
3715
3716         Reviewed by Vsevolod Vlasov.
3717
3718         Move fake touch event dispatching from mouseMoved() into handleMouseMoveEvent()
3719         and bail out earlier from dispatchSyntheticTouchEventIfEnabled() when the event
3720         should be dispatched on a subframe.
3721
3722         * page/EventHandler.cpp:
3723         (WebCore::EventHandler::mouseMoved):
3724         (WebCore::EventHandler::handleMouseMoveEvent):
3725         (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
3726
3727 2013-03-04  Mike West  <mkwst@chromium.org>
3728
3729         Long URLs in error messages should be shortened
3730         https://bugs.webkit.org/show_bug.cgi?id=111133
3731
3732         Reviewed by Jochen Eisinger.
3733
3734         When generating console messages, we're often copying the page's URL
3735         in order to add detail about where the error occurred. Generally, this
3736         is fine, but in edge cases (multi-meg 'data:' URLs), we're using far
3737         more memory than we should, and impacting performance.
3738
3739         This patch adds an 'elidedString()' method to KURL for use in this
3740         sort of case; when generating console messages, we should insert the
3741         elided URL rather than the full URL.
3742
3743         This shouldn't change any visible behavior; we're already visually
3744         eliding URLs in console messages for URLs above 150 characters. This
3745         patch simply changes the underlying string to ensure that no URL is
3746         over 1k in length to begin with.
3747
3748         * platform/KURL.cpp:
3749         (WebCore::KURL::elidedString): Added.
3750         * platform/KURL.h:
3751             An exciting new method that gives you the same result as string()
3752             for URLs less than 1k long, and elides the middle of URLs longer
3753             than 1k by replacing everything but the first and last 0.5k with
3754             "...".
3755         * bindings/ScriptControllerBase.cpp:
3756         (WebCore::ScriptController::canExecuteScripts):
3757         * Modules/websockets/WebSocket.cpp:
3758         (WebCore::WebSocket::connect):
3759         (WebCore::WebSocket::send):
3760         * Modules/websockets/WebSocketChannel.cpp:
3761         (WebCore::WebSocketChannel::send):
3762         (WebCore::WebSocketChannel::fail):
3763         * bindings/ScriptControllerBase.cpp:
3764         (WebCore::ScriptController::canExecuteScripts):
3765         * dom/Document.cpp:
3766         (WebCore::Document::processHttpEquiv):
3767         * dom/ScriptElement.cpp:
3768         (WebCore::ScriptElement::executeScript):
3769         * html/HTMLMediaElement.cpp:
3770         (WebCore::HTMLMediaElement::canPlayType):
3771         (WebCore::HTMLMediaElement::isSafeToLoadURL):
3772         * loader/FrameLoader.cpp:
3773         (WebCore::FrameLoader::submitForm):
3774         (WebCore::FrameLoader::loadFrameRequest):
3775         (WebCore::FrameLoader::commitProvisionalLoad):
3776         (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
3777         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
3778         (WebCore::createWindow):
3779         * loader/MainResourceLoader.cpp:
3780         (WebCore::MainResourceLoader::willSendRequest):
3781         (WebCore::MainResourceLoader::responseReceived):
3782         * loader/appcache/ApplicationCacheGroup.cpp:
3783         (WebCore::ApplicationCacheGroup::didReceiveResponse):
3784         (WebCore::ApplicationCacheGroup::didFail):
3785         * loader/cache/CachedResourceLoader.cpp:
3786         (WebCore::CachedResourceLoader::canRequest):
3787         (WebCore::CachedResourceLoader::requestResource):
3788         (WebCore::CachedResourceLoader::loadResource):
3789         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
3790         * page/ContentSecurityPolicy.cpp:
3791         (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
3792         (WebCore::CSPDirectiveList::allowScriptNonce):
3793         (WebCore::CSPDirectiveList::allowPluginType):
3794             Use 'KURL::elidedString()' rather than 'KURL::string()'
3795         * loader/MixedContentChecker.cpp:
3796         (WebCore::MixedContentChecker::logWarning):
3797             Here, we're doing the same as above, but it enables us to throw
3798             away the asUTF8() function entirely by switching to makeString
3799             rather than String::format.
3800
3801 2013-03-04  Andrey Lushnikov  <lushnikov@chromium.org>
3802
3803         Web Inspector: add runtime flag to determine if inspector's source files were flattened.
3804         https://bugs.webkit.org/show_bug.cgi?id=111184
3805
3806         Reviewed by Pavel Feldman.
3807
3808         - Add a file "buildSystemOnly.js" which will be included into
3809         devtools.html only by GYP build system. This script sets a single flag
3810         which essentially means that inspector source files were run
3811         through a build system and flattened.
3812         - Update "importScript" and "registerRequiredCSS" functions to correct
3813         paths according to the "flattenImports" flag.
3814
3815         No new tests: no change in behaviour.
3816
3817         * WebCore.gypi:
3818         * inspector/front-end/CodeMirrorTextEditor.js:
3819         (WebInspector.CodeMirrorTextEditor):
3820         * inspector/front-end/View.js:
3821         (WebInspector.View.prototype.registerRequiredCSS):
3822         * inspector/front-end/buildSystemOnly.js: Added.
3823         * inspector/front-end/utilities.js:
3824
3825 2013-03-04  Vsevolod Vlasov  <vsevik@chromium.org>
3826
3827         Web Inspector: Fix front-end compilation
3828         https://bugs.webkit.org/show_bug.cgi?id=111286
3829
3830         Reviewed by Alexander Pavlov.
3831
3832         * inspector/InjectedScriptSource.js:
3833         * inspector/front-end/FileSystemProjectDelegate.js:
3834         * inspector/front-end/NavigatorView.js:
3835         (WebInspector.NavigatorView.prototype.removeUISourceCode):
3836         (WebInspector.NavigatorTreeNode.prototype.reset):
3837         (WebInspector.NavigatorFolderTreeNode.prototype.didAddChild):
3838
3839 2013-03-03  Kondapally Kalyan  <kalyan.kondapally@intel.com>
3840
3841         [EFL][WebGL] Add proper checks to enable GraphicsSurface usage on EGL without XCompositeWindow.
3842         https://bugs.webkit.org/show_bug.cgi?id=108034
3843
3844         Reviewed by Laszlo Gombos.
3845
3846         Covered by existing WebGL tests.
3847
3848         Currently, we set GRAPHICS_SURFACE to true if support for XCompositeWindow
3849         is identified during compile time. This is ok, when using GLX. We might not
3850         have support for XCompositeWindow when using EGL and GLES2.0. This patch
3851         makes changes so that GRAPHICS_SURFACE is always enabled with EGL and adds
3852         GLX guard to the parts of code dependent on XCompositeWindow support.
3853
3854         * platform/graphics/opengl/GLPlatformSurface.cpp:
3855         * platform/graphics/surfaces/glx/GLXConfigSelector.h:
3856         (WebCore::GLXConfigSelector::findMatchingConfig):
3857         * platform/graphics/surfaces/glx/X11Helper.cpp:
3858         (WebCore::X11Helper::createOffScreenWindow):
3859         (WebCore::X11Helper::isXRenderExtensionSupported):
3860         * platform/graphics/surfaces/glx/X11Helper.h:
3861
3862 2013-03-03  Alexander Pavlov  <apavlov@chromium.org>
3863
3864         Web Inspector: [PageAgent] can't find frame by security origin.
3865         https://bugs.webkit.org/show_bug.cgi?id=110849
3866
3867         Use toRawString() in order to compare Frames' SecurityOrigins for storage-related goals.
3868
3869         Reviewed by Vsevolod Vlasov.
3870
3871         * inspector/InspectorPageAgent.cpp:
3872         (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
3873
3874 2013-03-03  Alexander Pavlov  <apavlov@chromium.org>
3875
3876         Unreviewed, rolling out r144455.
3877         http://trac.webkit.org/changeset/144455
3878         https://bugs.webkit.org/show_bug.cgi?id=111165
3879
3880         A simpler solution to the SecurityOrigin -> localStorage
3881         lookup exists
3882
3883         * inspector/front-end/DOMStorage.js:
3884         (WebInspector.DOMStorage.storageId):
3885         (WebInspector.DOMStorage.prototype.get id):
3886         (WebInspector.DOMStorage.prototype.getItems):
3887         (WebInspector.DOMStorage.prototype.setItem):
3888         (WebInspector.DOMStorage.prototype.removeItem):
3889         (WebInspector.DOMStorageModel.prototype._securityOriginAdded):
3890         (WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
3891         (WebInspector.DOMStorageModel.prototype._storageKey):
3892         * inspector/front-end/ExtensionAuditCategory.js:
3893         * inspector/front-end/FileSystemModel.js:
3894         (WebInspector.FileSystemModel.prototype._reset):
3895         (WebInspector.FileSystemModel.prototype._securityOriginAdded):
3896         (WebInspector.FileSystemModel.prototype._securityOriginRemoved):
3897         (WebInspector.FileSystemModel.prototype._addOrigin):
3898         (WebInspector.FileSystemModel.prototype._removeOrigin):
3899         (WebInspector.FileSystemModel.prototype._requestFileSystemRoot):
3900         (WebInspector.FileSystemModel.prototype._fileSystemRootReceived):
3901         (WebInspector.FileSystemModel.prototype._removeFileSystem):
3902         (WebInspector.FileSystemModel.FileSystem.prototype.get name):
3903         * inspector/front-end/IndexedDBModel.js:
3904         (WebInspector.IndexedDBModel.prototype._reset):
3905         (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
3906         (WebInspector.IndexedDBModel.prototype._securityOriginAdded):
3907         (WebInspector.IndexedDBModel.prototype._securityOriginRemoved):
3908         (WebInspector.IndexedDBModel.prototype._addOrigin):
3909         (WebInspector.IndexedDBModel.prototype._removeOrigin):
3910         (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
3911         (WebInspector.IndexedDBModel.prototype._loadDatabaseNames):
3912         (WebInspector.IndexedDBModel.prototype._loadDatabase):
3913         (WebInspector.IndexedDBModel.prototype.):
3914         (WebInspector.IndexedDBModel.prototype._requestData):
3915         (WebInspector.IndexedDBModel.DatabaseId.prototype.equals):
3916         * inspector/front-end/IndexedDBViews.js:
3917         (WebInspector.IDBDatabaseView.prototype._refreshDatabase):
3918         * inspector/front-end/ResourceTreeModel.js:
3919         (WebInspector.ResourceTreeModel):
3920         (WebInspector.ResourceTreeModel.prototype._addFrame):
3921         (WebInspector.ResourceTreeModel.prototype._addSecurityOrigin):
3922         (WebInspector.ResourceTreeModel.prototype._removeSecurityOrigin):
3923         (WebInspector.ResourceTreeModel.prototype.securityOrigins):
3924         (WebInspector.ResourceTreeModel.prototype._handleMainFrameDetached):
3925         (WebInspector.ResourceTreeModel.prototype._frameNavigated):
3926         (WebInspector.ResourceTreeModel.prototype._frameDetached):
3927         (WebInspector.ResourceTreeFrame):
3928         (WebInspector.ResourceTreeFrame.prototype._navigate):
3929         * inspector/front-end/ResourcesPanel.js:
3930         (WebInspector.IDBDatabaseTreeElement):
3931         (WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
3932         (WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
3933         (WebInspector.IDBIndexTreeElement.prototype.get itemURL):
3934         (WebInspector.DOMStorageTreeElement):
3935         (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
3936         (WebInspector.FileSystemTreeElement):
3937
3938 2013-03-01  Vsevolod Vlasov  <vsevik@chromium.org>
3939
3940         Web Inspector: Let user know when file system based uiSourceCode was changed on disk.
3941         https://bugs.webkit.org/show_bug.cgi?id=110133
3942
3943         Reviewed by Pavel Feldman.
3944
3945         We now check if file system based uiSourceCode content was updated externally when 
3946         UISourceCodeFrame is shown or inspector window is focused.
3947         If there is no working copy being edited right now we replace old content with the new one silently.
3948         Otherwise ask user if he wants to replace his working copy with the new content.
3949
3950         * English.lproj/localizedStrings.js:
3951         * WebCore.vcproj/WebCore.vcproj:
3952         * inspector/front-end/DefaultTextEditor.js:
3953         (WebInspector.DefaultTextEditor.prototype.editRange):
3954         * inspector/front-end/FileSystemProjectDelegate.js:
3955         (WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
3956         (WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
3957         (WebInspector.FileSystemProjectDelegate.prototype._contentRequestFinished):
3958         (WebInspector.FileSystemProjectDelegate.prototype.requestUpdatedFileContent):
3959         (WebInspector.FileSystemProjectDelegate.prototype.contentCallback):
3960         (WebInspector.FileSystemProjectDelegate.prototype.searchInFileContent):
3961         * inspector/front-end/JavaScriptSourceFrame.js:
3962         (WebInspector.JavaScriptSourceFrame.prototype.wasShown):
3963         (WebInspector.JavaScriptSourceFrame.prototype.willHide):
3964         * inspector/front-end/SimpleWorkspaceProvider.js:
3965         (WebInspector.SimpleProjectDelegate.prototype.requestUpdatedFileContent):
3966         * inspector/front-end/SourceFrame.js:
3967         (WebInspector.SourceFrame.prototype.setContent):
3968         * inspector/front-end/UISourceCode.js:
3969         (WebInspector.UISourceCode.prototype.checkContentUpdated.updatedContentLoaded):
3970         (WebInspector.UISourceCode.prototype.checkContentUpdated):
3971         * inspector/front-end/UISourceCodeFrame.js:
3972         (WebInspector.UISourceCodeFrame.prototype.wasShown):
3973         (WebInspector.UISourceCodeFrame.prototype.willHide):
3974         (WebInspector.UISourceCodeFrame.prototype._windowFocused):
3975         (WebInspector.UISourceCodeFrame.prototype._checkContentUpdated):
3976         * inspector/front-end/Workspace.js:
3977         (WebInspector.ProjectDelegate.prototype.requestUpdatedFileContent):
3978         (WebInspector.Project.prototype.requestUpdatedFileContent):
3979
3980 2013-03-03  Arpita Bahuguna  <a.bah@samsung.com>
3981
3982         createAttribute/setAttributeNode does not properly normalize case
3983         https://bugs.webkit.org/show_bug.cgi?id=90341
3984
3985         Reviewed by Darin Adler.
3986
3987         setAttributeNode() verifies for existing attributes in a case sensitive
3988         manner. Thus, it would add another attribute if specified in a case
3989         different from the existing one. Instead, like setAttribute(), it too
3990         should modify the existing attribute's value.
3991
3992         Test: fast/dom/Element/setAttributeNode-case-insensitivity.html
3993
3994         * dom/Element.cpp:
3995         (WebCore::Element::setAttributeNode):
3996         Made changes to check for an existing attribute by converting the
3997         specified attribute's localName to lowercase.
3998
3999 2013-03-03  Kentaro Hara  <haraken@chromium.org>
4000
4001         Unreviewed. Rebaselined run-bindings-tests.
4002
4003         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
4004         (WebCore::TestActiveDOMObjectV8Internal::indexedSecurityCheck):
4005         (TestActiveDOMObjectV8Internal):
4006         (WebCore::TestActiveDOMObjectV8Internal::namedSecurityCheck):
4007         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
4008         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
4009         (V8TestActiveDOMObject):
4010
4011 2013-03-03  Kentaro Hara  <haraken@chromium.org>
4012
4013         Unreviewed build fix after r144590.
4014
4015         * bindings/scripts/CodeGeneratorV8.pm:
4016         (GenerateSecurityCheckFunctions):
4017
4018 2013-03-03  Kentaro Hara  <haraken@chromium.org>
4019
4020         Unreviewed build fix after r144587.
4021
4022         * bindings/v8/V8Binding.cpp:
4023         (WebCore::toV8Context):
4024         * bindings/v8/V8MutationCallback.cpp:
4025         (WebCore::V8MutationCallback::V8MutationCallback):
4026
4027 2013-03-01  Kentaro Hara  <haraken@chromium.org>
4028
4029         [V8] HTMLDocument.all should have [Replaceable]