1 2013-03-05 Hayato Ito <hayato@chromium.org>
3 [Shadow] Implements event re-targeting for Touch Events.
4 https://bugs.webkit.org/show_bug.cgi?id=107800
6 Reviewed by Dimitri Glazkov.
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.
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.
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
23 Now, Touch Events can be fired in shadow tree. I've removed the
26 Test: fast/dom/shadow/touch-event-retargeting.html
28 * dom/EventContext.cpp:
29 (WebCore::EventContext::isTouchEventContext):
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.
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):
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:
56 (WebCore::Node::dispatchEvent):
58 (WebCore::Node::dispatchTouchEvent):
63 (WebCore::Touch::Touch):
65 (WebCore::Touch::cloneWithNewTarget):
69 (WebCore::TouchEventDispatchMediator::create):
71 (WebCore::TouchEventDispatchMediator::TouchEventDispatchMediator):
72 (WebCore::TouchEventDispatchMediator::event):
73 (WebCore::TouchEventDispatchMediator::dispatchEvent):
76 (WebCore::TouchEvent::setTouches):
77 (WebCore::TouchEvent::setTargetTouches):
78 (WebCore::TouchEvent::setChangedTouches):
79 (TouchEventDispatchMediator):
81 (WebCore::toTouchEvent):
83 (WebCore::TouchList::item):
87 * page/EventHandler.cpp:
88 (WebCore::EventHandler::hitTestResultInFrame): Removed the limitation. Adjusting is no longer done here.
89 (WebCore::EventHandler::handleTouchEvent):
91 2013-03-05 Hajime Morrita <morrita@google.com>
93 [Custom Elements][V8] Custom Element doesn't need its own WrapperTypeInfo
94 https://bugs.webkit.org/show_bug.cgi?id=111411
96 Reviewed by Kentaro Hara.
98 No new tests. No observable change yet.
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.
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
108 - ... <- HTMLElement <- HTMLDivElememnt <- ExistingCustomElement <- NewCustomElement
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.)
116 Using such WrapperTypeInfos, created custom element wrappers can
117 get appropriate set of method and properties regardless of its
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.
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:
138 2013-03-05 Aaron Colwell <acolwell@chromium.org>
140 Heap-use-after-free in WebCore::HTMLMediaElement::~HTMLMediaElement
141 https://bugs.webkit.org/show_bug.cgi?id=110623
143 Reviewed by Eric Seidel.
145 Test: http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html
147 * html/HTMLAudioElement.h:
149 * html/HTMLAudioElement.idl:
150 * html/HTMLMediaElement.cpp:
151 (WebCore::HTMLMediaElement::hasPendingActivity):
152 * html/HTMLMediaElement.idl:
154 2013-03-05 Chris Fleizach <cfleizach@apple.com>
156 AX: Support aria-posinset/setsize
157 https://bugs.webkit.org/show_bug.cgi?id=109725
159 Reviewed by Tim Horton.
161 Expose aria-setsize and aria-posinset through accessibility.
162 Right now only the Mac platform exposes them.
164 Test: platform/mac/accessibility/aria-setsize-posinset.html
166 * accessibility/AccessibilityObject.cpp:
167 (WebCore::AccessibilityObject::supportsARIASetSize):
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:
180 2013-03-05 Peter Nelson <peter@peterdn.com>
182 [WinCairo] Support for cookies is incomplete
183 https://bugs.webkit.org/show_bug.cgi?id=110147
185 Expired and HttpOnly cookies no longer accessible from JavaScript.
186 Cookies set in JavaScript now have correct domain/path.
188 Reviewed by Brent Fulgham.
190 Test: http/tests/cookies/http-get-cookie-set-in-js.html
192 * platform/network/curl/CookieJarCurl.cpp:
194 (WebCore::addMatchingCurlCookie):
195 (WebCore::getNetscapeCookieFormat):
196 (WebCore::setCookiesFromDOM):
197 (WebCore::cookieRequestHeaderFieldValue):
199 2013-03-05 Alec Flett <alecflett@chromium.org>
201 Fix mac clang build with long long
202 https://bugs.webkit.org/show_bug.cgi?id=111495
204 Unreviewed fix for mac build.
206 * Modules/indexeddb/IDBBackingStore.cpp:
207 (WebCore::IDBBackingStore::IDBBackingStore):
209 2013-03-05 Alec Flett <alecflett@chromium.org>
211 Fix mac clang build with long long
212 https://bugs.webkit.org/show_bug.cgi?id=111495
214 Unreviewed fix for mac build.
216 * Modules/indexeddb/IDBBackingStore.cpp:
217 (WebCore::IDBBackingStore::IDBBackingStore):
219 2013-03-05 Aaron Colwell <acolwell@chromium.org>
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
224 Reviewed by Adam Barth.
226 No new tests. This doesn't change user visible behavior.
228 * bindings/scripts/CodeGeneratorV8.pm:
229 (GenerateNamedConstructor):
230 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
232 2013-03-05 Shawn Singh <shawnsingh@chromium.org>
234 Fix default background of a dragged image.
235 https://bugs.webkit.org/show_bug.cgi?id=110512
237 Reviewed by Tony Chang.
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.
247 ManualTests/drag-background-with-padding.html
249 Infrastructure for retrieving the drag image for pixel testing
253 (WebCore::Frame::nodeImage):
255 2013-03-05 Emil A Eklund <eae@chromium.org>
257 ASSERTION FAILED: i < size(), UNKNOWN in WebCore::RenderTableSection::layout
258 https://bugs.webkit.org/show_bug.cgi?id=108838
260 Reviewed by Levi Weintraub.
262 Ensure that RenderTable::recalcSections is called when moving a
263 TableSection by calling setNeedsSectionRecalc in addChild for
266 Test: fullscreen/full-screen-table-section.html
268 * rendering/RenderTable.cpp:
269 (WebCore::RenderTable::addChild):
271 2013-03-05 Kenneth Russell <kbr@google.com>
273 Upgrade ANGLE to r1987
274 https://bugs.webkit.org/show_bug.cgi?id=111381
276 Reviewed by Dean Jackson.
278 Covered by existing tests. Ran WebGL conformance tests in Safari
279 to ensure correct operation of patch.
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.
294 2013-03-05 Alec Flett <alecflett@chromium.org>
296 IndexedDB: Add IDBBackingStoreTest
297 https://bugs.webkit.org/show_bug.cgi?id=111233
299 Reviewed by Adam Barth.
301 These are tweaks to make IDBBackingStore more easily testable.
303 * Modules/indexeddb/IDBBackingStore.cpp:
304 (WebCore::IDBBackingStore::IDBBackingStore): Allow use without a backing store.
306 2013-03-04 James Robinson <jamesr@chromium.org>
308 [chromium] Move check for threaded compositing from WebCompositorSupport to Platform
309 https://bugs.webkit.org/show_bug.cgi?id=111386
311 Reviewed by Adrienne Walker.
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.
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):
327 2013-03-05 Anders Carlsson <andersca@apple.com>
329 Split up the storage event dispatch functions further
330 https://bugs.webkit.org/show_bug.cgi?id=111482
332 Reviewed by Beth Dakin.
334 Add new functions for dispatching storage events to a set of frames.
336 * storage/StorageAreaImpl.cpp:
337 (WebCore::StorageAreaImpl::dispatchStorageEvent):
338 * storage/StorageEventDispatcher.cpp:
339 (WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):
340 (WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
342 (WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
343 (WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):
344 * storage/StorageEventDispatcher.h:
346 (StorageEventDispatcher):
348 2013-03-05 Stephen Chenney <schenney@chromium.org>
350 Crash when ImageLoader deletes Element inside SVGImageElement
351 https://bugs.webkit.org/show_bug.cgi?id=111085
353 Reviewed by Abhishek Arya.
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.
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.
366 Test: svg/custom/image-with-attr-change-after-delete-crash.html
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.
377 2013-03-05 Antoine Quint <graouts@apple.com>
379 Web Inspector: identify reflection layers in LayerTreeAgent
380 https://bugs.webkit.org/show_bug.cgi?id=111419
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.
391 Reviewed by Dean Jackson.
393 Test: inspector-protocol/layers/layers-reflected-content.html
395 * inspector/Inspector.json:
396 * inspector/InspectorLayerTreeAgent.cpp:
397 (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
399 2013-03-05 peavo@outlook.com <peavo@outlook.com>
401 [WinCairo] Compile fix after r144024.
402 https://bugs.webkit.org/show_bug.cgi?id=111306
404 Reviewed by James Robinson.
406 * page/scrolling/ScrollingCoordinator.cpp: Added guard for USE(ACCELERATED_COMPOSITING).
407 * page/scrolling/ScrollingCoordinator.h: Added guard for USE(ACCELERATED_COMPOSITING).
409 2013-03-05 James Weatherall <wez@chromium.org>
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
414 Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.
416 Reviewed by Ojan Vafai.
418 * platform/chromium/KeyCodeConversionGtk.cpp:
419 (WebCore::windowsKeyCodeForKeyEvent):
421 2013-03-05 Alec Flett <alecflett@chromium.org>
423 IndexedDB: Properly refactor frontend/backend code by #includes
424 https://bugs.webkit.org/show_bug.cgi?id=110653
426 Reviewed by Dimitri Glazkov.
428 IndexedDB has a distinct backend and frontend, with well defined
429 *Interface / *Callbacks classes distinguishing them, respectively.
431 This makes sure that the frontend and backend do not include each
432 other and fixes build problems that occurred as a result.
434 Specifically this moves enums out of IDBCursor and IDBTransaction
435 into IndexedDB.h in a new WebCore::IndexedDB namespace.
437 No new tests, as this is just a refactor.
439 2013-03-05 Jeffrey Pfau <jpfau@apple.com>
441 Clear associated cache partitions when deleting origins' cache
442 https://bugs.webkit.org/show_bug.cgi?id=111383
444 Reviewed by Maciej Stachowiak.
446 Clear the cache partitions associated with the origin being cleared.
448 Not possible to test with current automated test tools, must be tested manually.
450 * loader/cache/MemoryCache.cpp:
451 (WebCore::MemoryCache::removeResourcesWithOrigin):
453 2013-03-04 Ojan Vafai <ojan@chromium.org>
455 Inline min/maxInstrinsicLogicalWidth functions
456 https://bugs.webkit.org/show_bug.cgi?id=111399
458 Reviewed by Tony Chang.
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.
465 * rendering/RenderBox.cpp:
466 (WebCore::RenderBox::fillAvailableMeasure):
467 (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
468 (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
469 * rendering/RenderBox.h:
471 2013-03-05 Victor Carbune <vcarbune@chromium.org>
473 Cue line-height property shouldn't be inherited from the video element
474 https://bugs.webkit.org/show_bug.cgi?id=111262
476 Reviewed by Eric Carlson.
478 Test: media/track/track-cue-rendering-on-resize.html
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.
484 2013-03-05 Joshua Bell <jsbell@chromium.org>
486 IndexedDB: Remove some unused binding code
487 https://bugs.webkit.org/show_bug.cgi?id=111463
489 Reviewed by Adam Barth.
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.
497 No new tests - just removing dead code.
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.
506 2013-03-05 Sheriff Bot <webkit.review.bot@gmail.com>
508 Unreviewed, rolling out r144798.
509 http://trac.webkit.org/changeset/144798
510 https://bugs.webkit.org/show_bug.cgi?id=111478
512 "broke chromium windows build" (Requested by dpranke on
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:
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:
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:
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):
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:
586 (WebCore::IDBIndex::openCursor):
587 (WebCore::IDBIndex::openKeyCursor):
588 * Modules/indexeddb/IDBObjectStore.cpp:
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:
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):
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.
620 2013-03-05 Tommy Widenflycht <tommyw@google.com>
622 MediaStream API: Allow local and remote descriptions to be accessed after close
623 https://bugs.webkit.org/show_bug.cgi?id=111437
625 Reviewed by Adam Barth.
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.
630 Existing tests expanded to cover patch.
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):
639 2013-03-05 Charlie Reis <creis@chromium.org>
641 Add FrameLoaderClient::didAccessInitialDocument
642 https://bugs.webkit.org/show_bug.cgi?id=107963
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.
648 Only takes effect for PLATFORM(CHROMIUM), since no other platforms
649 listen to the notification.
651 Reviewed by Adam Barth.
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):
664 * loader/FrameLoader.h:
666 * loader/FrameLoaderClient.h:
668 (WebCore::FrameLoaderClient::didAccessInitialDocument):
670 2013-03-05 Otto Derek Cheung <otcheung@rim.com>
672 [BlackBerry] Fix assertion in CookieManager::getBackingStoreCookies
673 https://bugs.webkit.org/show_bug.cgi?id=111468
675 Reviewed by Rob Buis.
676 Internally reviewed by Konrad Piascik.
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.
683 Safer to flush everything out and try again.
685 * platform/blackberry/CookieManager.cpp:
686 (WebCore::CookieManager::getBackingStoreCookies):
688 2013-03-05 Tony Gentilcore <tonyg@chromium.org>
690 CompactHTMLToken does not need an XSSInfo pointer
691 https://bugs.webkit.org/show_bug.cgi?id=111423
693 Reviewed by Eric Seidel.
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.
698 No new tests because no new functionality.
700 * html/parser/BackgroundHTMLParser.cpp:
701 (WebCore::checkThatXSSInfosAreSafeToSendToAnotherThread):
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:
713 * html/parser/HTMLDocumentParser.cpp:
714 (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
715 * html/parser/HTMLDocumentParser.h:
717 * html/parser/XSSAuditorDelegate.h:
721 2013-03-05 Anders Carlsson <andersca@apple.com>
723 Split StorageEventDispatcher::dispatch into two functions
724 https://bugs.webkit.org/show_bug.cgi?id=111464
726 Reviewed by Beth Dakin.
728 Split StorageEventDispatcher::dispatch into dispatchSessionStorageEvent and
729 dispatchLocalStorageEvent and make StorageAreaImpl::dispatchStorageEvent call
730 the right function based on the storage area type.
732 * storage/StorageAreaImpl.cpp:
733 (WebCore::StorageAreaImpl::dispatchStorageEvent):
734 * storage/StorageEventDispatcher.cpp:
735 (WebCore::StorageEventDispatcher::dispatchSessionStorageEvent):
737 (WebCore::StorageEventDispatcher::dispatchLocalStorageEvent):
738 * storage/StorageEventDispatcher.h:
739 (StorageEventDispatcher):
741 2013-03-05 Brent Fulgham <bfulgham@webkit.org>
743 [WinCairo] Unreviewed build fix after r144024.
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.
751 2013-03-05 Alec Flett <alecflett@chromium.org>
753 IndexedDB: Properly refactor frontend/backend code by #includes
754 https://bugs.webkit.org/show_bug.cgi?id=110653
756 Reviewed by Dimitri Glazkov.
758 IndexedDB has a distinct backend and frontend, with well defined
759 *Interface / *Callbacks classes distinguishing them, respectively.
761 This makes sure that the frontend and backend do not include each
762 other and fixes build problems that occurred as a result.
764 Specifically this moves enums out of IDBCursor and IDBTransaction
765 into IndexedDB.h in a new WebCore::IndexedDB namespace.
767 No new tests, as this is just a refactor.
769 2013-03-05 James Robinson <jamesr@chromium.org>
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
774 Reviewed by Darin Adler.
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()
780 * dom/ContainerNode.cpp:
781 (WebCore::ContainerNode::setActive):
782 * page/ChromeClient.h:
783 (WebCore::ChromeClient::supportsImmediateInvalidation):
785 2013-03-05 Anders Carlsson <andersca@apple.com>
787 Simplify storage event dispatch somewhat
788 https://bugs.webkit.org/show_bug.cgi?id=111461
790 Reviewed by Beth Dakin.
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.
796 * storage/StorageAreaImpl.cpp:
797 (WebCore::StorageAreaImpl::setItem):
798 (WebCore::StorageAreaImpl::removeItem):
799 (WebCore::StorageAreaImpl::clear):
800 (WebCore::StorageAreaImpl::dispatchStorageEvent):
802 * storage/StorageAreaImpl.h:
805 2013-03-05 Tony Chang <tony@chromium.org>
807 Fix some crashes in render sliders
808 https://bugs.webkit.org/show_bug.cgi?id=111458
810 Reviewed by Ojan Vafai.
812 Fix some cases where we assumed the renderer is a renderBox.
814 Test: fast/forms/range/slider-inline-crash.html
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.
820 2013-03-04 Andrew Scherkus <scherkus@chromium.org>
822 REGRESSION(r142191): Fix closed caption buttons for ports still using the painting path.
823 https://bugs.webkit.org/show_bug.cgi?id=111109
825 Reviewed by Eric Carlson.
827 Covered by following tests:
828 media/track/track-cue-rendering-horizontal.html
829 media/track/track-cue-rendering-vertical.html
831 * rendering/RenderTheme.cpp:
832 (WebCore::RenderTheme::paint):
833 * rendering/RenderTheme.h:
834 (WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
836 2013-03-05 Gwang Yoon Hwang <ryumiel@company100.net>
838 Coordinated Graphics: CoordinatedGraphicsLayer makes CoordinatedGraphicsScene perform via CoordinatedGraphicsState.
839 https://bugs.webkit.org/show_bug.cgi?id=108294
841 Reviewed by Anders Carlsson.
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.
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.
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.
861 This patch is based on Dongsung Huang, and Noam's work in
862 https://bugs.webkit.org/show_bug.cgi?id=108294
864 No new tests, covered by existing tests.
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):
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:
926 (CoordinatedGraphicsScene):
927 * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h: Added.
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:
938 2013-03-05 Roger Fong <roger_fong@apple.com>
940 Unreviewed. AppleWin VS2010 build fix.
942 * WebCore.vcxproj/WebCore.vcxproj:
943 * WebCore.vcxproj/WebCore.vcxproj.filters:
944 * rendering/RenderingAllInOne.cpp:
946 2013-03-05 Bem Jones-Bey <bjonesbe@adobe.com>
948 [CSS Exclusions] shape-outside on floats for polygon shapes
949 https://bugs.webkit.org/show_bug.cgi?id=98676
951 Reviewed by David Hyatt.
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.
959 Test: fast/exclusions/shape-outside-floats/shape-outside-floats-simple-polygon.html
961 * rendering/ExclusionShapeInfo.cpp:
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
970 * rendering/ExclusionShapeInfo.h:
972 (WebCore::ExclusionShapeInfo::~ExclusionShapeInfo): Since
973 computeSegmentsForLine is virtual, the destructor must be virtual
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
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
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
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.
1045 2013-03-04 David Hyatt <hyatt@apple.com>
1047 [New Multicolumn] Autogenerate regions for columns.
1048 https://bugs.webkit.org/show_bug.cgi?id=111363
1050 Reviewed by Dean Jackson.
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.
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.
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
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.
1074 * rendering/RenderBlock.cpp:
1075 (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
1076 (WebCore::RenderBlock::layoutBlockChild):
1077 * rendering/RenderBlock.h:
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.
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.
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.
1097 (WebCore::RenderFlowThread::layout):
1098 Changed to move the region validation code into its own function that is
1099 now called from here.
1101 (WebCore::RenderFlowThread::updateLogicalWidth):
1102 Don't assert if a region set needs layout.
1104 (WebCore::RenderFlowThread::computeLogicalHeight):
1105 Ditto. Don't assert if a region set needs layout. That's expected now.
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
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.
1119 (WebCore::RenderFlowThread::mapFromFlowToRegion):
1120 Modified to turn auto-generation off, since this is not really
1121 a "layout-time" function.
1123 (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
1124 Modified to not assert if a region set needs layout, since that is
1127 * rendering/RenderFlowThread.h:
1128 Changes to remove const from the methods that can trigger region
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.
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
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.
1145 (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
1146 We now lay out the flow thread as a special excluded child (like the legend
1149 * rendering/RenderMultiColumnBlock.h:
1150 (RenderMultiColumnBlock):
1151 Add new overrides like layoutSpecialExcludedChild.
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
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
1165 * rendering/RenderMultiColumnFlowThread.h:
1166 (RenderMultiColumnFlowThread):
1167 Adding new method declarations like autoGenerateRegionsToBlockOffset.
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().
1175 * rendering/RenderMultiColumnSet.h:
1176 Remove setFlowThreadPortionRect override, since the function can just be simple
1177 and non-virtual in RenderRegion now.
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
1185 * rendering/RenderRegion.h:
1186 (WebCore::RenderRegion::setFlowThreadPortionRect):
1187 Changed to be non-virtual now that RenderMultiColumnSet doesn't need to override.
1189 2013-03-04 Alexey Proskuryakov <ap@apple.com>
1191 Make AsyncFileReader work without ScriptExecutionContext
1192 https://bugs.webkit.org/show_bug.cgi?id=111376
1194 Reviewed by Anders Carlsson.
1196 * WebCore.xcodeproj/project.pbxproj: Added MainThreadTask.h.
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.
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):
1217 (WebCore::AsyncFileStream::openForReadOnFileThread):
1218 (WebCore::AsyncFileStream::openForWriteOnFileThread):
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.
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.
1233 * platform/MainThreadTask.h: Added. This implements callOnMainThread with multiple
1234 strongly typed arguments. Closely based on CrossThreadTask.h.
1236 * platform/network/BlobResourceHandle.cpp:
1237 (WebCore::BlobResourceHandle::BlobResourceHandle): Create AsyncFileStream directly.
1239 * platform/network/ResourceHandleClient.h: Removed createAsyncFileStream().
1241 2013-03-05 Jessie Berlin <jberlin@apple.com>
1243 Update the localizable strings file.
1245 Rubber-stamped by Anders Carlsson.
1247 * English.lproj/Localizable.strings:
1249 2013-03-05 Chris Fleizach <cfleizach@apple.com>
1251 AX: aria-label does not override text content on iOS
1252 https://bugs.webkit.org/show_bug.cgi?id=111222
1254 Reviewed by David Kilzer.
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.
1260 Test: platform/iphone-simulator/accessibility/aria-label-with-internal-text.html
1262 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1263 (-[WebAccessibilityObjectWrapper stringValueShouldBeUsedInLabel]):
1264 (-[WebAccessibilityObjectWrapper accessibilityLabel]):
1265 (-[WebAccessibilityObjectWrapper accessibilityHint]):
1266 * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
1268 2013-03-05 David Kilzer <ddkilzer@apple.com>
1270 BUILD FIX (r144698): Only enable SPEECH_SYNTHESIS for Mac
1271 <http://webkit.org/b/106742>
1273 Fixes the following build failures:
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
1283 * Configurations/FeatureDefines.xcconfig:
1284 - Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.
1286 2013-03-05 Dmitry Zvorygin <zvorygin@chromium.org>
1288 Web Inspector: registered new MIME type application/font-woff for WOFF fonts.
1289 https://bugs.webkit.org/show_bug.cgi?id=111418
1291 The WOFF MIME Type was formally registered as application/font-woff (FINALLY):
1292 http://www.iana.org/assignments/media-types/application/font-woff
1294 Reviewed by Pavel Feldman.
1296 * inspector/front-end/NetworkManager.js:
1297 (WebInspector.NetworkManager):
1298 (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):
1300 2013-03-05 Julien Chaffraix <jchaffraix@webkit.org>
1302 [CSS Grid Layout] Add parsing for grid-{end|after}
1303 https://bugs.webkit.org/show_bug.cgi?id=111372
1305 Reviewed by Tony Chang.
1307 Test: fast/css-grid-layout/grid-item-end-after-get-set.html
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}
1313 * css/CSSComputedStyleDeclaration.cpp:
1314 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1315 Added the new properties to our known properties. Also added
1316 support for getComputedStyle.
1318 * css/CSSParser.cpp:
1319 (WebCore::CSSParser::parseValue):
1320 Added parsing for the new properties.
1322 * css/CSSProperty.cpp:
1323 (WebCore::CSSProperty::isInheritedProperty):
1324 The new properties are not inherited.
1326 * css/CSSPropertyNames.in:
1327 Added the new properties.
1329 * css/StyleResolver.cpp:
1330 (WebCore::StyleResolver::applyProperty):
1331 Added code to handle applying them to our style.
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.
1341 2013-03-05 Andrey Kosyakov <caseq@chromium.org>
1343 Unreviewed follow-up to r144756, fix broken inspector-less build.
1345 * inspector/InspectorInstrumentation.h:
1346 (WebCore::InspectorInstrumentation::willWriteHTML):
1348 2013-03-05 Mark Lam <mark.lam@apple.com>
1350 Improve robustness of WebSQL quota management.
1351 https://bugs.webkit.org/show_bug.cgi?id=110600.
1353 Reviewed by Geoffrey Garen.
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.
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).
1363 The mutex mutual exclusion also serves to ensure that only 1 thread
1364 can write to a sqlite database at one time.
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).
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.
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.
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.
1388 4. Fixed a bug in SQLStatement to check if the errorCallback exists
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.
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):
1427 * WebCore.vcproj/WebCore.vcproj:
1428 * WebCore.vcxproj/WebCore.vcxproj:
1429 * WebCore.vcxproj/WebCore.vcxproj.filters:
1430 * WebCore.xcodeproj/project.pbxproj:
1432 * platform/FileSystem.h:
1433 * platform/posix/FileSystemPOSIX.cpp:
1434 (WebCore::lockFile):
1435 (WebCore::unlockFile):
1437 2013-03-05 Ilya Tikhonovsky <loislo@chromium.org>
1439 Web Inspector: move PopoverContentHelper from TimelinePresentationModel.js to Popover.js.
1440 https://bugs.webkit.org/show_bug.cgi?id=111431
1442 Reviewed by Yury Semikhatsky.
1444 class WebInspector.TimelinePresentationModel.PopoverContentHelper was renamed to WebInspector.PopoverContentHelper.
1445 Style names were changed accordingly.
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:
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:
1468 2013-03-05 Yury Semikhatsky <yurys@chromium.org>
1470 Web Inspector: remove "Live native memory chart" experiment
1471 https://bugs.webkit.org/show_bug.cgi?id=111432
1473 Reviewed by Alexander Pavlov.
1475 Removed support for live native memory chart.
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:
1487 2013-03-05 Andrey Kosyakov <caseq@chromium.org>
1489 Web Inspector: remove length parameter from Parse HTML timeline event
1490 https://bugs.webkit.org/show_bug.cgi?id=111421
1492 Reviewed by Yury Semikhatsky.
1494 - remove length parameter in all instrumentation methods used to emit ParseHTML timeline event;
1495 - drive-by style fixes.
1497 * html/parser/HTMLDocumentParser.cpp:
1498 (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
1499 (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
1500 (WebCore::HTMLDocumentParser::pumpTokenizer):
1501 * inspector/InspectorInstrumentation.cpp:
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):
1519 2013-03-05 Alexei Filippov <alph@chromium.org>
1521 Web Inspector: allow each profiler panel to have own landing page
1522 https://bugs.webkit.org/show_bug.cgi?id=111298
1524 Reviewed by Yury Semikhatsky.
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.
1530 No new tests: code refactoring.
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)):
1561 2013-03-05 Eugene Klyuchnikov <eustas@chromium.org>
1563 Web Inspector: Clarify some StylesSidebarPanel and CSSMetadata JSDocs.
1564 https://bugs.webkit.org/show_bug.cgi?id=111427
1566 Reviewed by Alexander Pavlov.
1568 Goal: reflect in JSDoc that non-null array is passed to completionsReady callback.
1570 * inspector/front-end/CSSMetadata.js:
1571 Added JSDocs, avoided possible NPEs.
1572 * inspector/front-end/StylesSidebarPane.js:
1573 Fixed JSDocs, removed unused assignment.
1575 2013-03-05 David Kilzer <ddkilzer@apple.com>
1577 BUILD FIX (r144727): Change type of columnRange and rowRange to pair<unsigned, unsigned>
1578 <http://webkit.org/b/110050>
1580 Fixes the following build failures:
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);
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);
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);
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);
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);
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);
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);
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);
1612 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1613 (-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
1614 (-[WebAccessibilityObjectWrapper accessibilityRowRange]):
1615 (-[WebAccessibilityObjectWrapper accessibilityColumnRange]):
1617 2013-03-04 Andrey Kosyakov <caseq@chromium.org>
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
1622 Reviewed by Pavel Feldman.
1624 * inspector/InspectorTimelineAgent.cpp:
1625 (WebCore::InspectorTimelineAgent::pushGCEventRecords):
1626 (WebCore::InspectorTimelineAgent::addRecordToTimeline):
1627 (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
1628 (WebCore::InspectorTimelineAgent::setFrameIdentifier):
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):
1639 2013-03-05 Tommy Widenflycht <tommyw@google.com>
1641 MediaStream API: Add the getStreamById method on RTCPeerConnection
1642 https://bugs.webkit.org/show_bug.cgi?id=111311
1644 Reviewed by Adam Barth.
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
1649 Existing tests have been extended to cover patch.
1651 * Modules/mediastream/RTCPeerConnection.cpp:
1652 (WebCore::RTCPeerConnection::getStreamById):
1654 * Modules/mediastream/RTCPeerConnection.h:
1655 (RTCPeerConnection):
1656 * Modules/mediastream/RTCPeerConnection.idl:
1657 * platform/chromium/support/WebMediaStream.cpp:
1658 (WebKit::WebMediaStream::initialize):
1660 * platform/mediastream/MediaStreamSource.cpp:
1661 (WebCore::MediaStreamSource::setReadyState):
1663 2013-03-05 Antoine Quint <graouts@apple.com>
1665 Web Inspector: allow retrieval of composited layers in a given DOM subtree
1666 https://bugs.webkit.org/show_bug.cgi?id=111312
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.
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
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).
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
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.
1696 Reviewed by Simon Fraser.
1698 Test: inspector-protocol/layers/layers-for-node.html
1700 * inspector/Inspector.json:
1701 * inspector/InspectorLayerTreeAgent.cpp:
1702 (WebCore::InspectorLayerTreeAgent::layersForNode):
1704 (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
1705 (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
1706 (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
1707 (WebCore::InspectorLayerTreeAgent::idForNode):
1708 * inspector/InspectorLayerTreeAgent.h:
1709 (InspectorLayerTreeAgent):
1711 2013-03-04 Andrey Kosyakov <caseq@chromium.org>
1713 Web Inspector: use timestamps consistent with rest of Timeline in WebSocket events.
1714 https://bugs.webkit.org/show_bug.cgi?id=111344
1716 - create web socket related records in a manner consistent with the rest of timeline.
1718 Reviewed by Pavel Feldman.
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):
1728 2013-03-05 Andrei Bucur <abucur@adobe.com>
1730 [CSS Regions] Crash when MathML used in CSS Regions
1731 https://bugs.webkit.org/show_bug.cgi?id=110686
1733 Reviewed by David Hyatt.
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.
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.
1743 Test: fast/regions/mathml-crash.html
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):
1751 (WebCore::FragmentationDisabler::~FragmentationDisabler):
1752 * rendering/RenderView.h:
1753 (FragmentationDisabler):
1755 * rendering/mathml/RenderMathMLBlock.cpp:
1756 (WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):
1758 2013-03-05 Mike West <mkwst@chromium.org>
1760 Cleanup: Move HitTestLocation and HitTestResult into separate files.
1761 https://bugs.webkit.org/show_bug.cgi?id=111294
1763 Reviewed by Allan Sandfeld Jensen.
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.
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.
1775 * GNUmakefile.list.am:
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.
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.
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.
1811 2013-03-05 Jochen Eisinger <jochen@chromium.org>
1813 Refactor UserGestureIndicator::Token to be a top-level class
1814 https://bugs.webkit.org/show_bug.cgi?id=111412
1816 Reviewed by Nico Weber.
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
1822 * dom/UserGestureIndicator.cpp:
1823 (WebCore::UserGestureIndicator::UserGestureIndicator):
1824 (WebCore::UserGestureIndicator::currentToken):
1825 * dom/UserGestureIndicator.h:
1827 (WebCore::UserGestureToken::~UserGestureToken):
1829 (UserGestureIndicator):
1832 * page/EventHandler.h:
1834 2013-03-05 Mike West <mkwst@chromium.org>
1836 Remove redundant code in Document::updateHoverActiveState.
1837 https://bugs.webkit.org/show_bug.cgi?id=111303
1839 Reviewed by Darin Adler.
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.
1848 There should be no web-visible effect from this change; it should simply
1849 make this function less complex.
1851 Extracted from Allan Sandfeld Jensen's original patch to wkbug.com/98168
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.
1859 2013-03-05 Koji Hara <kojih@chromium.org>
1861 [V8] Remove unused custom indexedPropertyGetter
1862 https://bugs.webkit.org/show_bug.cgi?id=111409
1864 Reviewed by Kentaro Hara.
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.
1870 No new tests. Simple refactoring.
1872 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Remove indexedPropertyGetter
1874 2013-03-05 Hajime Morrita <morrita@google.com>
1876 ShadowRoot needs guardRef() and guardDeref()
1877 https://bugs.webkit.org/show_bug.cgi?id=109777
1879 Reviewed by Dimitri Glazkov.
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.
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.
1897 No new tests. Covered by existing tests.
1901 (WebCore::Document::Document):
1902 (WebCore::Document::~Document):
1903 (WebCore::Document::dispose): Extracted from removedLastRef()
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.
1911 (WebCore::Node::~Node):
1912 (WebCore::Node::removedLastRef):
1914 (WebCore::Node::setTreeScope):
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.
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):
1942 2013-03-04 Uday Kiran <udaykiran@motorola.com>
1944 getPropertyValue for -webkit-text-stroke returns null, should compute the shorthand value
1945 https://bugs.webkit.org/show_bug.cgi?id=111018
1947 Reviewed by Alexander Pavlov.
1949 Test: fast/css/getPropertyValue-webkit-text-stroke.html
1951 * css/StylePropertySet.cpp:
1952 (WebCore::StylePropertySet::getPropertyValue):
1954 2013-03-04 Uday Kiran <udaykiran@motorola.com>
1956 getPropertyValue for -webkit-columns returns null, should compute the shorthand value
1957 https://bugs.webkit.org/show_bug.cgi?id=111011
1959 Reviewed by Alexander Pavlov.
1961 Test: fast/css/getPropertyValue-columns.html
1963 * css/StylePropertySet.cpp:
1964 (WebCore::StylePropertySet::getPropertyValue):
1966 2013-03-04 Vsevolod Vlasov <vsevik@chromium.org>
1968 Web Inspector: Do not accumulate file system files, add them to workspace immediately
1969 https://bugs.webkit.org/show_bug.cgi?id=111325
1971 Reviewed by Pavel Feldman.
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):
1980 2013-03-04 Kinuko Yasuda <kinuko@chromium.org>
1982 Unreviewed Windows build fix attempt.
1984 floor method is ambigious so explicitly specify the type.
1986 * html/canvas/WebGLRenderingContext.cpp:
1987 (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
1989 2013-03-04 Chris Fleizach <cfleizach@apple.com>
1991 AX: cellForColumnAndRow fails for tables with hidden table cells
1992 https://bugs.webkit.org/show_bug.cgi?id=110050
1994 Reviewed by Tim Horton.
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
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.
2009 Test: accessibility/table-with-hidden-head-section.html
2011 * accessibility/AccessibilityARIAGrid.cpp:
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:
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):
2044 2013-03-04 Arpita Bahuguna <a.bah@samsung.com>
2046 getAttribute does not behave correctly for mixed-case attributes on HTML elements
2047 https://bugs.webkit.org/show_bug.cgi?id=105713
2049 Reviewed by Andreas Kling.
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]
2058 Test: fast/dom/Element/getAttribute-case-insensitivity.html
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.
2069 2013-03-04 Kunihiko Sakamoto <ksakamoto@chromium.org>
2071 [Chromium] Add runtime flag for font load events
2072 https://bugs.webkit.org/show_bug.cgi?id=111296
2074 Reviewed by Kent Tamura.
2076 Add a runtime feature flag for FontLoader interface (disabled by default),
2077 and enable ENABLE_FONT_LOAD_EVENTS build flag for chromium.
2079 * bindings/generic/RuntimeEnabledFeatures.cpp:
2081 * bindings/generic/RuntimeEnabledFeatures.h:
2082 (RuntimeEnabledFeatures):
2083 (WebCore::RuntimeEnabledFeatures::setFontLoadEventsEnabled):
2084 (WebCore::RuntimeEnabledFeatures::fontLoadEventsEnabled):
2086 2013-03-04 Brandon Jones <bajones@google.com>
2088 WEBGL_compressed_texture_atc implementation
2089 https://bugs.webkit.org/show_bug.cgi?id=110496
2091 Reviewed by Kenneth Russell.
2093 Test: webgl/conformance/extensions/webgl-compressed-texture-atc.html
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.
2099 * DerivedSources.make:
2100 * DerivedSources.pri:
2101 * GNUmakefile.list.am:
2104 * WebCore.xcodeproj/project.pbxproj:
2105 * bindings/js/JSWebGLRenderingContextCustom.cpp:
2107 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2108 (WebCore::toV8Object):
2109 * html/canvas/WebGLCompressedTextureATC.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
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.
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:
2123 (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
2124 (WebCore::WebGLRenderingContext::getExtension):
2125 (WebCore::WebGLRenderingContext::getSupportedExtensions):
2126 (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
2127 * html/canvas/WebGLRenderingContext.h:
2129 (WebGLRenderingContext):
2130 * platform/graphics/Extensions3D.h:
2133 2013-03-04 Eugene Klyuchnikov <eustas@chromium.org>
2135 Web Inspector: Exceptions when WebInspector run in hosted mode.
2136 https://bugs.webkit.org/show_bug.cgi?id=111326
2138 Reviewed by Pavel Feldman.
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.
2144 Currently protocol enums are referenced only from NetworkManager.
2146 Test: inspector/inspector-backend-commands-generation.html
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.
2154 2013-03-04 Chris Rogers <crogers@google.com>
2156 Add audio hardware support for multi-channel output by implementing AudioDestinationNode.maxChannelCount
2157 https://bugs.webkit.org/show_bug.cgi?id=111385
2159 Reviewed by James Robinson.
2161 See specification details for .maxChannelCount:
2162 https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioDestinationNode
2164 * Modules/webaudio/AudioDestinationNode.h:
2165 (WebCore::AudioDestinationNode::maxChannelCount):
2166 * Modules/webaudio/AudioDestinationNode.idl:
2167 * Modules/webaudio/AudioNode.h:
2168 Implement .maxChannelCount attribute.
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
2184 * platform/audio/AudioDestination.h:
2186 * platform/audio/chromium/AudioDestinationChromium.cpp:
2187 (WebCore::AudioDestination::maxChannelCount):
2188 (WebCore::AudioDestinationChromium::render):
2189 Call into chromium WebKit API: audioHardwareOutputChannels().
2191 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2192 (WebCore::AudioDestination::maxChannelCount):
2193 Add basic implementation for maxChannelCount() only supporting stereo output.
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.
2200 2013-03-04 Adam Barth <abarth@webkit.org>
2202 Background HTML parser can rewind the tokenizer after end-of-file
2203 https://bugs.webkit.org/show_bug.cgi?id=111365
2205 Reviewed by Eric Seidel.
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.
2211 This patch renames checkForSpeculationFailure to validateSpeculations
2212 and ensures that it always takes ownership of the main thread's
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
2220 Test: fast/parser/document-write-fighting-eof.html
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):
2234 2013-03-04 Tim 'mithro' Ansell <mithro@mithis.com>
2236 Make sure that clearOwnerNode also clears StyleResolver references (via didMutate).
2237 https://bugs.webkit.org/show_bug.cgi?id=109446
2239 Reviewed by Eric Seidel.
2241 Test: fast/css/stylesheet.innerHTML-calls-didmutate.html
2243 * css/CSSStyleSheet.h:
2245 2013-03-04 Kentaro Hara <haraken@chromium.org>
2247 Unreviewd build fix after r144701.
2249 * platform/EventTracer.cpp:
2250 (WebCore::EventTracer::initialize):
2252 2013-03-04 Min Qin <qinmin@chromium.org>
2254 Fix some style issues in RenderLayerCompositor
2255 https://bugs.webkit.org/show_bug.cgi?id=111369
2257 Reviewed by Simon Fraser.
2259 Just style fix, no test needed
2261 * rendering/RenderLayerCompositor.cpp:
2262 (WebCore::RenderLayerCompositor::frameViewDidScroll):
2263 (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
2265 2013-03-04 Terry Anderson <tdanderson@chromium.org>
2267 Revert changes to RenderLayer::scrollByRecursively() that were added for gesture-scrolling
2268 https://bugs.webkit.org/show_bug.cgi?id=111007
2270 Reviewed by Simon Fraser.
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.
2279 No change in behavior, so no new tests needed.
2281 * rendering/RenderLayer.cpp:
2282 (WebCore::RenderLayer::scrollByRecursively):
2283 * rendering/RenderLayer.h:
2285 2013-03-04 Kentaro Hara <haraken@chromium.org>
2287 Unreviewed build fix after r144701.
2289 * platform/EventTracer.cpp:
2290 (WebCore::EventTracer::initialize):
2292 2013-03-04 Christian Biesinger <cbiesinger@chromium.org>
2294 REGRESSION (r143643): Buttons containing floats render differently
2295 https://bugs.webkit.org/show_bug.cgi?id=110933
2297 Reviewed by Ojan Vafai.
2299 Test: fast/forms/button-with-float.html
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
2308 2013-03-04 Chris Fleizach <cfleizach@apple.com>
2310 Support WebSpeech - Speech Synthesis
2311 https://bugs.webkit.org/show_bug.cgi?id=106742
2315 * Modules/speech/SpeechSynthesis.cpp:
2317 2013-03-04 Rafael Weinstein <rafaelw@chromium.org>
2319 Unreviewed, rolling out r144595.
2320 http://trac.webkit.org/changeset/144595
2321 https://bugs.webkit.org/show_bug.cgi?id=90341
2323 Causing multiple crashes in fast/dom/Element/* tests (hits
2324 assert in Attr.cp:215)
2327 (WebCore::Element::setAttributeNode):
2329 2013-02-26 Kentaro Hara <haraken@chromium.org>
2331 [chromium] Implement TRACE_EVENT macros for sampling profiling
2332 https://bugs.webkit.org/show_bug.cgi?id=110932
2334 Reviewed by Adam Barth.
2336 We are implementing TRACE_EVENT macros for sampling profiling.
2337 It works in the following mechanism:
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)
2342 - WebKit gets the addresses of the global state variables at the
2343 initialization step. (i.e. EventTracer::initialize())
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)
2349 - A sampling thread running in Chrome reads the global states
2350 periodically and visualizes the profiling results into about://tracing.
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.
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.
2359 * platform/EventTracer.cpp:
2360 (WebCore::EventTracer::initialize):
2361 (WebCore::EventTracer::getTraceCategoryEnabledFlag):
2363 * platform/EventTracer.h:
2366 * platform/chromium/EventTracerChromium.cpp:
2368 (WebCore::EventTracer::initialize):
2369 * platform/chromium/TraceEvent.h:
2371 2013-03-04 Chris Fleizach <cfleizach@apple.com>
2373 Support WebSpeech - Speech Synthesis
2374 https://bugs.webkit.org/show_bug.cgi?id=106742
2376 Reviewed by Simon Fraser.
2378 Enable speech synthesis for the Mac.
2380 * Configurations/FeatureDefines.xcconfig:
2382 2013-03-04 Ruslan Abdikeev <aruslan@chromium.org>
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
2387 Reviewed by Adam Barth.
2389 Test: fast/dom/icon-url-list-apple-touch.html
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.
2398 (WebCore::Document::shortcutIconURLs):
2400 (WebCore::Document::iconURLs):
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):
2410 (WebCore::Internals::allIconURLs):
2411 * testing/Internals.h:
2412 * testing/Internals.idl:
2414 2013-02-27 Jeffrey Pfau <jpfau@apple.com>
2416 Cache partitioning does not affect iframe MainResources
2417 https://bugs.webkit.org/show_bug.cgi?id=111022
2419 Reviewed by David Kilzer.
2421 Set the partition of a main resource request if in a subframe.
2423 Test: http/tests/cache/partitioned-cache-iframe.html
2425 * loader/FrameLoader.cpp:
2426 (WebCore::FrameLoader::loadURL):
2428 2013-03-04 Chris Fleizach <cfleizach@apple.com>
2430 AX: user agent shadow roots for plugins should be 'accessible'
2431 https://bugs.webkit.org/show_bug.cgi?id=111339
2433 Reviewed by Tim Horton.
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.
2439 * html/HTMLPlugInImageElement.cpp:
2440 (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
2442 2013-03-04 Alok Priyadarshi <alokp@chromium.org>
2444 [chromium] Form controls on composited layers are not painted properly
2445 https://bugs.webkit.org/show_bug.cgi?id=111366
2447 Reviewed by James Robinson.
2449 Set PlatformContextSkia::m_drawingToImageBuffer which is used as a hint to properly blend GDI-painted bitmap.
2451 * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
2452 (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
2454 2013-03-04 Simon Fraser <simon.fraser@apple.com>
2456 Give ViewportConstraints classes copy constructors
2457 https://bugs.webkit.org/show_bug.cgi?id=111367
2459 Reviewed by Beth Dakin.
2461 Downstream code requires that ViewportConstraints objects have
2462 copy constructors, so add them.
2464 Also clean up some redundant initialization of stack objects
2465 in RenderLayerCompositor.
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):
2480 2013-03-04 Roger Fong <roger_fong@apple.com>
2482 Unreviewed. AppleWin build fix.
2484 * html/parser/XSSAuditor.cpp:
2485 (WebCore::isSemicolonSeparatedAttribute):
2487 2013-03-04 Andreas Kling <akling@apple.com>
2489 CSSParser: Avoid temporary String when parsing hex colors.
2490 <http://webkit.org/b/111341>
2492 Reviewed by Anders Carlsson.
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.
2497 * css/CSSParser.cpp:
2498 (WebCore::CSSParser::fastParseColor):
2500 * css/CSSParserValues.h:
2503 2013-03-04 Julien Chaffraix <jchaffraix@webkit.org>
2505 [CSS Grid Layout] Add parsing for grid-{start|before}
2506 https://bugs.webkit.org/show_bug.cgi?id=110988
2508 Reviewed by Tony Chang.
2510 Test: fast/css-grid-layout/grid-item-start-before-get-set.html
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.
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.
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}.
2541 2013-03-04 Chris Fleizach <cfleizach@apple.com>
2543 WebSpeech: change voiceURI to voice
2544 https://bugs.webkit.org/show_bug.cgi?id=110773
2546 Reviewed by Tim Horton.
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.
2551 Test: platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html
2553 * Modules/speech/SpeechSynthesisUtterance.cpp:
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::]):
2572 2013-03-04 Victor Costan <costan@gmail.com>
2574 Filename passed to FormData.append() takes precedence over filename in
2576 https://bugs.webkit.org/show_bug.cgi?id=111255
2578 Reviewed by Alexey Proskuryakov.
2580 Test: http/tests/local/formdata/send-form-data-with-filename.html
2582 * platform/network/FormData.cpp:
2583 (WebCore::FormData::appendKeyValuePairItems): changed to implement the
2584 behavior in the XMLHttpRequest W3C spec.
2586 2013-03-04 Alexis Hetu <sugoi@chromium.org>
2588 Canvas and DOM go out of sync
2589 https://bugs.webkit.org/show_bug.cgi?id=107701
2591 Reviewed by Simon Fraser.
2593 Test: fast/canvas/canvas-overflow-hidden-animation.html
2595 Added an update of the current compositor from the layer's stacking
2596 container when the layer itself isn't a stacking container.
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.
2603 2013-03-04 Alexey Proskuryakov <ap@apple.com>
2605 Small BlobResourceHandle cleanup
2606 https://bugs.webkit.org/show_bug.cgi?id=111352
2608 Reviewed by Sam Weinig.
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().
2614 * platform/network/BlobRegistryImpl.cpp:
2615 (WebCore::loadResourceSynchronously):
2616 (WebCore::BlobRegistryImpl::createResourceHandle):
2617 (WebCore::BlobRegistryImpl::getBlobDataFromURL):
2618 * platform/network/BlobRegistryImpl.h:
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:
2632 2013-03-04 Vsevolod Vlasov <vsevik@chromium.org>
2634 Web Inspector: Introduce WebInspector.EventTarget interface for interfaces that dispatch events.
2635 https://bugs.webkit.org/show_bug.cgi?id=111320
2637 Reviewed by Pavel Feldman.
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):
2651 2013-03-04 Tom Sepez <tsepez@chromium.org>
2653 XSSAuditor bypass with --> comment syntax.
2654 https://bugs.webkit.org/show_bug.cgi?id=111349
2656 Reviewed by Adam Barth.
2658 Test: http/tests/security/xssAuditor/open-iframe-src-03.html
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.
2665 2013-03-04 Vsevolod Vlasov <vsevik@chromium.org>
2667 Web Inspector: Modal dialogs sometimes lose focus.
2668 https://bugs.webkit.org/show_bug.cgi?id=111317
2670 Reviewed by Pavel Feldman.
2672 setCurrentFocusElement doesn't give focus to an element anymore
2673 if modal glass pane is shown and element is not inside it.
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:
2688 2013-03-04 Roger Fong <roger_fong@apple.com>
2690 Unreviewed. AppleWin build fix.
2692 * WebCore.vcxproj/WebCore.vcxproj:
2694 2013-03-04 Dan Carney <dcarney@google.com>
2696 [v8] add isolate parameter to heap statistics calls
2697 https://bugs.webkit.org/show_bug.cgi?id=111308
2699 Reviewed by Jochen Eisinger.
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):
2711 2013-03-04 Jochen Eisinger <jochen@chromium.org>
2713 [chromium] remove deprecated hyphenation methods from Platform
2714 https://bugs.webkit.org/show_bug.cgi?id=111101
2716 Reviewed by Adam Barth.
2718 * platform/text/chromium/Hyphenation.cpp:
2719 (WebCore::canHyphenate):
2720 (WebCore::lastHyphenLocation):
2722 2013-03-04 Benjamin Poulain <benjamin@webkit.org>
2724 Use initialization from literal for MediaFeatureNames
2725 https://bugs.webkit.org/show_bug.cgi?id=111283
2727 Reviewed by Andreas Kling.
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.
2734 Also use the NotNull placement new to avoid a branch on silly allocators.
2736 2013-03-04 Joshua Bell <jsbell@chromium.org>
2738 [V8] Unreviewed. Rebaselined run-bindings-tests following r144617
2740 * bindings/scripts/test/V8/V8Float64Array.cpp:
2741 (WebCore::ConfigureV8Float64ArrayTemplate):
2742 (WebCore::V8Float64Array::GetTemplate):
2743 * bindings/scripts/test/V8/V8Float64Array.h:
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:
2772 * bindings/scripts/test/V8/V8TestInterface.cpp:
2773 (WebCore::ConfigureV8TestInterfaceTemplate):
2774 (WebCore::V8TestInterface::GetTemplate):
2775 * bindings/scripts/test/V8/V8TestInterface.h:
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:
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:
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:
2816 2013-03-04 Tony Chang <tony@chromium.org>
2818 Unreviewed, rolling out r144562.
2819 http://trac.webkit.org/changeset/144562
2820 https://bugs.webkit.org/show_bug.cgi?id=85642
2822 Caused KeyPadInsert faluires in webkit_unittests
2824 * platform/chromium/KeyCodeConversionGtk.cpp:
2825 (WebCore::windowsKeyCodeForKeyEvent):
2827 2013-03-04 Uday Kiran <udaykiran@motorola.com>
2829 getComputedStyle not implemented for -webkit-columns shorthand
2830 https://bugs.webkit.org/show_bug.cgi?id=111236
2832 Reviewed by Alexis Menard.
2834 Implement getComputedStyle for -webkit-columns shorthand.
2836 Test: fast/css/getComputedStyle/getComputedStyle-webkit-columns-shorthand.html
2838 * css/CSSComputedStyleDeclaration.cpp:
2839 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2841 2013-03-04 Levi Weintraub <leviw@chromium.org>
2843 Add support for 8 bit TextRuns on Chromium Linux & Mac
2844 https://bugs.webkit.org/show_bug.cgi?id=99393
2846 Reviewed by Eric Seidel.
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.
2852 Windows has platfom assumptions that TextRuns are 16 bit that need to be addressed
2853 before enabling this optimization.
2855 No new tests. No change in behavior.
2857 (WebCore::HarfBuzzShaperBase::setNormalizedBuffer):
2858 * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
2859 * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
2860 (WebCore::normalizeCharacters):
2861 (WebCore::HarfBuzzShaper::HarfBuzzShaper):
2863 2013-03-04 Alexis Menard <alexis@webkit.org>
2865 transition-property property and transition shorthand property doesn't accept "all, all".
2866 https://bugs.webkit.org/show_bug.cgi?id=111201
2868 Reviewed by Simon Fraser.
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.
2874 Test: LayoutTests/transitions/transitions-parsing.html
2876 * css/CSSParser.cpp:
2877 (WebCore::CSSParser::parseAnimationProperty):
2879 2013-03-04 Min Qin <qinmin@chromium.org>
2881 Don't apply page scale to clipRect if applyPageScaleFactorInCompositor is set to true
2882 https://bugs.webkit.org/show_bug.cgi?id=111229
2884 Reviewed by Simon Fraser.
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.
2890 * rendering/RenderLayerCompositor.cpp:
2891 (WebCore::RenderLayerCompositor::addToOverlapMap):
2893 2013-03-04 Ian Vollick <vollick@chromium.org>
2895 ASSERTION FAILED: m_clipRectsCache->m_respectingOverflowClip[clipRectsType] == (clipRectsContext.respectOverflowClip == RespectOverflowClip) in RenderLayer.
2896 https://bugs.webkit.org/show_bug.cgi?id=108257
2898 Reviewed by David Hyatt.
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
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
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
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.
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):
2940 (WebCore::ClipRectsCache::getIndex):
2941 (WebCore::RenderLayer::clipRects):
2942 * rendering/RenderLayerBacking.cpp:
2943 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2945 2013-03-04 Aaron Colwell <acolwell@chromium.org>
2947 Remove unused return value from SourceBufferPrivate::abort() and WebSourceBuffer::abort().
2948 https://bugs.webkit.org/show_bug.cgi?id=111195
2950 Reviewed by Adam Barth.
2952 No new tests. No user visible behavior changed.
2954 * platform/graphics/SourceBufferPrivate.h:
2955 (SourceBufferPrivate):
2957 2013-03-04 David Hyatt <hyatt@apple.com>
2959 [New Multicolumn] Eliminate the unique multicolumn flow thread style creation function
2960 https://bugs.webkit.org/show_bug.cgi?id=111338
2962 Reviewed by Allan Jensen.
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.
2967 * rendering/RenderMultiColumnBlock.cpp:
2969 (WebCore::RenderMultiColumnBlock::addChild):
2971 2013-03-04 Mario Sanchez Prada <mario.prada@samsung.com>
2973 [GTK] WebCore::returnString is unsafe and should be removed!
2974 https://bugs.webkit.org/show_bug.cgi?id=110423
2976 Reviewed by Martin Robinson.
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.
2983 * accessibility/atk/WebKitAccessibleUtil.cpp: Remove returnString().
2984 * accessibility/atk/WebKitAccessibleUtil.h: Ditto.
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.
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.
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.
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.
3029 2013-03-04 peavo@outlook.com <peavo@outlook.com>
3031 [Curl] Compile fix after r144216
3032 https://bugs.webkit.org/show_bug.cgi?id=111305
3034 Reviewed by Brent Fulgham.
3036 * platform/network/curl/ResourceRequest.h:
3037 (WebCore::ResourceRequest::cfURLRequest): Added new parameter.
3039 2013-03-03 David Hyatt <hyatt@apple.com>
3041 [New Multicolumn] Make sure region styling works for columns inside regions.
3042 https://bugs.webkit.org/show_bug.cgi?id=111276
3044 Reviewed by Sam Weinig.
3046 Test: fast/regions/region-styling-in-columns.html
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.
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.
3063 2013-03-04 Andrey Lushnikov <lushnikov@chromium.org>
3065 Web Inspector: WebInspector.AceTextEditor throws a warning
3066 https://bugs.webkit.org/show_bug.cgi?id=111315
3068 Reviewed by Pavel Feldman.
3070 Add WebInspector.AceTextEditor to externs.js to suppress closure
3071 compilation warning.
3073 No new tests: no change in behaviour.
3075 * inspector/front-end/externs.js:
3076 (WebInspector.AceTextEditor):
3078 2013-03-04 Antoine Quint <graouts@apple.com>
3080 Fix debug build under certain configurations, cause was
3081 http://trac.webkit.org/changeset/144624.
3083 * inspector/InspectorController.cpp:
3084 (WebCore::InspectorController::InspectorController):
3085 * inspector/InspectorLayerTreeAgent.cpp:
3086 (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
3087 * inspector/InspectorLayerTreeAgent.h:
3089 (WebCore::InspectorLayerTreeAgent::create):
3090 (InspectorLayerTreeAgent):
3092 2013-03-04 Allan Sandfeld Jensen <allan.jensen@digia.com>
3094 [Qt] REGRESSION(r141240) Crash in PluginPackage::fetchInfo
3095 https://bugs.webkit.org/show_bug.cgi?id=111322
3097 Reviewed by Simon Hausmann.
3099 Do not try to load blacklisted plugins.
3101 * plugins/qt/PluginPackageQt.cpp:
3102 (WebCore::PluginPackage::fetchInfo):
3104 2013-03-04 Alexis Menard <alexis@webkit.org>
3106 transition properties can't be found in CSSStyleDeclaration
3107 https://bugs.webkit.org/show_bug.cgi?id=110011
3109 Reviewed by Antti Koivisto.
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.
3127 Test : transitions/transitions-parsing.html
3129 * css/CSSComputedStyleDeclaration.cpp:
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.
3136 (WebCore::CSSParser::parseValue):
3137 (WebCore::CSSParser::parseTransitionShorthand): Add both prefixed and
3138 unprefixed longhands to the declarated style.
3139 (WebCore::CSSParser::parseAnimationProperty):
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.
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.
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:
3166 * css/StylePropertyShorthand.cpp:
3167 (WebCore::transitionShorthand):
3169 (WebCore::shorthandForProperty): Define the transitions unprefixed
3171 * css/StylePropertyShorthand.h:
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.
3180 2013-03-04 Ilya Tikhonovsky <loislo@chromium.org>
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
3185 Reviewed by Yury Semikhatsky.
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):
3193 2013-03-04 Antoine Quint <graouts@apple.com>
3195 Web Inspector: remove existing LayerTreeAgent protocol APIs
3196 https://bugs.webkit.org/show_bug.cgi?id=111251
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.
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.
3208 Reviewed by Timothy Hatcher.
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):
3218 2013-03-04 Li Yin <li.yin@intel.com>
3220 MediaStream.ended must return true when it is created with ended tracks.
3221 https://bugs.webkit.org/show_bug.cgi?id=111293
3223 Reviewed by Kentaro Hara.
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.
3231 Test: fast/mediastream/MediaStreamConstructor.html
3233 * platform/mediastream/MediaStreamDescriptor.h:
3234 (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
3236 2013-03-04 Alexander Pavlov <apavlov@chromium.org>
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
3241 Reviewed by Pavel Feldman.
3243 The CSSStyleSheet instance should be retrieved directly from the HTMLStyleElement just created,
3244 not from the document.styleSheets list.
3246 Test: inspector/styles/add-new-rule-with-style-after-body.html
3248 * inspector/InspectorCSSAgent.cpp:
3249 (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
3251 2013-03-04 Ilya Tikhonovsky <loislo@chromium.org>
3253 Web Inspector: Unreviewed. Fix for closure type annotations.
3255 * inspector/front-end/FlameChart.js:
3257 2013-03-04 Kondapally Kalyan <kalyan.kondapally@intel.com>
3259 [EFL] Build fix when compiling with GLES2 support enabled.
3260 https://bugs.webkit.org/show_bug.cgi?id=111291
3262 Reviewed by Kenneth Rohde Christiansen.
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.
3269 * platform/graphics/OpenGLESShims.h:
3270 * platform/graphics/opengl/GLPlatformContext.cpp:
3271 (WebCore::GLCurrentContextWrapper::GLCurrentContextWrapper):
3272 * platform/graphics/texmap/TextureMapper.h:
3274 2013-03-04 Ilya Tikhonovsky <loislo@chromium.org>
3276 Web Inspector: implement Flame Chart for CPU profiler.
3277 https://bugs.webkit.org/show_bug.cgi?id=111162
3279 Reviewed by Yury Semikhatsky.
3281 It is an initial implementation. The next step is to provide
3282 function names and other stats about the hovered item.
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.
3309 2013-03-04 Marja Hölttä <marja@chromium.org>
3311 [V8] Add a "context type" parameter to GetTemplate and ConfigureV8SomethingTemplate functions
3312 https://bugs.webkit.org/show_bug.cgi?id=110875
3314 The parameter will later be used for generating specialized V8
3315 bindings for the 3 different world types (main world, isolated
3318 Reviewed by Kentaro Hara.
3320 No new tests (no changes in behavior yet).
3322 * bindings/scripts/CodeGeneratorV8.pm:
3324 (GenerateDomainSafeFunctionGetter):
3325 (GenerateDomainSafeFunctionSetter):
3326 (GenerateNormalAttrGetter):
3327 (GenerateNamedConstructor):
3328 (GenerateImplementation):
3329 * bindings/v8/DOMDataStore.cpp:
3330 (WebCore::DOMDataStore::DOMDataStore):
3331 * bindings/v8/DOMDataStore.h:
3333 * bindings/v8/DOMWrapperWorld.cpp:
3335 (WebCore::DOMWrapperWorld::setInitializingWindow):
3336 (WebCore::DOMWrapperWorld::DOMWrapperWorld):
3337 (WebCore::DOMWrapperWorld::contextHasCorrectPrototype):
3338 * bindings/v8/DOMWrapperWorld.h:
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):
3355 (WebCore::worldTypeInMainThread):
3356 * bindings/v8/V8Binding.h:
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):
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):
3395 2013-03-04 Andrey Lushnikov <lushnikov@chromium.org>
3397 Web Inspector: add Ace editor experiment
3398 https://bugs.webkit.org/show_bug.cgi?id=111191
3400 Reviewed by Pavel Feldman.
3404 Add Ace text editor experiment.
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.
3420 2013-03-04 Kunihiko Sakamoto <ksakamoto@chromium.org>
3422 Add build flag for FontLoader
3423 https://bugs.webkit.org/show_bug.cgi?id=111289
3425 Reviewed by Benjamin Poulain.
3427 Add ENABLE_FONT_LOAD_EVENTS build flag (disabled by default).
3429 * Configurations/FeatureDefines.xcconfig:
3431 2013-03-04 Mike West <mkwst@chromium.org>
3433 XSSAuditor should strip dangerous attributes from SMIL animation elements.
3434 https://bugs.webkit.org/show_bug.cgi?id=111071
3436 Reviewed by Adam Barth.
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.
3444 Test: http/tests/security/xssAuditor/svg-animate.html
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
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.
3458 2013-03-04 Arvid Nilsson <anilsson@rim.com>
3460 [BlackBerry] New files for BlackBerry::Platform::Graphics::GraphicsContext integration
3461 https://bugs.webkit.org/show_bug.cgi?id=111153
3463 Reviewed by Rob Buis.
3465 BlackBerry PR 293208
3467 This patch contains contributions from many members of the BlackBerry
3485 Covered by existing tests.
3487 * platform/graphics/blackberry/FontBlackBerry.cpp: Added.
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.
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.
3511 (FontCustomPlatformData):
3512 * platform/graphics/blackberry/FontCustomPlatformDataBlackBerry.cpp: Added.
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.
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.
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.
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.
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):
3606 (iTypeFixedToFloat):
3607 * platform/graphics/blackberry/ImageBufferBlackBerry.cpp: Added.
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.
3630 * platform/graphics/blackberry/PathBlackBerry.cpp: Added.
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.
3669 (WebCore::Pattern::platformDestroy):
3670 (WebCore::Pattern::platformPattern):
3671 (WebCore::Pattern::setPlatformPatternSpaceTransform):
3672 * platform/graphics/blackberry/PlatformSupport.cpp: Added.
3674 (WebCore::PlatformSupport::getFontFamilyForCharacters):
3675 * platform/graphics/blackberry/PlatformSupport.h: Added.
3679 * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp: Added.
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):
3694 2013-03-04 Adam Bergkvist <adam.bergkvist@ericsson.com>
3696 MediaStream API: local addTrack() and removeTrack() operations should not fire events.
3697 https://bugs.webkit.org/show_bug.cgi?id=111079
3699 Reviewed by Adam Barth.
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.
3705 Test: fast/mediastream/MediaStream-add-remove-tracks.html
3707 * Modules/mediastream/MediaStream.cpp:
3708 (WebCore::MediaStream::addTrack):
3709 (WebCore::MediaStream::removeTrack):
3711 2013-03-04 Alexander Pavlov <apavlov@chromium.org>
3713 Web Inspector: touchmove not emulated inside iframe
3714 https://bugs.webkit.org/show_bug.cgi?id=111292
3716 Reviewed by Vsevolod Vlasov.
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.
3722 * page/EventHandler.cpp:
3723 (WebCore::EventHandler::mouseMoved):
3724 (WebCore::EventHandler::handleMouseMoveEvent):
3725 (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
3727 2013-03-04 Mike West <mkwst@chromium.org>
3729 Long URLs in error messages should be shortened
3730 https://bugs.webkit.org/show_bug.cgi?id=111133
3732 Reviewed by Jochen Eisinger.
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.
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.
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.
3748 * platform/KURL.cpp:
3749 (WebCore::KURL::elidedString): Added.
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
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):
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.
3801 2013-03-04 Andrey Lushnikov <lushnikov@chromium.org>
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
3806 Reviewed by Pavel Feldman.
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.
3815 No new tests: no change in behaviour.
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:
3825 2013-03-04 Vsevolod Vlasov <vsevik@chromium.org>
3827 Web Inspector: Fix front-end compilation
3828 https://bugs.webkit.org/show_bug.cgi?id=111286
3830 Reviewed by Alexander Pavlov.
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):
3839 2013-03-03 Kondapally Kalyan <kalyan.kondapally@intel.com>
3841 [EFL][WebGL] Add proper checks to enable GraphicsSurface usage on EGL without XCompositeWindow.
3842 https://bugs.webkit.org/show_bug.cgi?id=108034
3844 Reviewed by Laszlo Gombos.
3846 Covered by existing WebGL tests.
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.
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:
3862 2013-03-03 Alexander Pavlov <apavlov@chromium.org>
3864 Web Inspector: [PageAgent] can't find frame by security origin.
3865 https://bugs.webkit.org/show_bug.cgi?id=110849
3867 Use toRawString() in order to compare Frames' SecurityOrigins for storage-related goals.
3869 Reviewed by Vsevolod Vlasov.
3871 * inspector/InspectorPageAgent.cpp:
3872 (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
3874 2013-03-03 Alexander Pavlov <apavlov@chromium.org>
3876 Unreviewed, rolling out r144455.
3877 http://trac.webkit.org/changeset/144455
3878 https://bugs.webkit.org/show_bug.cgi?id=111165
3880 A simpler solution to the SecurityOrigin -> localStorage
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):
3938 2013-03-01 Vsevolod Vlasov <vsevik@chromium.org>
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
3943 Reviewed by Pavel Feldman.
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.
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):
3980 2013-03-03 Arpita Bahuguna <a.bah@samsung.com>
3982 createAttribute/setAttributeNode does not properly normalize case
3983 https://bugs.webkit.org/show_bug.cgi?id=90341
3985 Reviewed by Darin Adler.
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.
3992 Test: fast/dom/Element/setAttributeNode-case-insensitivity.html
3995 (WebCore::Element::setAttributeNode):
3996 Made changes to check for an existing attribute by converting the
3997 specified attribute's localName to lowercase.
3999 2013-03-03 Kentaro Hara <haraken@chromium.org>
4001 Unreviewed. Rebaselined run-bindings-tests.
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):
4011 2013-03-03 Kentaro Hara <haraken@chromium.org>
4013 Unreviewed build fix after r144590.
4015 * bindings/scripts/CodeGeneratorV8.pm:
4016 (GenerateSecurityCheckFunctions):
4018 2013-03-03 Kentaro Hara <haraken@chromium.org>
4020 Unreviewed build fix after r144587.
4022 * bindings/v8/V8Binding.cpp:
4023 (WebCore::toV8Context):
4024 * bindings/v8/V8MutationCallback.cpp:
4025 (WebCore::V8MutationCallback::V8MutationCallback):
4027 2013-03-01 Kentaro Hara <haraken@chromium.org>
4029 [V8] HTMLDocument.all should have [Replaceable]