⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Sep 10, 2012:

10:46 PM Changeset in webkit [128150] by yosin@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-09-10

  • DEPS:
10:44 PM Changeset in webkit [128149] by keishi@webkit.org
  • 35 edits
    2 adds in trunk/Source/WebCore

Move InputTypeNames to a separate file
https://bugs.webkit.org/show_bug.cgi?id=96255

Reviewed by Kent Tamura.

We want to move InputTypeNames to a separate file so we can use it without including InputType.h.

No new tests. No behavior change.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • html/ButtonInputType.cpp:
  • html/CheckboxInputType.cpp:
  • html/ColorInputType.cpp:
  • html/DateInputType.cpp:
  • html/DateTimeInputType.cpp:
  • html/DateTimeLocalInputType.cpp:
  • html/EmailInputType.cpp:
  • html/FileInputType.cpp:
  • html/HiddenInputType.cpp:
  • html/ImageInputType.cpp:
  • html/InputType.cpp:
  • html/InputType.h:
  • html/InputTypeNames.cpp: Added.

(WebCore):
(InputTypeNames):
(WebCore::InputTypeNames::button):
(WebCore::InputTypeNames::checkbox):
(WebCore::InputTypeNames::color):
(WebCore::InputTypeNames::date):
(WebCore::InputTypeNames::datetime):
(WebCore::InputTypeNames::datetimelocal):
(WebCore::InputTypeNames::email):
(WebCore::InputTypeNames::file):
(WebCore::InputTypeNames::hidden):
(WebCore::InputTypeNames::image):
(WebCore::InputTypeNames::month):
(WebCore::InputTypeNames::number):
(WebCore::InputTypeNames::password):
(WebCore::InputTypeNames::radio):
(WebCore::InputTypeNames::range):
(WebCore::InputTypeNames::reset):
(WebCore::InputTypeNames::search):
(WebCore::InputTypeNames::submit):
(WebCore::InputTypeNames::telephone):
(WebCore::InputTypeNames::text):
(WebCore::InputTypeNames::time):
(WebCore::InputTypeNames::url):
(WebCore::InputTypeNames::week):

  • html/InputTypeNames.h: Added.

(WebCore):
(InputTypeNames):

  • html/MonthInputType.cpp:
  • html/NumberInputType.cpp:
  • html/PasswordInputType.cpp:
  • html/RadioInputType.cpp:
  • html/RangeInputType.cpp:
  • html/ResetInputType.cpp:
  • html/SearchInputType.cpp:
  • html/SubmitInputType.cpp:
  • html/TelephoneInputType.cpp:
  • html/TextInputType.cpp:
  • html/TimeInputType.cpp:
  • html/URLInputType.cpp:
  • html/WeekInputType.cpp:
  • html/parser/HTMLPreloadScanner.cpp:
  • platform/efl/RenderThemeEfl.cpp:
  • rendering/RenderThemeChromiumCommon.cpp:
10:29 PM Changeset in webkit [128148] by yosin@chromium.org
  • 4 edits
    2 adds in trunk

REGRESSION (r127226): Calling DateTimeEditElement::layout() in focus handler should not dispatch blur event
https://bugs.webkit.org/show_bug.cgi?id=96232

Reviewed by Kent Tamura.

Source/WebCore:

This patch makes DateTimeEditElement::layout() not to dispatch blur
event by removing existing fields, one of them can be focused, after
moving focus to newly created field.

This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.

Test: fast/forms/time-multiple-fields/time-multiple-fields-state-change-on-focus-or-blur.html

  • html/shadow/DateTimeEditElement.cpp:

(WebCore::DateTimeEditBuilder::build): Changed to call resetFields().
(WebCore::DateTimeEditElement::focusedFieldIndex): Changed to use
Document::focusedNode(). When this function is called during handling
focus event, Element::focused() isn't true.
(WebCore::DateTimeEditElement::layout): Changed to remove existing
child nodes after moving focus to newly created field.
(WebCore::DateTimeEditElement::resetFields): Renamed from resetLayout().
This function makes m_fields vector empty.
(WebCore::DateTimeEditElement::resetLayout): Renamed to resetFields().
We moved removing field elements and spin button to layout().

  • html/shadow/DateTimeEditElement.h:

(DateTimeEditElement): Renamed resetLayout() to resetFields().

LayoutTests:

This patch adds a new test for checking layout changing of multiple
fields time input UI in focus handler doesn't dispatch blur event.

This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.

  • fast/forms/time-multiple-fields/time-multiple-fields-state-change-on-focus-or-blur-expected.txt: Added.
  • fast/forms/time-multiple-fields/time-multiple-fields-state-change-on-focus-or-blur.html: Added.
10:17 PM Changeset in webkit [128147] by keishi@webkit.org
  • 9 edits
    2 moves in trunk/Source/WebCore

Rename NumberLocalizer to Localizer
https://bugs.webkit.org/show_bug.cgi?id=96350

Reviewed by Kent Tamura.

Renaming NumberLocalizer to Localizer so we can unify our localization methods into this class in the future.

No new tests. No behavior change.

  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/text/LocaleICU.cpp:

(WebCore::LocaleICU::initializeLocalizerData):

  • platform/text/LocaleICU.h:

(LocaleICU):

  • platform/text/LocaleWin.cpp:

(WebCore::LocaleWin::initializeLocalizerData):

  • platform/text/LocaleWin.h:

(LocaleWin):

  • platform/text/Localizer.cpp: Renamed from Source/WebCore/platform/text/NumberLocalizer.cpp.

(WebCore):
(WebCore::Localizer::~Localizer):
(WebCore::Localizer::setLocalizerData):
(WebCore::Localizer::convertToLocalizedNumber):
(WebCore::matches):
(WebCore::Localizer::detectSignAndGetDigitRange):
(WebCore::Localizer::matchedDecimalSymbolIndex):
(WebCore::Localizer::convertFromLocalizedNumber):
(WebCore::Localizer::localizedDecimalSeparator):

  • platform/text/Localizer.h: Renamed from Source/WebCore/platform/text/NumberLocalizer.h.

(WebCore):
(Localizer):
(WebCore::Localizer::Localizer):

  • platform/text/mac/LocaleMac.h:

(LocaleMac):

  • platform/text/mac/LocaleMac.mm:

(WebCore::LocaleMac::initializeLocalizerData):

10:05 PM Changeset in webkit [128146] by mhahnenberg@apple.com
  • 12 edits in trunk/Source/JavaScriptCore

Remove m_classInfo from JSCell
https://bugs.webkit.org/show_bug.cgi?id=96311

Reviewed by Oliver Hunt.

Now that no one is using the ClassInfo in JSCell, we can remove it for the greater good. This is a 1.5% win on v8v7 and
a 1.7% win on kraken, and is an overall performance progression.

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::emitAllocateBasicJSObject): Had to rearrange the order of when we take things off the free list
and when we store the Structure in the object because we would clobber the free list otherwise. This made it not okay for
the structure argument and the scratch register to alias one another. Also removed the store of the ClassInfo pointer in the
object. Yay!
(SpeculativeJIT):

  • dfg/DFGSpeculativeJIT32_64.cpp: Since it's no longer okay for for the scratch register and structure register to alias

one another as stated above, had to add an extra temporary for passing the Structure.
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp: Ditto.

(JSC::DFG::SpeculativeJIT::compile):

  • jit/JITInlineMethods.h:

(JSC::JIT::emitAllocateBasicJSObject): Similar changes to DFG's inline allocation except that it removed the object from
the free list first, so no changes were necessary there.

  • llint/LowLevelInterpreter.asm: Change the constants for amount of inline storage to match PropertyOffset.h and remove

the store of the ClassInfo pointer during inline allocation.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSCell.h: Remove the m_classInfo field and associated methods.

(JSCell):

  • runtime/JSObject.h:

(JSObject):

  • runtime/PropertyOffset.h: Expand the number of inline storage properties to take up the extra space that we're freeing

with the removal of the ClassInfo pointer.
(JSC):

  • runtime/Structure.h:

(JSC):
(JSC::JSCell::JSCell):
(JSC::JSCell::finishCreation):

10:03 PM Changeset in webkit [128145] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Build warning : fix warning about extended initializer lists on EWK2UnitTestBase.cpp.
https://bugs.webkit.org/show_bug.cgi?id=95990

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-09-10
Reviewed by Gyuyoung Kim.

Fix build warning about extended initializer lists only available with
-std=c++0x or -std=gnu++0x.

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:

(EWK2UnitTest::ewk2UnitTestBrowserViewSmartClass):
(EWK2UnitTest):
(EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):

9:05 PM Changeset in webkit [128144] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Use an API symbol instead of a hardcoded string for the TIFF uniform type identifier.

Reviewed by Mark Rowe.

  • platform/graphics/mac/ImageMac.mm:

(WebCore::BitmapImage::getTIFFRepresentation): Replaced CFSTR("public.tiff") with kUTTypeTIFF.

8:50 PM Changeset in webkit [128143] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

[CMake] Remove duplicated file in CMakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=96346

Reviewed by Benjamin Poulain.

  • CMakeLists.txt: Remove duplicated files.
8:19 PM Changeset in webkit [128142] by tonikitoo@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] add a way to overscroll non-overflown content
https://bugs.webkit.org/show_bug.cgi?id=96331
[UxD] Vertical lists should always be scrollable
PR #195305

Reviewed by Yong Li.
Patch by Antonio Gomes <agomes@rim.com>
Internally reviewed by Gen Mak.

Check if the RenderLayer is composited / hardware acceleratable prior to
check if its contents overflows. If that is the case, check if
our custom data-blackberry-force-overscroll is present.

That makes it possible for us to align to UX requirements: settings
and CCM panels should be always scrollable.

  • Api/InRegionScroller.cpp:

(BlackBerry::WebKit::canScrollRenderBox):

  • WebKitSupport/InRegionScrollableArea.cpp:

(BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):

8:02 PM Changeset in webkit [128141] by ggaren@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Added large allocation support to MarkedSpace
https://bugs.webkit.org/show_bug.cgi?id=96214

Originally reviewed by Oliver Hunt, then I added a design revision by
suggested by Phil Pizlo.

I expanded the imprecise size classes to cover up to 32KB, then added
an mmap-based allocator for everything bigger. There's a lot of tuning
we could do in these size classes, but currently they're almost
completely unused, so I haven't done any tuning.

Subtle point: the large allocator is a degenerate case of our free list
logic. Its list only ever contains zero or one items.

  • heap/Heap.h:

(JSC::Heap::allocateStructure): Pipe in size information.

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::tryAllocateHelper): Handle the case where we
find a free item in the sweep list but the item isn't big enough. This
can happen in the large allocator because it mixes sizes.

(JSC::MarkedAllocator::tryAllocate):
(JSC::MarkedAllocator::allocateSlowCase): More piping.

(JSC::MarkedAllocator::allocateBlock): Handle the oversize case.

(JSC::MarkedAllocator::addBlock): I moved the call to didAddBlock here
because it made more sense.

  • heap/MarkedAllocator.h:

(MarkedAllocator):
(JSC::MarkedAllocator::allocate):

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::resetAllocators):
(JSC::MarkedSpace::canonicalizeCellLivenessData):
(JSC::MarkedSpace::isPagedOut):
(JSC::MarkedSpace::freeBlock):

  • heap/MarkedSpace.h:

(MarkedSpace):
(JSC::MarkedSpace::allocatorFor):
(JSC::MarkedSpace::destructorAllocatorFor):
(JSC::MarkedSpace::allocateWithoutDestructor):
(JSC::MarkedSpace::allocateWithDestructor):
(JSC::MarkedSpace::allocateStructure):
(JSC::MarkedSpace::forEachBlock):

  • runtime/Structure.h:

(JSC::Structure): More piping.

6:41 PM Changeset in webkit [128140] by commit-queue@webkit.org
  • 14 edits
    1 add in trunk

Properly expose <legend> elements to ATs
https://bugs.webkit.org/show_bug.cgi?id=84137

Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-09-10
Reviewed by Chris Fleizach.

Created a new WebCore Accessibility Role, LegendRole. Used it to map to
the expected platform role, ATK_ROLE_LABEL. Also established the needed
AtkRelation pair, label-for/labelled-by between the legend and fieldset.

Source/WebCore:

No new test needed - Existing legend.html test is now unskipped for Gtk.

  • accessibility/AccessibilityObject.h: Added LegendRole
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole): Map legendTag to LegendRole

  • accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetName): Fieldset accessible should take its name from the associated LegendRole/label
(setAtkRelationSetFromCoreObject): Set label-for/labelled-by AtkRelation pair between fieldset and legend
(atkRole): Map LegendRole to ATK_ROLE_LABEL

  • accessibility/mac/WebAccessibilityObjectWrapper.mm:

(createAccessibilityRoleMap): Map LegendRole to NSAccessibilityGroupRole

Source/WebKit/chromium:

  • public/WebAccessibilityRole.h: added WebAccessibilityRoleLegend
  • src/AssertMatchingEnums.cpp: added the assert matching rule for

WebAccessibilityRoleLegend and LegendRole

Tools:

  • DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp:

(roleToString): added "Legend" string for WebAccessibilityRoleLegend

LayoutTests:

  • accessibility/legend.html: Modified the test to be more platform-agnostic.
  • platform/gtk/TestExpectations: Removed legend.html from the skipped list.
  • platform/gtk/accessibility/legend-expected.txt: Added.
  • platform/mac/accessibility/legend-expected.txt: Updated.
6:25 PM Changeset in webkit [128139] by commit-queue@webkit.org
  • 12 edits in trunk/Source/WebCore

[V8] Code assumes that getScriptExecutionContext can return 0
https://bugs.webkit.org/show_bug.cgi?id=96340

Patch by Adam Barth <abarth@chromium.org> on 2012-09-10
Reviewed by Eric Seidel.

This function can never return 0 (as long as V8 is on the stack).
There's no reason to try to handle a 0 return as an error.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateCallWith):
(GenerateConstructorCallback):

  • bindings/scripts/test/V8/V8TestInterface.cpp:

(WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
(WebCore::V8TestInterface::constructorCallback):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):

  • bindings/v8/custom/V8BlobCustom.cpp:

(WebCore::V8Blob::constructorCallback):

  • bindings/v8/custom/V8CustomXPathNSResolver.cpp:

(WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):

  • bindings/v8/custom/V8MessageChannelConstructor.cpp:

(WebCore::V8MessageChannel::constructorCallback):

  • bindings/v8/custom/V8MutationObserverCustom.cpp:

(WebCore::V8MutationObserver::constructorCallback):

  • bindings/v8/custom/V8SQLTransactionCustom.cpp:

(WebCore::V8SQLTransaction::executeSqlCallback):

  • bindings/v8/custom/V8WebSocketCustom.cpp:

(WebCore::V8WebSocket::constructorCallback):

  • bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:

(WebCore::V8XMLHttpRequest::constructorCallback):

  • bindings/v8/custom/V8XMLHttpRequestCustom.cpp:

(WebCore::V8XMLHttpRequest::openCallback):

6:22 PM Changeset in webkit [128138] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[V8] We don't us the global handle map for anything useful---let's remove it
https://bugs.webkit.org/show_bug.cgi?id=96343

Patch by Adam Barth <abarth@chromium.org> on 2012-09-10
Reviewed by Kentaro Hara.

The global handle map was a dream of tracking all the persistent V8
handles in WebCore. Unfortunately, it has never been complete, and I'm
not aware of us using it for anything. This patch removes what little
is left of it.

  • bindings/v8/NPV8Object.cpp:

(WebCore::freeV8NPObject):
(WebCore::npCreateV8ScriptObject):

  • bindings/v8/V8GCController.cpp:

(WebCore):
(WebCore::V8GCController::gcEpilogue):
(WebCore::V8GCController::collectGarbage):

  • bindings/v8/V8GCController.h:

(V8GCController):

  • bindings/v8/V8PerIsolateData.h:

(WebCore):
(V8PerIsolateData):

6:19 PM Changeset in webkit [128137] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[chromium] Fix trace event macro naming issue
https://bugs.webkit.org/show_bug.cgi?id=96337

Patch by John Bates <jbates@google.com> on 2012-09-10
Reviewed by James Robinson.

  • platform/chromium/TraceEvent.h:
5:50 PM Changeset in webkit [128136] by jsbell@chromium.org
  • 4 edits in trunk/Source/WebCore

IndexedDB: IDBFactory.deleteDatabase() is slow
https://bugs.webkit.org/show_bug.cgi?id=96036

Reviewed by Tony Chang.

The deleteDatabase() operation is implemented by creating a LevelDBTansaction to accumulate
the records to delete, then committing it. The transaction is a tree of key/operation pairs.
As each (key, delete) entry is added to the tree compares need to be made, potentially
requiring full key decodes. Since this temporary transaction is never read from, this is
overkill.

Add a new "write only" transaction type that simply wraps a write batch, which provides
transaction integrity but avoids the insertion overhead and has a minimal interface.

No new tests - no functional changes, only perf improvement.

  • Modules/indexeddb/IDBLevelDBBackingStore.cpp:

(WebCore::IDBLevelDBBackingStore::deleteDatabase): Use new write-only transaction type.

  • platform/leveldb/LevelDBTransaction.cpp:

(WebCore::LevelDBWriteOnlyTransaction::create):
(WebCore):
(WebCore::LevelDBWriteOnlyTransaction::LevelDBWriteOnlyTransaction):
(WebCore::LevelDBWriteOnlyTransaction::~LevelDBWriteOnlyTransaction):
(WebCore::LevelDBWriteOnlyTransaction::remove):
(WebCore::LevelDBWriteOnlyTransaction::commit):

  • platform/leveldb/LevelDBTransaction.h:

(WebCore):
(LevelDBWriteOnlyTransaction):

5:41 PM Changeset in webkit [128135] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

[V8] createFunctionOnlyCallback should be in V8Callback.h with the other callback functions
https://bugs.webkit.org/show_bug.cgi?id=96336

Patch by Adam Barth <abarth@chromium.org> on 2012-09-10
Reviewed by Kentaro Hara.

Moving this function to V8Callback.h also lets us delete
setTypeMismatchException because we no longer have a header inclusion
cycle.

  • bindings/v8/V8Callback.h:

(WebCore::createFunctionOnlyCallback):
(WebCore):

  • bindings/v8/V8Utilities.cpp:
  • bindings/v8/V8Utilities.h:

(WebCore):

  • bindings/v8/custom/V8GeolocationCustom.cpp:
  • bindings/v8/custom/V8NotificationCustom.cpp:
5:37 PM Changeset in webkit [128134] by Beth Dakin
  • 40 edits in trunk/Source

https://bugs.webkit.org/show_bug.cgi?id=96158
Need API to suppress scrollbar animations
-and corresponding-
<rdar://problem/12210972>

Reviewed by Sam Weinig.

Source/WebCore:

This patch re-names ScrollableAre::isOnActivePage() to
ScrollableArea::scrollbarsCanBeActive(). The new name better reflects
how the function is actually used, and it allows us to use the same
function for the new API that has been added to WebKit2. Now when a
client has used that API to indicate that scrollbars should be
suppressed, ScrollableArea::scrollbarsCanBeActive() will return
false.

Page has a new member variable which indicated whether scrollbar
animations for all scrollbars associated with that page should be
suppressed. Whenever it is set to true (meaning the animations
should be suppressed), Page iterates through all of the
ScrollableAreas to tell each one to finishCurrentScrollAnimations().

  • WebCore.exp.in:
  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::setShouldSuppressScrollbarAnimations):
(WebCore):

  • page/Page.h:

(WebCore::Page::shouldSuppressScrollbarAnimations):
(Page):

FrameView::isOnActivePage() is renamed to scrollbarsCanBeActive ()
and it will now return false if the Page says that scrollbar
animations should be suppressed.

  • page/FrameView.cpp:

(WebCore::FrameView::scrollbarsCanBeActive):

scrollbarsCanBeActive() must now be a public member of FrameView so
that it can be called from RenderLayer and RenderListBox.

  • page/FrameView.h:

(FrameView):

New ScrollAnimator function calls hideOverlayScrollers.

  • platform/ScrollAnimator.h:

(WebCore::ScrollAnimator::finishCurrentScrollAnimations):
(ScrollAnimator):

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::finishCurrentScrollAnimations):
(WebCore):

  • platform/ScrollableArea.h:

(ScrollableArea):

  • platform/mac/ScrollAnimatorMac.h:

(ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::finishCurrentScrollAnimations):

Re-name. isOnActivePage() -> scrollbarsCanBeActive()
(WebCore::FrameView::setAnimatorsAreActive):
(WebCore::FrameView::notifyPageThatContentAreaWillPaint):

  • platform/mac/ScrollAnimatorMac.mm:

(-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
(WebCore::ScrollAnimatorMac::contentAreaWillPaint):
(WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
(WebCore::ScrollAnimatorMac::mouseExitedContentArea):
(WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
(WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
(WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
(WebCore::ScrollAnimatorMac::willStartLiveResize):
(WebCore::ScrollAnimatorMac::contentsResized):
(WebCore::ScrollAnimatorMac::willEndLiveResize):
(WebCore::ScrollAnimatorMac::contentAreaDidShow):
(WebCore::ScrollAnimatorMac::contentAreaDidHide):
(WebCore::ScrollAnimatorMac::didBeginScrollGesture):
(WebCore::ScrollAnimatorMac::didEndScrollGesture):
(WebCore::ScrollAnimatorMac::mayBeginScrollGesture):
(WebCore):
(WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
(WebCore::ScrollAnimatorMac::updateScrollerStyle):

  • rendering/RenderLayer.cpp:

RenderLayer and RenderListBox should call into FrameView's
scrollbarsCanBeActive() so that they also return false when Page::
shouldSuppressScrollbarAnimations() is true.
(WebCore::RenderLayer::scrollbarsCanBeActive):

  • rendering/RenderLayer.h:

(RenderLayer):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::scrollbarsCanBeActive):

  • rendering/RenderListBox.h:

This is the one caller of ScrollableArea:: scrollbarsCanBeActive()
that needs to distinguish between the scrollbar-suppressing scenario
and the in-the-page-cache scenario.

  • page/FocusController.cpp:

(WebCore::FocusController::setContainingWindowIsVisible):

Source/WebKit/chromium:

ScrollableArea::isOnActivePage() has been re-named to
ScrollableArea:: scrollbarsCanBeActive().

  • src/ScrollbarGroup.cpp:

(WebKit::ScrollbarGroup::scrollbarsCanBeActive):

  • src/ScrollbarGroup.h:
  • tests/GraphicsLayerChromiumTest.cpp:
  • tests/ScrollAnimatorNoneTest.cpp:

(MockScrollableArea):

Source/WebKit/win:

ScrollableArea::isOnActivePage() has been re-named to
ScrollableArea:: scrollbarsCanBeActive().

  • WebScrollBar.cpp:

(WebScrollBar::scrollbarsCanBeActive):

  • WebScrollBar.h:

(WebScrollBar):

Source/WebKit2:

Add suppressScrollbarAnimations as a WebCreationParameter.

  • Shared/WebPageCreationParameters.h:

(WebPageCreationParameters):

New API. Calls into the web process for the setter but not the
getter.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetSuppressScrollbarAnimations):
(WKPageAreScrollbarAnimationsSuppressed):

  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setSuppressScrollbarAnimations):
(WebKit):
(WebKit::WebPageProxy::creationParameters):

  • UIProcess/WebPageProxy.h:

(WebPageProxy):
(WebKit::WebPageProxy::areScrollbarAnimationsSuppressed):

  • WebProcess/WebPage/WebPage.messages.in:

Call into WebCore.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setSuppressScrollbarAnimations):
(WebKit):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

This ScrollableArea area function is re-named by this patch in
WebCore.

  • WebProcess/Plugins/PDF/BuiltInPDFView.h:
  • WebProcess/Plugins/PDF/BuiltInPDFView.mm:

(WebKit::BuiltInPDFView::scrollbarsCanBeActive):

5:22 PM Changeset in webkit [128133] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit/chromium

[chromium, android] Reloading a page with a different user agent can cause the page to be zoomed in
https://bugs.webkit.org/show_bug.cgi?id=90222

Patch by Dan Alcantara <dfalcantara@chromium.org> on 2012-09-10
Reviewed by Adam Barth.

When reloading a page with an overridden URL, the page's scroll and zoom
state will be restored once the reload is complete. This is problematic
in situations when switching between mobile and desktop versions of the
same site because it will zoom back in on a random part of alternate page.
This CL just avoids that situation by resetting the zoom and scale whenever
this type of reload occurs.

Chromium half: https://chromiumcodereview.appspot.com/10889019

  • public/WebView.h:

(WebView):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::resetScrollAndScaleState):
(WebKit):

  • src/WebViewImpl.h:

(WebViewImpl):

5:12 PM Changeset in webkit [128132] by jamesr@google.com
  • 16 edits in trunk/Source

Unreviewed, rolling out r127837.
http://trac.webkit.org/changeset/127837
https://bugs.webkit.org/show_bug.cgi?id=93898

Broke ScrollingCoordinator on chromium

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange):
(WebCore::ScrollingCoordinator::frameViewFixedObjectsDidChange):
(WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::ScrollingCoordinator::hasNonLayerFixedObjects):
(WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingCoordinator::setForceMainThreadScrollLayerPositionUpdates):
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):

  • page/scrolling/ScrollingCoordinator.h:

(ScrollingCoordinator):

  • page/scrolling/ScrollingCoordinatorNone.cpp:

(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::scrollingPeformanceLoggingEnabled):

  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ScrollingTreeNode.cpp:

(WebCore::ScrollingTreeNode::ScrollingTreeNode):
(WebCore::ScrollingTreeNode::update):

  • page/scrolling/ScrollingTreeNode.h:

(WebCore::ScrollingTreeNode::shouldUpdateScrollLayerPositionOnMainThread):
(ScrollingTreeNode):

  • page/scrolling/ScrollingTreeState.cpp:

(WebCore::ScrollingTreeState::ScrollingTreeState):
(WebCore::ScrollingTreeState::setShouldUpdateScrollLayerPositionOnMainThread):

  • page/scrolling/ScrollingTreeState.h:

(WebCore::ScrollingTreeState::shouldUpdateScrollLayerPositionOnMainThread):
(ScrollingTreeState):

  • page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:

(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):

  • page/scrolling/mac/ScrollingTreeMac.mm:

(WebCore::ScrollingTree::updateDebugRootLayer):

  • page/scrolling/mac/ScrollingTreeNodeMac.mm:

(WebCore::ScrollingTreeNodeMac::update):
(WebCore::ScrollingTreeNodeMac::scrollPosition):
(WebCore::ScrollingTreeNodeMac::setScrollPosition):
(WebCore::ScrollingTreeNodeMac::setScrollPositionWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):

Source/WebKit2:

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):

5:07 PM Changeset in webkit [128131] by pdr@google.com
  • 3 edits
    3 adds in trunk

Source/WebCore: Remove unnecessary codepaths in SMILTimeContainer::updateAnimations
https://bugs.webkit.org/show_bug.cgi?id=96224

Reviewed by Nikolas Zimmermann.

This change removes two sources of unnecessary code in
SMILTimeContainer::updateAnimations:

1) After r117711 we now accumulate the result of multiple

animations into the first _contributing_ animation
element. As a result it is no longer necessary to
track both which elements are contributing AND which elements
we are storing results into. Both cases are now handled
together with resultsElements.

2) r32044 added a second sort of the animation elements

in order to process animateTransform last. This change
was added 4 years ago, before we correctly handled <use>
and the instance tree, and I think the extra sort is no
longer necessary. A test has been added to ensure this
is the case.

This change also does a minor cleanup of resultsElements. Previously,
we added animation elements to resultsElements and then removed them
if the animation element did not contribute. After this change, we
only add to resultsElements (no more add-then-remove).

Test: svg/animations/use-animate-transform-and-position.html

  • svg/animation/SMILTimeContainer.cpp:

(WebCore::SMILTimeContainer::sortByPriority):
(WebCore::SMILTimeContainer::updateAnimations):

LayoutTests: Remove unnecessary work in SMILTimeContainer::updateAnimations
https://bugs.webkit.org/show_bug.cgi?id=96224

Reviewed by Nikolas Zimmermann.

This change should have no functional differences but a test
is being added to show that. SMILTimeContainer::updateAnimations
contained a comment explaining why a animateTransform needed to be
processed last but that is no longer the case (as the test shows).

  • svg/animations/script-tests/use-animate-transform-and-position.js: Added.

(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):

  • svg/animations/use-animate-transform-and-position-expected.txt: Added.
  • svg/animations/use-animate-transform-and-position.html: Added.
4:55 PM Changeset in webkit [128130] by ojan@chromium.org
  • 13 edits in trunk/Source/WebCore

Rename box-sizing applying methods to be more clear about just applying box-sizing.
https://bugs.webkit.org/show_bug.cgi?id=96319

Reviewed by Tony Chang.

This is strictly a rename. No logic or web-exposed changes.

  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::recalcColumn):

  • rendering/FixedTableLayout.cpp:

(WebCore::FixedTableLayout::calcWidthArray):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computePreferredLogicalWidths):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::adjustBorderBoxLogicalWidthForBoxSizing):
(WebCore::RenderBox::adjustBorderBoxLogicalHeightForBoxSizing):
(WebCore::RenderBox::adjustContentBoxLogicalWidthForBoxSizing):
(WebCore::RenderBox::adjustContentBoxLogicalHeightForBoxSizing):
(WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):
(WebCore::RenderBox::computeLogicalHeightUsing):
(WebCore::RenderBox::computeLogicalClientHeight):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeightUsing):
(WebCore::RenderBox::computePositionedLogicalWidthUsing):
(WebCore::RenderBox::computePositionedLogicalHeightUsing):

  • rendering/RenderBox.h:

(RenderBox):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):

  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::computePreferredLogicalWidths):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
(WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::computePreferredLogicalWidths):

  • rendering/RenderMenuList.cpp:

(WebCore::RenderMenuList::computePreferredLogicalWidths):

  • rendering/RenderSlider.cpp:

(WebCore::RenderSlider::computePreferredLogicalWidths):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::computePreferredLogicalWidths):

4:39 PM Changeset in webkit [128129] by jer.noble@apple.com
  • 35 edits
    3 deletes in trunk

Unreviewed; rolling out r128081.
http://trac.webkit.org/changeset/128081
https://bugs.webkit.org/show_bug.cgi?id=96134

New test http/tests/media/video-donottrack.html fails to run on Apple test bots.

Source/WebCore:

  • html/HTMLMediaElement.cpp:
  • html/HTMLMediaElement.h:

(HTMLMediaElement):

  • loader/FrameLoaderClient.h:
  • platform/graphics/MediaPlayer.h:

(MediaPlayer):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):

Source/WebKit/mac:

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:
  • WebView/WebDelegateImplementationCaching.h:

(WebFrameLoadDelegateImplementationCache):

  • WebView/WebDelegateImplementationCaching.mm:
  • WebView/WebView.mm:

(-[WebView _cacheFrameLoadDelegateImplementations]):

Source/WebKit2:

  • Shared/APIClientTraits.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:

(InjectedBundlePageLoaderClient):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

(WebFrameLoaderClient):

  • WebProcess/qt/QtBuiltinBundlePage.cpp:

(WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):

Tools:

  • DumpRenderTree/TestRunner.cpp:

(TestRunner::TestRunner):
(TestRunner::staticFunctions):

  • DumpRenderTree/TestRunner.h:

(TestRunner):

  • DumpRenderTree/mac/FrameLoadDelegate.mm:
  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::InjectedBundlePage):

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:

(InjectedBundlePage):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::TestRunner):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:

(TestRunner):

LayoutTests:

  • http/tests/media/resources/video-donottrack-check-donottrack.php: Removed.
  • http/tests/media/video-donottrack-expected.txt: Removed.
  • http/tests/media/video-donottrack.html: Removed.
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/Skipped:
4:26 PM Changeset in webkit [128128] by Dimitri Glazkov
  • 2 edits in trunk/Source/WebCore

Reduce the number of treeScope queries when matching rules.
https://bugs.webkit.org/show_bug.cgi?id=96315

Reviewed by Eric Seidel.

In the worst case, treeScope() requires a HashMap lookup, which could be slow. Since the value is always the same for the element,
we can just ask for it once.

No new tests, no change in behavior.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList): Moved the call to treeScope out of the loop.

4:23 PM Changeset in webkit [128127] by abarth@webkit.org
  • 3 edits in trunk/Source/WebCore

[V8] V8PerIsolateData::m_toStringTemplate leaks memory
https://bugs.webkit.org/show_bug.cgi?id=96322

Patch by Adam Barth <abarth@chromium.org> on 2012-09-10
Reviewed by Kentaro Hara.

We never call Dispose to balance the call to v8::Persistent::New. This
patch uses ScopedPersistent to call Dispose automatically.

  • bindings/v8/V8PerIsolateData.cpp:

(WebCore::V8PerIsolateData::toStringTemplate):

  • I've changed this function to return a new local handle in case anyone is trying to hold on to these handles during shutdown.
  • bindings/v8/V8PerIsolateData.h:

(V8PerIsolateData):

4:23 PM Changeset in webkit [128126] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

[V8] V8LazyEventListener::prepareListenerObject uses inefficient string operations
https://bugs.webkit.org/show_bug.cgi?id=96324

Patch by Adam Barth <abarth@chromium.org> on 2012-09-10
Reviewed by Kentaro Hara.

Previously, this code called String::append several times, which
mallocs a new string buffer each time. This patch switches this code to
use operator+, which uses StringAppend to optimize these operations
down to a single malloc.

  • bindings/v8/V8LazyEventListener.cpp:

(WebCore::V8LazyEventListener::prepareListenerObject):

4:22 PM Changeset in webkit [128125] by abarth@webkit.org
  • 8 edits in trunk/Source

[V8] V8AuxiliaryContext used by IDB leaks memory
https://bugs.webkit.org/show_bug.cgi?id=96317

Patch by Adam Barth <abarth@chromium.org> on 2012-09-10
Reviewed by Tony Chang.

Source/WebCore:

Before this patch, we leaked m_auxiliaryContext on V8PerIsolateData
because no one ever called Dispose to balance the call to
V8::Context::New. This patch uses ScopedPersistent to call Dispose
automatically.

Also, I've deleted the V8AuxiliaryContext because it just reinvents
V8::Context::Scope.

  • bindings/v8/IDBBindingUtilities.cpp:

(WebCore::createIDBKeyFromSerializedValueAndKeyPath):
(WebCore::injectIDBKeyIntoSerializedValue):

  • bindings/v8/V8PerIsolateData.cpp:

(WebCore::V8PerIsolateData::ensureAuxiliaryContext):
(WebCore):

  • bindings/v8/V8PerIsolateData.h:

(V8PerIsolateData):

  • bindings/v8/V8Utilities.cpp:
  • bindings/v8/V8Utilities.h:

Source/WebKit/chromium:

Call the V8 APIs directly instead of using a helper class.

  • tests/IDBBindingUtilitiesTest.cpp:

(WebCore::TEST):

4:21 PM Changeset in webkit [128124] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

[V8] currentDocument doesn't need to handle the case where there is no v8::Context
https://bugs.webkit.org/show_bug.cgi?id=96312

Patch by Adam Barth <abarth@chromium.org> on 2012-09-10
Reviewed by Eric Seidel.

This function is always called while V8 is on the stack. It doesn't
need to handle this impossible error condition.

  • bindings/v8/BindingState.cpp:

(WebCore::currentDocument):

4:21 PM Changeset in webkit [128123] by abarth@webkit.org
  • 8 edits in trunk/Source

[V8] Inline firstFrame and currentFrame into their unique callers
https://bugs.webkit.org/show_bug.cgi?id=96309

Patch by Adam Barth <abarth@chromium.org> on 2012-09-10
Reviewed by Eric Seidel.

Source/WebCore:

These functions have only one caller. We'd prefer not to have more
callers (because there's usually no reason to indirect through the
Frame), so we should inline them into their one caller (which is the
Chromium WebKit API).

  • bindings/js/BindingState.h:

(WebCore):

  • bindings/v8/BindingState.cpp:
  • bindings/v8/BindingState.h:

(WebCore):

  • bindings/v8/ScriptController.cpp:
  • bindings/v8/ScriptController.h:

(ScriptController):

Source/WebKit/chromium:

This patch just lines these WebCore functions because we only call them
from here.

  • src/WebFrameImpl.cpp:

(WebKit::WebFrame::frameForEnteredContext):
(WebKit::WebFrame::frameForCurrentContext):

4:13 PM Changeset in webkit [128122] by ggaren@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Try to fix the Windows (32-bit) build.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_tear_off_arguments):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_tear_off_arguments): Get operands 1 and 2, not 1 and 1. :(

Also took this opportunity to rename to indicate that these values are
not destinations anymore.

4:01 PM Changeset in webkit [128121] by fsamuel@chromium.org
  • 2 edits in trunk/LayoutTests

Mark gradient-with-scaled-ancestor.html as flaky

  • platform/chromium/TestExpectations:
3:39 PM Changeset in webkit [128120] by fsamuel@chromium.org
  • 2 edits in trunk/LayoutTests

Remove stray Changelog message.

Patch by Jon Lee <jonlee@apple.com> on 2012-09-10

3:37 PM WebKit Team edited by ahf@0x90.dk
Remove Nokia reference. (diff)
3:29 PM Changeset in webkit [128119] by jonlee@apple.com
  • 1 edit in trunk/LayoutTests/ChangeLog

Remove stray Changelog message.

3:24 PM Changeset in webkit [128118] by fsamuel@chromium.org
  • 2 edits in trunk/LayoutTests

Skip video-donottrack.html on Chromium

  • platform/chromium/TestExpectations:
3:22 PM Changeset in webkit [128117] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

TestExpectationsChecker._determine_port_from_expectations_path() does not support cascaded TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=96205

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-10
Reviewed by Tony Chang.

_determine_port_from_expectations_path() was calling port.path_to_test_expectations_file()
internally, which means that it would support only 1 TestExpectations file per port. This
is an issue for ports such as EFL that support cascased TestExpectations (efl-wk2 -> efl
and efl-wk1 -> efl).

This patch makes _determine_port_from_expectations_path() call port.expectations_files()
instead so that all the ports TestExpectations are recognized. The ports are also
constructed twice, with "webkit_test_runner" option set to True and False so that we
retrieve the TestExpectations paths for both WebKit1 and WebKit2.

  • Scripts/webkitpy/style/checkers/test_expectations.py:

(TestExpectationsChecker._determine_port_from_expectations_path):

  • Scripts/webkitpy/style/checkers/test_expectations_unittest.py: Add corresponding unit test.

(TestExpectationsTestCase.test_determine_port_from_expectations_path):

3:21 PM Changeset in webkit [128116] by commit-queue@webkit.org
  • 8 edits
    6 adds in trunk

Implement canvas v5 line dash feature
https://bugs.webkit.org/show_bug.cgi?id=82560

Patch by Justin Novosad <junov@chromium.org> on 2012-09-10
Reviewed by Darin Adler.

Source/WebCore:

Adding new canvas 2d context API methods getLineDash and setLineDash,
and new attribute lineDashOffset. Implementation mostly based on
the existing webkitLineDash feature, with changes that reflect the
canvas v5 specification. This change is visible to all JS ports,
unlike webkitLineDash which is not exposed to V8. The new lineDash
and the legacy webkitLineDash features access the same rendering
context state. The JavasScriptCore binding layer was augmented to
support the sequence<float> IDL type.

Tests: fast/canvas/canvas-lineDash-invalid.html

fast/canvas/canvas-lineDash.html

  • bindings/js/JSCanvasRenderingContext2DCustom.cpp:

(WebCore::JSCanvasRenderingContext2D::webkitLineDash):
(WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):

  • bindings/js/JSDOMBinding.h:

Added template specialization on float to NativeValueTraits in order to
add support for the sequence<double> IDL type to JavaScriptCore.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::getLineDash):
New 2D canvas API method, returns the current line dash array
(WebCore::lineDashSequenceIsValid):
Returns true if the line dash array contains only non-negative finite
numbers.
(WebCore::CanvasRenderingContext2D::setLineDash):
New 2D canvas API method, set the line dash array.
(WebCore::CanvasRenderingContext2D::setWebkitLineDash):
Legacy implementation, does not double the new line dash array if
it contains an odd number of elements. Just accepts it as is.
(WebCore::CanvasRenderingContext2D::lineDashOffset):
Attribute getter
(WebCore::CanvasRenderingContext2D::setLineDashOffset):
Attribute setter
(WebCore::CanvasRenderingContext2D::webkitLineDashOffset):
Alias for lineDashOffset
(WebCore::CanvasRenderingContext2D::setWebkitLineDashOffset):
Alias for setLineDashOffset
(WebCore::CanvasRenderingContext2D::applyLineDash):
Sends the line dash state to the GraphicsContext

  • html/canvas/CanvasRenderingContext2D.h:

(CanvasRenderingContext2D):
(State):

  • html/canvas/CanvasRenderingContext2D.idl:
  • platform/graphics/DashArray.h:

LayoutTests:

New layout tests for the canvas lineDash feature.
-Validate normal behavior of lineDash state change operations.
-Validate behavior when attempting invalid state changes.
-Validate rendering behavior.

  • fast/canvas/canvas-lineDash-expected.txt: Added.
  • fast/canvas/canvas-lineDash-invalid-expected.txt: Added.
  • fast/canvas/canvas-lineDash-invalid.html: Added.
  • fast/canvas/canvas-lineDash.html: Added.
  • fast/canvas/script-tests/canvas-lineDash-invalid.js: Added.

(resetLineDash):
(trySettingLineDash):
(trySettingLineDashWithNoArgs):
(trySettingLineDashOffset):

  • fast/canvas/script-tests/canvas-lineDash.js: Added.

(dataToArray):
(getPixel):
(pixelShouldBe):

3:18 PM Changeset in webkit [128115] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Unreviewed, rolling out r128109.
http://trac.webkit.org/changeset/128109
https://bugs.webkit.org/show_bug.cgi?id=96326

broke win and lion builds (Requested by kling on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-09-10

  • WebCore.exp.in:
  • dom/Element.cpp:

(WebCore::Element::createMutableAttributeData):

  • dom/ElementAttributeData.cpp:

(WebCore::immutableElementAttributeDataSize):
(WebCore::ElementAttributeData::createImmutable):
(WebCore::ElementAttributeData::ElementAttributeData):
(WebCore::ElementAttributeData::~ElementAttributeData):
(WebCore::ElementAttributeData::addAttribute):
(WebCore::ElementAttributeData::removeAttribute):
(WebCore::ElementAttributeData::reportMemoryUsage):
(WebCore::ElementAttributeData::cloneDataFrom):
(WebCore::ElementAttributeData::clearAttributes):

  • dom/ElementAttributeData.h:

(WebCore):
(WebCore::ElementAttributeData::create):
(ElementAttributeData):
(WebCore::ElementAttributeData::isMutable):
(WebCore::ElementAttributeData::makeMutable):
(WebCore::ElementAttributeData::length):
(WebCore::ElementAttributeData::attributeItem):

3:17 PM Changeset in webkit [128114] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AccessibilityNodeObject* is not in Mac xcode file
https://bugs.webkit.org/show_bug.cgi?id=96327

Reviewed by Sam Weinig.

  • WebCore.xcodeproj/project.pbxproj:
3:12 PM Changeset in webkit [128113] by jonlee@apple.com
  • 19 edits in trunk

Source/WebCore: Update notifications to latest spec
https://bugs.webkit.org/show_bug.cgi?id=91726
<rdar://problem/11910451>

Reviewed by Alexey Proskuryakov.

Among the changes:

Addition of lang attribute
http://lists.w3.org/Archives/Public/public-web-notification/2012Jul/0025.html

Specification of icon URL is icon instead of iconURL
http://lists.w3.org/Archives/Public/public-web-notification/2012Jul/0012.html

Tests are not possible since at best they only verify exposure of the attributes, which isn't
terribly useful, and use of the attributes depend on the platform.

  • Modules/notifications/Notification.cpp:

(WebCore::Notification::create): Add support for reading lang, dir, and icon from option dictionary.

  • Modules/notifications/Notification.h:

(Notification): Make url() and setURL(), which are used for HTML notifications, only available with
ENABLE(LEGACY_NOTIFICATIONS).
(WebCore::Notification::setIconURL): Added so that it can be set from the option dictionary.
(WebCore::Notification::lang):
(WebCore::Notification::setLang):

  • Modules/notifications/Notification.idl: According to specification, dir is not exposed.

Source/WebKit/mac: Update notifications to latest spec
https://bugs.webkit.org/show_bug.cgi?id=91726
<rdar://problem/11910451>

Reviewed by Alexey Proskuryakov.

Expose lang and dir.

  • WebView/WebNotification.h:
  • WebView/WebNotification.mm:

(-[WebNotification lang]):
(-[WebNotification dir]):

Source/WebKit2: Update notifications to latest spec
https://bugs.webkit.org/show_bug.cgi?id=91726
<rdar://problem/11910451>

Reviewed by Alexey Proskuryakov.

Expose lang and dir.

  • UIProcess/API/C/WKNotification.cpp:

(WKNotificationCopyLang):
(WKNotificationCopyDir):

  • UIProcess/API/C/WKNotification.h:
  • UIProcess/Notifications/WebNotification.cpp:

(WebKit::WebNotification::WebNotification):

  • UIProcess/Notifications/WebNotification.h:

(WebKit::WebNotification::create):
(WebKit::WebNotification::lang):
(WebKit::WebNotification::dir):
(WebNotification):

  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:

(WebKit::WebNotificationManagerProxy::show):

  • UIProcess/Notifications/WebNotificationManagerProxy.h:

(WebNotificationManagerProxy):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::showNotification):

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/Notifications/WebNotificationManager.cpp:

(WebKit::WebNotificationManager::show):

LayoutTests: The options dictionary in Notification constructor should not accept event listeners
https://bugs.webkit.org/show_bug.cgi?id=95538
<rdar://problem/12213901>

Reviewed by Alexey Proskuryakov.

Make sure the onshow handler added in the options dictionary does not get called.

  • http/tests/notifications/events-in-dictionary-expected.txt: Added.
  • http/tests/notifications/events-in-dictionary.html: Added.
2:52 PM Changeset in webkit [128112] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebKit/mac

NSInvalidArgumentException in WebFrameLoaderClient::shouldSendDoNotTrackHTTPHeader()
https://bugs.webkit.org/show_bug.cgi?id=96320

Reviewed by Geoffrey Garen.

Client was being cached as the FrameLoaderClient, but requests were sent to the ResourceLoadClient.

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::shouldSendDoNotTrackHTTPHeader): Send the request to the FrameLoadDelegate.

  • WebView/WebDelegateImplementationCaching.h:
  • WebView/WebDelegateImplementationCaching.mm:

(CallFrameLoadDelegateReturningBoolean): Added.

2:49 PM Changeset in webkit [128111] by ggaren@apple.com
  • 7 edits
    5 adds in trunk

DFG misses arguments tear-off for function.arguments if 'arguments' is used
https://bugs.webkit.org/show_bug.cgi?id=96227

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

We've decided not to allow function.arguments to alias the local
'arguments' object, or a local var or function named 'arguments'.
Aliasing complicates the implementation (cf, this bug) and can produce
surprising behavior for web programmers.

Eliminating the aliasing has the side-effect of fixing this bug.

The compatibilty story: function.arguments is deprecated, was never
specified, and throws an exception in strict mode, so we expect it to
disappear over time. Firefox does not alias to 'arguments'; Chrome
does, but not if you use eval or with; IE does; Safari did.

  • dfg/DFGByteCodeParser.cpp: Noticed a little cleanup while verifying

this code. Use the CodeBlock method for better encapsulation.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::retrieveArgumentsFromVMCode): Behavior change: don't
alias.

  • tests/mozilla/js1_4/Functions/function-001.js:

(TestFunction_4): Updated test expectations for changed behavior.

LayoutTests:

New test, and updated expectations.

  • fast/js/script-tests/function-dot-arguments.js:
  • fast/js/function-dot-arguments-expected.txt: Updated for new behavior.
  • fast/js/dfg-tear-off-function-dot-arguments.html:
  • fast/js/script-tests/dfg-tear-off-function-dot-arguments.js: Added. New test for bug cited here.
  • fast/js/function-dot-arguments-identity-expected.txt:
  • fast/js/function-dot-arguments-identity.html: Added. New test for new behavior.
2:47 PM Changeset in webkit [128110] by tony@chromium.org
  • 32 edits in trunk/Source/WebCore

Rename computeLogicalWidth to updateLogicalWidth
https://bugs.webkit.org/show_bug.cgi?id=96288

Reviewed by Ojan Vafai.

Also rename recomputeLogicalWidth to updateLogicalWidthAndColumnWidth.
Also rename RenderTableCell::updateLogicalWidth to RenderTableCell::setCellLogicalWidth.

No new tests, this is just a refactor.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateLogicalWidthAndColumnWidth):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::getClearDelta):

  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::updateLogicalWidth):

  • rendering/RenderBox.h:

(RenderBox):
(WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::layout):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::updateLogicalWidth):

  • rendering/RenderFlowThread.h:
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutBlock):

  • rendering/RenderHTMLCanvas.cpp:

(WebCore::RenderHTMLCanvas::canvasSizeChanged):

  • rendering/RenderIFrame.cpp:

(WebCore::RenderIFrame::updateLogicalWidth):
(WebCore::RenderIFrame::layoutSeamlessly):
(WebCore::RenderIFrame::layout):

  • rendering/RenderIFrame.h:

(RenderIFrame):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageDimensionsChanged):

  • rendering/RenderMeter.cpp:

(WebCore::RenderMeter::updateLogicalWidth):

  • rendering/RenderMeter.h:

(RenderMeter):

  • rendering/RenderMultiColumnBlock.cpp:

(WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):

  • rendering/RenderMultiColumnBlock.h:

(RenderMultiColumnBlock):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::updateLogicalWidth):

  • rendering/RenderMultiColumnSet.h:

(RenderMultiColumnSet):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::layout):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::updateLogicalWidth):
(WebCore::RenderTable::layout):

  • rendering/RenderTable.h:

(RenderTable):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::updateLogicalWidth):
(WebCore::RenderTableCell::setCellLogicalWidth):

  • rendering/RenderTableCell.h:

(RenderTableCell):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::setCellLogicalWidths):

  • rendering/RenderView.cpp:

(WebCore::RenderView::updateLogicalWidth):

  • rendering/RenderView.h:
  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::updateLogicalWidth):

  • rendering/svg/RenderSVGForeignObject.h:

(RenderSVGForeignObject):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::layout):

2:43 PM Changeset in webkit [128109] by kling@webkit.org
  • 5 edits in trunk/Source/WebCore

ElementAttributeData: Use subclasses to manage varying object layouts.
<http://webkit.org/b/94465>

Reviewed by Antti Koivisto.

Add two ElementAttributeData subclasses:

  • MutableElementAttributeData
  • ImmutableElementAttributeData

The ElementAttributeData::m_isMutable bit determines which subclass to cast to when accessing
the attribute storage. Added mutableAttributeVector() and immutableAttributeArray() helpers
to ElementAttributeData (with appropriate assertions.)

This patch removes one step of indirection in the mutable case, since the Vector<Attribute> is no
longer heap-allocated, but part of MutableElementAttributeData.

Added a WTF::deleteOwnedPtr(ElementAttributeData*) specialization so that the appropriate subclass
destructor is called for these objects.

  • WebCore.exp.in:
  • dom/Element.cpp:

(WebCore::Element::createMutableAttributeData):

  • dom/ElementAttributeData.cpp:

(WebCore::ElementAttributeData::createImmutable):
(WebCore::ElementAttributeData::create):
(WebCore::ElementAttributeData::ElementAttributeData):
(WebCore::MutableElementAttributeData::MutableElementAttributeData):
(WebCore::ImmutableElementAttributeData::ImmutableElementAttributeData):
(WebCore::ImmutableElementAttributeData::~ImmutableElementAttributeData):
(WebCore::ElementAttributeData::makeMutableCopy):
(WebCore::ElementAttributeData::addAttribute):
(WebCore::ElementAttributeData::removeAttribute):
(WebCore::ElementAttributeData::reportMemoryUsage):
(WebCore::ElementAttributeData::cloneDataFrom):
(WebCore::ElementAttributeData::clearAttributes):

  • dom/ElementAttributeData.h:

(ElementAttributeData):
(WebCore::ElementAttributeData::isMutable):
(ImmutableElementAttributeData):
(MutableElementAttributeData):
(WebCore::MutableElementAttributeData::MutableElementAttributeData):
(WebCore::ElementAttributeData::immutableAttributeArray):
(WebCore::ElementAttributeData::mutableAttributeVector):
(WebCore::ElementAttributeData::length):
(WebCore::ElementAttributeData::attributeItem):

2:43 PM Changeset in webkit [128108] by ryuan.choi@samsung.com
  • 2 edits in trunk/Tools

[WTR] Generated source files should include config.h
https://bugs.webkit.org/show_bug.cgi?id=96254

Reviewed by Benjamin Poulain.

Current coding style has encouraged to include config.h at the first position,
But derived sources, generated by CodeGeneratorTestRunner.pm, don't follow
this rule.
Therefore, this patch added it.

  • WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:

(_generateImplementationFile):

2:41 PM Changeset in webkit [128107] by tony@chromium.org
  • 3 edits in trunk/Source/WebCore

Remove stray spaces found after :: in case statements
https://bugs.webkit.org/show_bug.cgi?id=96314

Reviewed by Ojan Vafai.

New contributors keep copy/pasting this style error and it makes me sad.
Also remove the extra spaces in MediaQueryEvaluator.cpp.

No new tests, this is just a style refactor.

  • css/CSSPrimitiveValue.cpp:

(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::unitCategory):

  • css/MediaQueryEvaluator.cpp:

(WebCore::MediaQueryEvaluator::MediaQueryEvaluator):

2:18 PM Changeset in webkit [128106] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

Change -data-blackberry-webworks-context to -data-webworks-context
because not all webworks apps are blackberry apps.
https://bugs.webkit.org/show_bug.cgi?id=96297

Patch by Genevieve Mak <gmak@rim.com> on 2012-09-10
Reviewed by Antonio Gomes.

PR #193726
Rubber Stamped interally by Mike Fenton.

  • WebKitSupport/DOMSupport.cpp:

(BlackBerry::WebKit::DOMSupport::webWorksContext):

2:07 PM Changeset in webkit [128105] by fsamuel@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed Rebaseline for Chromium Win XP.

  • platform/chromium-win-xp/fast/hidpi/gradient-with-scaled-ancestor-expected.png: Added.
1:59 PM Changeset in webkit [128104] by fsamuel@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Rebaselined for Chromium.

  • platform/chromium/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt: Added.
1:55 PM Changeset in webkit [128103] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix.

  • UIProcess/WebContext.h: Added a default value for relatedPage argment - if you don't have one, null is fine.
1:54 PM Changeset in webkit [128102] by abarth@webkit.org
  • 6 edits in trunk/Source/WebCore

[V8] setNamedHiddenWindowReference doesn't need to be a special case
https://bugs.webkit.org/show_bug.cgi?id=96198

Reviewed by Nate Chapin.

Prior to this patch, the DOMWindow cached its properties on the outter
global object rather than on the Holder of the properties. (We cache
properties to prevent their DOM wrappers from being garbage collected
too early.) There doesn't seem to be any reason why DOMWindow need to
be special-cased in this regard. We can just cache the properities on
their Holders, as usual.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNormalAttrGetter):

  • bindings/v8/V8DOMWrapper.cpp:
  • bindings/v8/V8DOMWrapper.h:

(V8DOMWrapper):

  • bindings/v8/custom/V8LocationCustom.cpp:
  • page/Location.idl:
    • Previously, Location had a custom toV8 function so that document.location would cache its wrapper in the same place as window.location. However, that's no longer necessary as the DOMWindow now holds its Document in a hidden property, which means the DOMWindow keeps the cached location property on Document alive anyway.
1:52 PM Changeset in webkit [128101] by ap@apple.com
  • 6 edits in trunk/Source/WebKit2

[WK2] Add an API to open a page in same process
https://bugs.webkit.org/show_bug.cgi?id=96306

Reviewed by Anders Carlsson.

The name "related" inspired by <http://wiki.whatwg.org/wiki/Links_to_Unrelated_Browsing_Contexts>.

  • UIProcess/API/mac/WKView.h: Added an API. It's unwieldy, but I blame WKBrowsingContextGroup, not the related view.
  • UIProcess/API/mac/WKViewPrivate.h: Matching SPI for clients that mostly use C APIs.
  • UIProcess/API/mac/WKView.mm: (-[WKView initWithFrame:processGroup:browsingContextGroup:]): Use new back-end signature. (-[WKView initWithFrame:processGroup:browsingContextGroup:relatedToView:]): Get page from WKView, and call back-end. (-[WKView initWithFrame:contextRef:pageGroupRef:]): Reimplement existing method by calling new, more powerful one. (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Just one change, pass relatedPage to the context.
  • UIProcess/WebContext.cpp: (WebKit::WebContext::createWebPage): If related page is not null, use its process.
  • UIProcess/WebContext.h: (WebContext): Updated createWebPage signature.
1:51 PM Changeset in webkit [128100] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

offlineasm has some impossible to implement, and unused, instructions
https://bugs.webkit.org/show_bug.cgi?id=96310

Reviewed by Mark Hahnenberg.

  • offlineasm/armv7.rb:
  • offlineasm/instructions.rb:
  • offlineasm/x86.rb:
1:33 PM Changeset in webkit [128099] by ojan@chromium.org
  • 2 edits in trunk/LayoutTests

Update the css3/filters test expectations to match the bots.
90+ of these tests never failed, so adding the whole css3/filters
directory was incorrect.

  • platform/chromium/TestExpectations:
1:31 PM Changeset in webkit [128098] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Silence a warning when running update-webkit-localizable-strings
https://bugs.webkit.org/show_bug.cgi?id=96307

Reviewed by John Sullivan.

Since both the blockedPluginByContentSecurityPolicyText and insecurePluginVersionText strings use exact the same wording,
use WEB_UI_STRING_KEY to indicate that they are different.

  • English.lproj/Localizable.strings:

Update the localizable strings file.

  • platform/LocalizedStrings.cpp:

(WebCore::blockedPluginByContentSecurityPolicyText):
(WebCore::insecurePluginVersionText):

1:27 PM Changeset in webkit [128097] by fsamuel@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed fix of webkit-lint for Chromium gardening

  • platform/chromium/TestExpectations:
1:23 PM Changeset in webkit [128096] by ggaren@apple.com
  • 20 edits in trunk/Source/JavaScriptCore

Refactored op_tear_off* to support activations that don't allocate space for 'arguments'
https://bugs.webkit.org/show_bug.cgi?id=96231

Reviewed by Gavin Barraclough.

This is a step toward smaller activations.

As a side-effect, this patch eliminates a load and branch from the hot path
of activation tear-off by moving it to the cold path of arguments tear-off. Our
optimizing assumptions are that activations are common and that reifying the
arguments object is less common.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dump):

  • bytecode/Opcode.h:

(JSC::padOpcodeName): Updated for new opcode lengths.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::addConstantValue): Added support for JSValue()
in the bytecode, which we use when we have 'arguments' but no activation.

(JSC::BytecodeGenerator::emitReturn): Always emit tear_off_arguments
if we've allocated the arguments registers. This allows tear_off_activation
not to worry about the arguments object anymore.

Also, pass the activation and arguments values directly to these opcodes
instead of requiring the opcodes to infer the values through special
registers. This gives us more flexibility to move or eliminate registers.

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGNode.h:

(Node): Updated for new opcode lengths.

  • dfg/DFGOperations.cpp: Activation tear-off doesn't worry about the

arguments object anymore. If 'arguments' is in use and reified, it's
responsible for aliasing back to the activation object in tear_off_arguments.

  • dfg/DFGOperations.h:
  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):
(SpeculativeJIT):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile): Don't pass the arguments object to
activation tear-off; do pass the activation object to arguments tear-off.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::privateExecute): Ditto.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_tear_off_activation):
(JSC::JIT::emit_op_tear_off_arguments):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_tear_off_activation):
(JSC::JIT::emit_op_tear_off_arguments):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm: Same change in a few more execution engines.
1:21 PM Changeset in webkit [128095] by abarth@webkit.org
  • 4 edits in trunk/Source/WebCore

[V8] V8HTMLDocument::write and friends should not indirect through Frame
https://bugs.webkit.org/show_bug.cgi?id=96289

Patch by Adam Barth <abarth@chromium.org> on 2012-09-10
Reviewed by Eric Seidel.

There is no reason why document.write and friends need to indirect
through the Frame to find the active document. This patch makes these
functions work the same as the JSC versions.

  • bindings/v8/BindingState.cpp:
  • bindings/v8/BindingState.h:
    • This patch removes the last callers of activeFrame, so we can remove the function entirely.
  • bindings/v8/custom/V8HTMLDocumentCustom.cpp:

(WebCore::V8HTMLDocument::writeCallback):
(WebCore::V8HTMLDocument::writelnCallback):
(WebCore::V8HTMLDocument::openCallback):

1:20 PM Changeset in webkit [128094] by abarth@webkit.org
  • 5 edits in trunk/Source/WebCore

[V8] Constructors try to handle errors that cannot occur
https://bugs.webkit.org/show_bug.cgi?id=96304

Patch by Adam Barth <abarth@chromium.org> on 2012-09-10
Reviewed by Kentaro Hara.

There's no reason for constructors to indirect through the Frame. Now
that we can reliably get the Document from the v8::Context, we can just
grab it without worrying about handling error conditions related to not
being able to find the Document.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNamedConstructorCallback):

  • bindings/scripts/test/V8/V8TestNamedConstructor.cpp:

(WebCore::V8TestNamedConstructorConstructorCallback):

  • bindings/v8/custom/V8AudioContextCustom.cpp:

(WebCore::V8AudioContext::constructorCallback):

  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp:

(WebCore::v8HTMLImageElementConstructorCallback):

1:09 PM Changeset in webkit [128093] by commit-queue@webkit.org
  • 7 edits in trunk

Source/WebKit/chromium: [chromium] Add unused GestureTapCancel
https://bugs.webkit.org/show_bug.cgi?id=96183

Patch by Rick Byers <rbyers@chromium.org> on 2012-09-10
Reviewed by Adam Barth.

This adds a new 'tap cancel' gesture type. This is temporarily unused,
so that we can change chromium to start sending the gesture type
without breaking anything.

  • public/WebInputEvent.h:
  • src/PageWidgetDelegate.cpp:

(WebKit::PageWidgetDelegate::handleInputEvent):

  • src/WebInputEventConversion.cpp:

(WebKit::PlatformGestureEventBuilder::PlatformGestureEventBuilder):

  • src/WebPopupMenuImpl.cpp:

(WebKit::WebPopupMenuImpl::handleInputEvent):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::handleGestureEvent):

Tools: Add handling of new GestureTapCancel in DRT

https://bugs.webkit.org/show_bug.cgi?id=96183

Patch by Rick Byers <rbyers@chromium.org> on 2012-09-10
Reviewed by Adam Barth.

  • DumpRenderTree/chromium/TestWebPlugin.cpp:

(TestWebPlugin::handleInputEvent):

12:55 PM Changeset in webkit [128092] by fsamuel@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] gradient-with-scaled-ancestor.html rebaseline
https://bugs.webkit.org/show_bug.cgi?id=96110

Patch by Alex Sakhartchouk <alexst@chromium.org> on 2012-09-10
Reviewed by Adrienne Walker.

Fixed a bug in the test, rebaselining the results at proper resolution.

  • platform/chromium-linux-x86/fast/hidpi/gradient-with-scaled-ancestor-expected.png: Removed.
  • platform/chromium-linux/fast/hidpi/gradient-with-scaled-ancestor-expected.png:
  • platform/chromium-mac-snowleopard/fast/hidpi/gradient-with-scaled-ancestor-expected.png:
  • platform/chromium-mac/fast/hidpi/gradient-with-scaled-ancestor-expected.png:
  • platform/chromium-win-xp/fast/hidpi/gradient-with-scaled-ancestor-expected.png: Removed.
  • platform/chromium-win/fast/hidpi/gradient-with-scaled-ancestor-expected.png:
  • platform/chromium/TestExpectations:
12:48 PM Changeset in webkit [128091] by Patrick Gansterer
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Use StringBuilder::appendNumber() instead of String::number()
https://bugs.webkit.org/show_bug.cgi?id=96236

Reviewed by Benjamin Poulain.

  • API/JSContextRef.cpp:

(JSContextCreateBacktrace):

12:13 PM Changeset in webkit [128090] by commit-queue@webkit.org
  • 6 edits
    2 deletes in trunk/LayoutTests

[chromium] gradient-with-scaled-ancestor.html rebaseline
https://bugs.webkit.org/show_bug.cgi?id=96110

Patch by Alex Sakhartchouk <alexst@chromium.org> on 2012-09-10
Reviewed by Adrienne Walker.

Fixed a bug in the test, rebaselining the results at proper resolution.

  • platform/chromium-linux-x86/fast/hidpi/gradient-with-scaled-ancestor-expected.png: Removed.
  • platform/chromium-linux/fast/hidpi/gradient-with-scaled-ancestor-expected.png:
  • platform/chromium-mac-snowleopard/fast/hidpi/gradient-with-scaled-ancestor-expected.png:
  • platform/chromium-mac/fast/hidpi/gradient-with-scaled-ancestor-expected.png:
  • platform/chromium-win-xp/fast/hidpi/gradient-with-scaled-ancestor-expected.png: Removed.
  • platform/chromium-win/fast/hidpi/gradient-with-scaled-ancestor-expected.png:
  • platform/chromium/TestExpectations:
12:12 PM Changeset in webkit [128089] by caseq@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: highlight of paint rectangles is broken
https://bugs.webkit.org/show_bug.cgi?id=96276

Reviewed by Vsevolod Vlasov.

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::drawRectHighlight): Fix JS method name to match the one in InspectorOverlayPage.html

12:08 PM Changeset in webkit [128088] by beidson@apple.com
  • 10 edits
    2 adds in trunk

Javascript in foreground tabs should not wait synchronously for plug-ins to load
<rdar://problem/12067415> and https://bugs.webkit.org/show_bug.cgi?id=96167

Reviewed by Geoff Garen.

Source/WebKit2:

Synchronously waiting for initialization to complete when javascript accesses the plug-in script object severely
reduces the effectiveness of having an asynchronous NPP_New.

Such as with background tabs that have never been viewed, we already have cases where JS calls into the plug-in
element fail because we haven't bothered to initialize the plug-in.

We get a huge win by expanding that to foreground tabs that simply haven't finished initializing their plug-ins.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::scriptObject): If initialization is not complete just return 0 - They can get at the script object later.

Remove the notion of "wait for asynchronous initialization" altogether:

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:

(NetscapePlugin):

  • WebProcess/Plugins/PDF/BuiltInPDFView.h:

(BuiltInPDFView):

  • WebProcess/Plugins/Plugin.h:

(Plugin):

  • WebProcess/Plugins/PluginProxy.cpp:
  • WebProcess/Plugins/PluginProxy.h:

(PluginProxy):

Tools:

Enhance the "Slow NPP_New" plug-in to also be able to return properties to javascript.

  • DumpRenderTree/TestNetscapePlugIn/Tests/SlowNPPNew.cpp:

(PluginObject):
(SlowNPPNew::PluginObject::PluginObject):
(SlowNPPNew::PluginObject::~PluginObject):
(SlowNPPNew::PluginObject::hasProperty):
(SlowNPPNew::PluginObject::getProperty):
(SlowNPPNew::NPP_GetValue):
(SlowNPPNew):

LayoutTests:

  • platform/mac-wk2/plugins/script-object-access-fails-during-slow-initialization-expected.txt: Added.
  • platform/mac-wk2/plugins/script-object-access-fails-during-slow-initialization.html: Added.
12:07 PM Changeset in webkit [128087] by pilgrim@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

[Chromium] Define new setSharedWorkerRepository function in preparation for removing WebKitPlatformSupport::sharedWorkerRepository()
https://bugs.webkit.org/show_bug.cgi?id=95861

Reviewed by Adam Barth.

Followup patch to Chromium will call this new function, then we can remove all references to the legacy function on WebKitPlatformSupport.

  • public/WebSharedWorkerRepository.h:

(WebKit):

  • src/SharedWorkerRepository.cpp:

(WebKit):
(WebKit::setSharedWorkerRepository):
(WebKit::sharedWorkerRepository):
(WebCore::SharedWorkerRepository::isAvailable):
(WebCore::SharedWorkerRepository::connect):
(WebCore::SharedWorkerRepository::documentDetached):
(WebCore::SharedWorkerRepository::hasSharedWorkers):

11:50 AM Changeset in webkit [128086] by timothy_horton@apple.com
  • 3 edits in trunk/Tools

WKTR often reports an unresponsive WebProcess on Mac bots
https://bugs.webkit.org/show_bug.cgi?id=95906

Reviewed by Dan Bernstein.

Attempt to work around resource contention issues by increasing the NRWT
timeout when running against WKTR, as well as WKTR's own WebProcess timeout.

  • Scripts/webkitpy/layout_tests/port/base.py:

(Port.default_timeout_ms): Default timeout when using WKTR -> 80 seconds.

  • WebKitTestRunner/TestController.cpp:

(WTR): LongTimeout (used when waiting for WebProcess to finish) -> 60 seconds.

11:49 AM Changeset in webkit [128085] by commit-queue@webkit.org
  • 9 edits in trunk/Source

webkit build for 64-bit Mac chromium
https://bugs.webkit.org/show_bug.cgi?id=95977

Patch by Catalin Badea <badea@adobe.com> on 2012-09-10
Reviewed by Eric Seidel.

Source/WebCore:

Use the correct definitions for NS types in order to fix build issues for 64-bit chromium on mac.

  • platform/chromium/PlatformSupport.h:

Remove a deprecated Carbon typedef.

  • platform/graphics/FloatPoint.h:

(FloatPoint):

  • platform/graphics/FloatRect.h:

(FloatRect):

  • platform/graphics/FloatSize.h:

(FloatSize):

  • platform/graphics/IntRect.h:

(IntRect):

Source/WebKit/chromium:

Ensure header completeness and use the correct include order. This fixes a compilation issues noticeable when building chromium for 64-bit Mac.

  • public/mac/WebSubstringUtil.h:
  • src/mac/WebSubstringUtil.mm:
11:41 AM Changeset in webkit [128084] by mhahnenberg@apple.com
  • 23 edits
    1 add in trunk/Source/JavaScriptCore

Combine MarkStack and SlotVisitor into single class
https://bugs.webkit.org/show_bug.cgi?id=96043

Reviewed by Geoff Garen.

Move all of MarkStack into SlotVisitor. The remaining stuff in MarkStack.cpp actually has to do
with MarkStack management/allocation. Cleaned up a few of the header files while I was at it.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • bytecode/CodeBlock.cpp:
  • dfg/DFGCommon.h:
  • heap/GCThreadSharedData.cpp:
  • heap/GCThreadSharedData.h:

(GCThreadSharedData):

  • heap/HeapRootVisitor.h:
  • heap/MarkStack.cpp:

(JSC):

  • heap/MarkStack.h:

(JSC):
(MarkStackSegment):
(JSC::MarkStackSegment::data):
(JSC::MarkStackSegment::capacityFromSize):
(JSC::MarkStackSegment::sizeFromCapacity):
(MarkStackSegmentAllocator):
(MarkStackArray):

  • heap/MarkStackInlineMethods.h:

(JSC::MarkStackArray::postIncTop):
(JSC):
(JSC::MarkStackArray::preDecTop):
(JSC::MarkStackArray::setTopForFullSegment):
(JSC::MarkStackArray::setTopForEmptySegment):
(JSC::MarkStackArray::top):
(JSC::MarkStackArray::validatePrevious):
(JSC::MarkStackArray::append):
(JSC::MarkStackArray::canRemoveLast):
(JSC::MarkStackArray::removeLast):
(JSC::MarkStackArray::isEmpty):
(JSC::MarkStackArray::size):

  • heap/SlotVisitor.cpp: Added.

(JSC):
(JSC::SlotVisitor::SlotVisitor):
(JSC::SlotVisitor::~SlotVisitor):
(JSC::SlotVisitor::setup):
(JSC::SlotVisitor::reset):
(JSC::SlotVisitor::append):
(JSC::visitChildren):
(JSC::SlotVisitor::donateKnownParallel):
(JSC::SlotVisitor::drain):
(JSC::SlotVisitor::drainFromShared):
(JSC::SlotVisitor::mergeOpaqueRoots):
(JSC::SlotVisitor::startCopying):
(JSC::SlotVisitor::allocateNewSpaceSlow):
(JSC::SlotVisitor::allocateNewSpaceOrPin):
(JSC::JSString::tryHashConstLock):
(JSC::JSString::releaseHashConstLock):
(JSC::JSString::shouldTryHashConst):
(JSC::SlotVisitor::internalAppend):
(JSC::SlotVisitor::copyAndAppend):
(JSC::SlotVisitor::doneCopying):
(JSC::SlotVisitor::harvestWeakReferences):
(JSC::SlotVisitor::finalizeUnconditionalFinalizers):
(JSC::SlotVisitor::validate):

  • heap/SlotVisitor.h:

(JSC):
(SlotVisitor):
(JSC::SlotVisitor::sharedData):
(JSC::SlotVisitor::isEmpty):
(JSC::SlotVisitor::visitCount):
(JSC::SlotVisitor::resetChildCount):
(JSC::SlotVisitor::childCount):
(JSC::SlotVisitor::incrementChildCount):
(ParallelModeEnabler):
(JSC::ParallelModeEnabler::ParallelModeEnabler):
(JSC::ParallelModeEnabler::~ParallelModeEnabler):

  • heap/SlotVisitorInlineMethods.h:

(JSC::SlotVisitor::append):
(JSC):
(JSC::SlotVisitor::appendUnbarrieredPointer):
(JSC::SlotVisitor::appendUnbarrieredValue):
(JSC::SlotVisitor::internalAppend):
(JSC::SlotVisitor::addWeakReferenceHarvester):
(JSC::SlotVisitor::addUnconditionalFinalizer):
(JSC::SlotVisitor::addOpaqueRoot):
(JSC::SlotVisitor::containsOpaqueRoot):
(JSC::SlotVisitor::opaqueRootCount):
(JSC::SlotVisitor::mergeOpaqueRootsIfNecessary):
(JSC::SlotVisitor::mergeOpaqueRootsIfProfitable):
(JSC::SlotVisitor::donate):
(JSC::SlotVisitor::donateAndDrain):

  • jit/JITWriteBarrier.h:

(JSC::SlotVisitor::append):

  • jit/JumpReplacementWatchpoint.cpp:
  • runtime/JSCell.h:
  • runtime/Structure.h:

(JSC::SlotVisitor::internalAppend):

  • runtime/WriteBarrier.h:

(JSC):
(JSC::SlotVisitor::append):
(JSC::SlotVisitor::appendValues):

  • yarr/YarrJIT.cpp:
11:24 AM Changeset in webkit [128083] by commit-queue@webkit.org
  • 10 edits
    6 adds in trunk/Source/WebCore

[CSS Exlusions] add support for the basic shapes
https://bugs.webkit.org/show_bug.cgi?id=95490

Patch by Hans Muller <hmuller@adobe.com> on 2012-09-10
Reviewed by David Hyatt.

Initial commit of a subset of the ExclusionShape classes.

This set of classes enables the exclusions layout code to determine how to break up a line into segments
that will fit within or around a shape, given the Y coordinates of the line's top edge and bottom edges.
The ExclusionShape class represents BasicShapes whose coordinates have been resolved to actual values. It
provides a pair of methods, getInsideIntervals() and getOutsideIntervals(), that return the line segments'
start and end X coordinates, and a method that computes the shape's bounding box. The line segments'
coordinates are represented by a Vector of ExclusionIntervals. ExclusionInterval is just a pair
of X coordinates.

The other classes, ExclusionRectangle (and TBD ExclusionPolygon et al), are internal to the
ExclusionShape implementation.

This is the initial version of the ExclusionShapes code and it's only being used to the limited extent WebKit
currently supports shape-inside exclusions. It will be extended to support computing a minimal
line segment's "first layout location" and other improvements, in tandem with the exclusions layout code.

No new tests have been added since this code just replaces a provisional implementation stub.

More information about the algorithms used by the ExclusionShapes classes can be found here: http://hansmuller-webkit.blogspot.com.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/ExclusionInterval.cpp: Added.

(WebCore):
(WebCore::IntervalX1Comparator::operator()):
Compare x1 ExclusionInterval fields.
(WebCore::ExclusionInterval::intersect):
Compute the intersection of this interval with another interval. Unlike merge/subtract,
the result is always a single interval.
(WebCore::sortExclusionIntervals):
Sort a vector of intervals by their x1 (start) field.
(WebCore::mergeExclusionIntervals):
Union of two vectors of intervals.
(WebCore::intersectExclusionIntervals):
Intersecion of two vectors of intervals.
(WebCore::subtractExclusionIntervals):
Difference of two vectors of intervals.

  • rendering/ExclusionInterval.h: Added.

Represents the actual start and end coordinates of a horizontal line segment.
(WebCore):
(ExclusionInterval):
(WebCore::ExclusionInterval::ExclusionInterval):

  • rendering/ExclusionRectangle.cpp: Added.

(WebCore):
(WebCore::ellipseXIntercept):
(WebCore::ExclusionRectangle::getOutsideIntervals):
(WebCore::ExclusionRectangle::getInsideIntervals):

  • rendering/ExclusionRectangle.h: Added.

A subclass of ExclusionShape used to represent rounded rectangles, circles, and ellipses.
(WebCore):
(ExclusionRectangle)
(WebCore::ExclusionRectangle::ExclusionRectangle):
(WebCore::ExclusionRectangle::shapeBoundingBox):

  • rendering/ExclusionShape.cpp: Added.

(WebCore):
(WebCore::createExclusionRectangle):
(WebCore::createExclusionCircle):
(WebCore::createExclusionEllipse):
(WebCore::Exclusionhape::createExclusionShape):
Creates an ExclusionShape given a BasicShape and the width/height of a border box. Currently rounded
rectangles, circles, and ellipses are supported. Support for polygons will be included in the
next patch.

  • rendering/ExclusionShape.h: Added.

The rest of the exclusions implementation will only depend on the definitions included by this file: ExclusionShape,
and ExclusionInterval. ExclusionShape subclasses define shape-specific implementations of the methods that compute the
horizontal intervals that fit within or around a specific shape, a shape's bounding box, and - in future
revisions - other operations required by the exclusions implementation, like computing the first possible
layout location within a shape. ExclusionShapes are created for BasicShape objects as needed, using the
createExclusionShape() method.
(WebCore):
(ExclusionShape):
(WebCore::ExclusionShape::~ExclusionShape):

  • rendering/WrapShapeInfo.cpp:

(WebCore::WrapShapeInfo::computeShapeSize):
Create an ExclusionShape for the RenderBlock's BasicShape.
(WebCore::WrapShapeInfo::computeSegmentsForLine):
Use ExclusionShape::getInsideIntervals() to compute the shape-inside intervals within which a line will fit.

  • rendering/WrapShapeInfo.h:

(WebCore::WrapShapeInfo::shapeTop):
Removed - no longer used.
(WrapShapeInfo):
(WebCore::WrapShapeInfo::lineState):
Use the ExclusionShape's bounding box to compute lineState.

11:22 AM Changeset in webkit [128082] by enne@google.com
  • 5 edits in trunk/Source

[chromium] Fix deadlock between WebMediaPlayerClientImpl dtor and PutCurrentFrame
https://bugs.webkit.org/show_bug.cgi?id=96010

Reviewed by James Robinson.

Source/Platform:

Add some additional clarifying comments.

  • chromium/public/WebVideoFrameProvider.h:

(Client):
(WebVideoFrameProvider):

Source/WebKit/chromium:

The key fix here is that the destructor no longer has a mutex.
The m_compositingMutex was supposedly protecting races between
~WebMediaPlayerClientImpl and setVideoFrameProviderClient. The
former is only called from the main thread and the latter is called
from the compositor thread only when the main thread is blocked (and
it already asserts that this is the case).

In addition, the m_providerMutex in CCVideoLayerImpl prevents the
destruction of WebMediaPlayerClientImpl, thus keeping the frame
acquired via getCurrentFrame alive until putCurrentFrame is called.
These functions are only called by the client, and comments are added
to the interface to better document this.

To prevent a race between load() and getCurrentFrame/putCurrentFrame
(which are called from different threads) a new m_webMediaPlayerMutex
to replace part of what the old m_compositingMutex was doing.

  • src/WebMediaPlayerClientImpl.cpp:

(WebKit::WebMediaPlayerClientImpl::~WebMediaPlayerClientImpl):
(WebKit::WebMediaPlayerClientImpl::load):
(WebKit::WebMediaPlayerClientImpl::loadInternal):
(WebKit::WebMediaPlayerClientImpl::setVideoFrameProviderClient):
(WebKit::WebMediaPlayerClientImpl::getCurrentFrame):
(WebKit::WebMediaPlayerClientImpl::putCurrentFrame):

  • src/WebMediaPlayerClientImpl.h:

(WebMediaPlayerClientImpl):

11:11 AM Changeset in webkit [128081] by jer.noble@apple.com
  • 35 edits
    3 adds in trunk

<audio> and <video> should send Do Not Track when appropriate
https://bugs.webkit.org/show_bug.cgi?id=96134

Reviewed by Eric Carlson.

Source/WebCore:

Add a FrameLoaderClient function to determine whether the DNT header should be sent,
and plumb that new function down into the MediaPlayerPrivateAVFoundationObjC class.

Test: http/tests/media/video-donottrack.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerShouldSendDoNotTrackHTTPHeader):

Pass the question on through to the FrameLoaderClient.

  • html/HTMLMediaElement.h:
  • loader/FrameLoaderClient.h:

(WebCore::FrameLoaderClient::shouldSendDoNotTrackHTTPHeader):

Call through to the implementation in WebKit or WebKit2.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerShouldSendDoNotTrackHTTPHeader):

Pass the question on to the HTMLMediaElement.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):

If we should send the DNT header, add it to the header options array
when creating the AVAsset.

Source/WebKit/mac:

Add support for the shouldSendDoNotTrackHTTPHeader by passing the request
on to the WebFrameLoadDelegate.

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::shouldSendDoNotTrackHeader):

Pass the question on to the WebFrameLoadDelegate.

  • WebView/WebDelegateImplementationCaching.h:

(WebFrameLoadDelegateImplementationCache):

Add an entry for the delegate's webViewShouldSendDoNotTrackHeader method.

  • WebView/WebDelegateImplementationCaching.mm:

(CallResourceLoadDelegateReturningBoolean): Added a 0-parameter overloaded function.

  • WebView/WebView.mm:

(-[WebView _cacheFrameLoadDelegateImplementations]): initialize the

cached value for shouldSendDoNotTrackHeaderFunc.

Source/WebKit2:

Add support for the shouldSendDoNotTrackHTTPHeader by passing the request
on to the WebFrameLoadDelegate.

  • Shared/APIClientTraits.cpp: Increment the interfaceSizes for

WKBundlePageLoaderClient by the value of the new functions.

  • Shared/APIClientTraits.h: Ditto.
  • WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add a new API to

WKBundlePageLoaderClient and bump the version number.

  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:

(WebKit::InjectedBundlePageLoaderClient::shouldSendDoNotTrackHTTPHeader):

Pass the question on to the client.

  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::shouldSendDoNotTrackHTTPHeader):

Pass the question on to the bundle.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/qt/QtBuiltinBundlePage.cpp:

(WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):

Add an entry for the new function in the Qt loader client.

Tools:

Add a testRunner JS API for calling setShouldSendDoNotTrackHTTPHeader to DRT and
WTR. Add FrameLoaderClient client methods for retrieving that value.

  • DumpRenderTree/TestRunner.cpp:

(setShouldSendDoNotTrackHTTPHeaderCallback): Pass through to the TestRunner.
(TestRunner::staticFunctions): Add the setShouldSendDoNotTrackHTTPHeader function.

  • DumpRenderTree/TestRunner.h:

(TestRunner::setShouldSendDoNotTrackHTTPHeader): Simple setter.
(TestRunner::shouldSendDoNotTrackHTTPHeader): Simple getter.

  • DumpRenderTree/mac/FrameLoadDelegate.mm:

(-[FrameLoadDelegate webViewShouldSendDoNotTrackHTTPHeader:]):

Pass the question on to the TestRunner.

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::InjectedBundlePage):

Add the setShouldSendDoNotTrackHTTPHeader client function.

(WTR::InjectedBundlePage::shouldSendDoNotTrackHTTPHeader):

Pass the question on to the TestRunner.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:
  • WebKitTestRunner/InjectedBundle/TestRunner.h:

(WTR::TestRunner::shouldSendDoNotTrackHTTPHeader): Simple getter.
(WTR::TestRunner::setShouldSendDoNotTrackHTTPHeader): Simple Setter.

LayoutTests:

Add a new HTTP test ensuring the DNT header is passed correctly during video tests.

  • http/tests/media/resources/video-donottrack-check-donottrack.php: Added.
  • http/tests/media/video-donottrack-expected.txt: Added.
  • http/tests/media/video-donottrack.html: Added.

Skip the new tests on platforms which do not support it:

  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/Skipped:
11:08 AM Changeset in webkit [128080] by jonlee@apple.com
  • 3 edits
    2 adds in trunk

The options dictionary in Notification constructor should not accept event listeners
https://bugs.webkit.org/show_bug.cgi?id=95538
<rdar://problem/12213901>

Reviewed by Alexey Proskuryakov.

Source/WebCore:

The latest spec only allows setting the event listeners after the notification has been created.

Test: http/tests/notifications/events-in-dictionary.html

  • Modules/notifications/Notification.cpp:

(WebCore::Notification::create): Do not look for the event handlers in the options dictionary.

LayoutTests:

Make sure the onshow handler added in the options dictionary does not get called.

  • http/tests/notifications/events-in-dictionary-expected.txt: Added.
  • http/tests/notifications/events-in-dictionary.html: Added.
11:06 AM Changeset in webkit [128079] by jonlee@apple.com
  • 1 edit
    2 adds
    2 deletes in trunk/LayoutTests

[Tests] Move fast/notifications/notifications-double-show.html to http/tests/notifications
https://bugs.webkit.org/show_bug.cgi?id=95537
<rdar://problem/12213860>

Reviewed by Alexey Proskuryakov.

Calling show() multiple times should only call the ondisplay event handler once.

  • fast/notifications/notifications-double-show-expected.txt: Removed.
  • fast/notifications/notifications-double-show.html: Removed.
  • http/tests/notifications/legacy/double-show-expected.txt: Added.
  • http/tests/notifications/legacy/double-show.html: Added.
10:42 AM Changeset in webkit [128078] by robert@webkit.org
  • 7 edits
    2 adds in trunk

CSS 2.1 failure: content-counter-010.htm fails
https://bugs.webkit.org/show_bug.cgi?id=81447

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: fast/css/content-counter-010.htm

Per http://lists.w3.org/Archives/Public/public-css-testsuite/2010Nov/0064.html, the correct rendering of
7000 to 7999 in Armenian changed in Nov 2010. Update implementation to match the revised spec.

  • rendering/RenderListMarker.cpp:

(WebCore::toArmenianUnder10000):

LayoutTests:

  • fast/css/content-counter-010-expected.html: Added.
  • fast/css/content-counter-010.htm: Added. Note that <meta http-equiv="Content-Type" content="text/html; charset=utf-8" was added to the suite test to allow it to render correctly from a file:/ url.
  • fast/lists/w3-css3-lower-armenian-expected.txt:
  • fast/lists/w3-css3-lower-armenian.html:
  • fast/lists/w3-css3-upper-armenian-expected.txt:
  • fast/lists/w3-css3-upper-armenian.html: Amended tests to conform to revised specification for numbers between 7000 and 7999.
10:26 AM Changeset in webkit [128077] by ojan@chromium.org
  • 4 edits in trunk/Tools

Make EFL bots work on the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=96164

Reviewed by Tony Chang.

Also, update outdated unittests that had started failing.

  • TestResultServer/static-dashboards/builders.js:

(isWebkitTestRunner):

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(nonChromiumPlatform):

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(test):

10:21 AM WebKitGTK/1.10.x edited by jdiggs@igalia.com
(diff)
10:20 AM Changeset in webkit [128076] by commit-queue@webkit.org
  • 4 edits in trunk

Font value should be parsed as a individual property
https://bugs.webkit.org/show_bug.cgi?id=96271

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-09-10
Reviewed by Eric Seidel.

Source/WebCore:

Parsing the font value as an individual CSS property instead of a style
body should make it significantly more effective and will not
validate something like ctx.font = "25px serif; background: green".

Updated canvas/philip/tests/2d.text.font.parse.invalid.html to cover
this use case.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setFont):

LayoutTests:

Updated test to the latest W3C approved version. It adds a test
that verifies this fix.

  • canvas/philip/tests/2d.text.font.parse.invalid.html:
10:15 AM Changeset in webkit [128075] by commit-queue@webkit.org
  • 5 edits
    7 adds in trunk

[Chromium] Handle smaller sizes of media elements in media controls.
https://bugs.webkit.org/show_bug.cgi?id=89344

Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-09-10
Reviewed by Eric Carlson.

The redesign of the Chrome video controls calls for successive removal of individual
elements in the Chrome video and audio controls as the element becomes smaller in width.
It also requires decreasing padding on the enclosure element of videos.

Source/WebCore:

This patch introduces a layout() function into the MediaControlRootElementChromium to
react to any changes of the media controls width and appropriately hide/show the
interactive elements and apply the correct padding on video elements.

Tests: platform/chromium/media/controls-audio-sizes.html

platform/chromium/media/controls-video-sizes-padding.html
platform/chromium/media/controls-video-sizes.html

  • html/shadow/MediaControlRootElementChromium.cpp:

(WebCore):
(RenderMediaControlPanelEnclosureElement):
Introduce a renderer for the MediaControlPanelEnclosureElement in which to deal with the layout changes.
Following the pattern in MediaControlElements.cpp .
(WebCore::RenderMediaControlPanelEnclosureElement::RenderMediaControlPanelEnclosureElement):
Definition of the new RenderMediaControlPanelEnclosureElement class.
(WebCore::RenderMediaControlPanelEnclosureElement::layout):
Definition of the layout() function for the renderer. This does most of the actual work.
(WebCore::MediaControlPanelEnclosureElement::createRenderer):
Create the renderer for the MediaControlPanelEnclosureElement.
(WebCore::MediaControlPanelEnclosureElement::updatePadding):
Update padding as part of the MediaControlPanelEnclosureElement functions.
(WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
Add a class property to store whether the duration and current time display are hidden.
(WebCore::MediaControlRootElementChromium::reset):
Include the hiding/showing of the timeline into the updateTimeDisplay() function to reduce code duplication.
(WebCore::MediaControlRootElementChromium::playbackStarted):
Include the hiding/showing of the timeline and time display into the updateTimeDisplay() function
to reduce code duplication.
(WebCore::MediaControlRootElementChromium::playbackProgressed):
Include the hiding/showing of the timeline into the updateTimeDisplay() function to reduce code duplication.
(WebCore::MediaControlRootElementChromium::playbackStopped):
Include the hiding/showing of the timeline into the updateTimeDisplay() function to reduce code duplication.
(WebCore::MediaControlRootElementChromium::updateTimeDisplay):
Only show time display if not hidden. Add timeline update here to reduce code duplication/
(WebCore::MediaControlRootElementChromium::hideVolumeSlider):
New function to allow layout() function to hide the volume slider.
(WebCore::MediaControlRootElementChromium::showTimeDisplay):
New function to allow layout() function to show the time display.
(WebCore::MediaControlRootElementChromium::hideTimeDisplay):
New function to allow layout() function to hide the time display.
(WebCore::MediaControlRootElementChromium::showMuteButton):
New function to allow layout() function to show the mute button.
(WebCore::MediaControlRootElementChromium::hideMuteButton):
New function to allow layout() function to hide the mute button.
(WebCore::MediaControlRootElementChromium::showFullscreenButton):
New function to allow layout() function to show the fullscreen button.
(WebCore::MediaControlRootElementChromium::hideFullscreenButton):
New function to allow layout() function to hide the fullscreen button.
(WebCore::MediaControlRootElementChromium::showTimeline):
New function to allow layout() function to show the timeline.
(WebCore::MediaControlRootElementChromium::hideTimeline):
New function to allow layout() function to hide the timeline.

  • html/shadow/MediaControlRootElementChromium.h:

(MediaControlPanelEnclosureElement):
Add a createRender() and a updatePadding() function to the MediaControlPanelEnclosureElement class.
(MediaControlRootElementChromium):
Add hide/show functions for volume slider, time display, mute button, fullscreen button and timeline.
Add a class property to store whether the duration and current time display are hidden.

LayoutTests:

These platform-specific tests check if the correct interactive elements are shown for
different video and audio element widths and the correct padding is applied for videos.

  • platform/chromium/TestExpectations: Mark failing tests for later rebaseline.
  • platform/chromium/media/controls-audio-sizes-expected.txt: Added.
  • platform/chromium/media/controls-audio-sizes.html: Added. Tests if the correct elements are shown for audio elements.
  • platform/chromium/media/controls-video-sizes-expected.txt: Added.
  • platform/chromium/media/controls-video-sizes.html: Added.
  • platform/chromium-mac/platform/chromium/media/controls-video-sizes-expected.png: Added. Tests if the correct elements are shown for video elements.
  • platform/chromium/media/controls-video-sizes-padding-expected.txt: Added.
  • platform/chromium/media/controls-video-sizes-padding.html: Added. Tests if the correct padding is applied to the enclosure of the video controls.
10:12 AM Changeset in webkit [128074] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK][a11y] editing/pasteboard/paste-blockquote-into-blockquote-4.html crashes
https://bugs.webkit.org/show_bug.cgi?id=96199

Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-09-10
Reviewed by Martin Robinson.

Added sanity check to correct erroneous assumption that there will
always be a child object.

No new tests as the bug crashes two existing Layout Tests which should
no longer crash as a result of this fix.

  • accessibility/gtk/AccessibilityObjectAtk.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):

10:05 AM Changeset in webkit [128073] by tony@chromium.org
  • 4 edits in trunk/LayoutTests

fast/canvas/webgl/shader-precision-format.html is flaky in debug
https://bugs.webkit.org/show_bug.cgi?id=84065

Reviewed by James Robinson.

It looks like we need to use waitUntilDone since we're adding a script
tag. Some tests have "PASS successfullyParsed is true" and some don't.

  • fast/canvas/webgl/shader-precision-format-expected.txt: Add end output.
  • fast/canvas/webgl/shader-precision-format.html: Use initNonKhronosFramework(true).
10:01 AM Changeset in webkit [128072] by dmazzoni@google.com
  • 3 edits in trunk/LayoutTests

REGRESSION (r127936): Multiple accessibility tests failing on Lion
https://bugs.webkit.org/show_bug.cgi?id=96173

Reviewed by Chris Fleizach.

This test (update-children-when-aria-role-changes.html) assumes that
an element with an aria-label is ignored, which worked before, but it's
not ignored anymore after r127936. One of the comments in
AccessibilityRenderObject.cpp says: "if this element has aria attributes on it,
it should not be ignored," so I think the test should be updated to not use
aria-label on an element we want to be ignored.

  • platform/mac/Skipped:
  • platform/mac/accessibility/update-children-when-aria-role-changes.html:
9:59 AM Changeset in webkit [128071] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[EFL] JIT memory usage is not retrieved
https://bugs.webkit.org/show_bug.cgi?id=96095

Patch by Hojong Han <hojong.han@samsung.com> on 2012-09-10
Reviewed by Geoffrey Garen.

Fill JITBytes for EFL port.

  • runtime/MemoryStatistics.cpp:

(JSC::globalMemoryStatistics):

9:45 AM Changeset in webkit [128070] by commit-queue@webkit.org
  • 12 edits
    3 adds in trunk

Source/WebCore: Clarify the cause of console warnings generated by "cross-origin" access to sandboxed iframes.
https://bugs.webkit.org/show_bug.cgi?id=64079

Patch by Mike West <mkwst@chromium.org> on 2012-09-10
Reviewed by Adam Barth.

The error message generated when accessing cross-origin content is a bit
too generic at the moment, which is misleading when the "cross-origin"
nature of an access attempt isn't visible in the URLs that the error
displays. Sandboxed iframes, for example, are put into unique origins by
default, meaning that all access in or out are subject to cross-origin
restrictions, even if the resources would otherwise be same-origin.

This patch improces the error message to explicitly point to sandboxing
as the core of cross-origin requests when relevant. It adds a single new
test to check access from parents to children, and relies on existing
tests for access in the other direction.

Test: http/tests/security/sandboxed-iframe-blocks-access-from-parent.html

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::crossDomainAccessErrorMessage):

Check 'isSandboxed(SandboxOrigin)' against the document and
activeWindow when generating the error message. If one or the other
is sandboxed, make that clear in the console warning.

LayoutTests: Console warnings generated by script access to sandboxed iframes should make the violation clear.
https://bugs.webkit.org/show_bug.cgi?id=64079

Patch by Mike West <mkwst@chromium.org> on 2012-09-10
Reviewed by Adam Barth.

  • http/tests/security/resources/blank.html: Added.

Adding a blank resource for a same-origin access test.

  • http/tests/security/sandboxed-iframe-blocks-access-from-parent-expected.txt: Added.
  • http/tests/security/sandboxed-iframe-blocks-access-from-parent.html: Added.

Parents shouldn't be able to access properties (like location) of
their sandboxed child frames.

  • http/tests/security/sandboxed-iframe-modify-self-expected.txt:
  • http/tests/security/sandboxed-iframe-origin-add-expected.txt:
  • http/tests/security/sandboxed-iframe-origin-remove-expected.txt:
  • http/tests/security/srcdoc-in-sandbox-cannot-access-parent-expected.txt:
  • http/tests/security/xss-DENIED-sandboxed-iframe-expected.txt:
  • platform/chromium/http/tests/security/sandboxed-iframe-modify-self-expected.txt:
  • platform/chromium/http/tests/security/srcdoc-in-sandbox-cannot-access-parent-expected.txt:

Updating existing error messages.

9:40 AM Changeset in webkit [128069] by fsamuel@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Rebaselined test for Chromium gardening

Minor discrepancy in color does not affect semantics of test output.
I rebaselined this test for Mac, but snowleopard produces slightly different
colors.

  • platform/chromium-mac-snowleopard/compositing/overflow/overflow-scaled-descendant-overlapping-expected.png: Added.
9:27 AM Changeset in webkit [128068] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-1.10/Source/WebKit2

Merge r128063 - [SOUP] Don't convert to UTF-8 the suggestedFilename passed to Download::decideDestinationWithSuggestedFilename()
https://bugs.webkit.org/show_bug.cgi?id=96261

Reviewed by Martin Robinson.

  • WebProcess/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::didReceiveResponse):

9:26 AM WebKitGTK/1.10.x edited by Carlos Garcia Campos
(diff)
9:21 AM Changeset in webkit [128067] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-1.10/Source/WebKit2

Merge r128050 - [GTK] Sanitize the suggested filename when building the download destination URI
https://bugs.webkit.org/show_bug.cgi?id=96260

Reviewed by Gustavo Noronha Silva.

The suggested filename returned by the server can contain
directory separators so that the filename would be interpreted as
a full path.

  • UIProcess/API/gtk/WebKitDownload.cpp:

(webkitDownloadDecideDestination): Convert any directory separator
contained in the suggested filename to an underscore.

9:21 AM WebKitGTK/1.10.x edited by Carlos Garcia Campos
(diff)
9:17 AM Changeset in webkit [128066] by dmazzoni@google.com
  • 2 edits in trunk/Source/WebKit/win

AX: Update Windows port accessible role mappings to fix some tests
https://bugs.webkit.org/show_bug.cgi?id=96219

Reviewed by Chris Fleizach.

Update a bunch of accessible role mappings to fix tests and improve win
accessibility.

  • AccessibleBase.cpp:

(MSAARole):

9:06 AM Changeset in webkit [128065] by commit-queue@webkit.org
  • 7 edits in trunk

[CMake][EFL] Enable the LLInt
https://bugs.webkit.org/show_bug.cgi?id=92682

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-09-10
Reviewed by Csaba Osztrogonác.

.:

Added LLInt to CMake buildsystem and enabled it by default on EFL.
Note that Ruby is not enforced: a secondary check is done when LLInt
is enabled on the JSC's CMakeLists.txt.

  • CMakeLists.txt:
  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

Generate the headers needed by LLint when LLint is enabled.

  • CMakeLists.txt:
8:50 AM Changeset in webkit [128064] by tommyw@google.com
  • 13 edits
    4 moves in trunk

[chromium] MediaStream API: Remove the Descriptor postfix
https://bugs.webkit.org/show_bug.cgi?id=96268

Reviewed by Adam Barth.

After consideration I realized that there is no need whatsoever in using the Descriptor prefix
in the WekKit embedder API. Removed from WebRTCSessionDescription and WebRTCICECandidate to start with.

Source/Platform:

(WebCore):
(WebKit):
(WebRTCICECandidate):
(WebKit::WebRTCICECandidate::WebRTCICECandidate):
(WebKit::WebRTCICECandidate::~WebRTCICECandidate):
(WebKit::WebRTCICECandidate::operator=):
(WebKit::WebRTCICECandidate::isNull):

  • chromium/public/WebRTCPeerConnectionHandler.h:

(WebKit):
(WebRTCPeerConnectionHandler):

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebKit):
(WebRTCPeerConnectionHandlerClient):

  • chromium/public/WebRTCSessionDescription.h: Renamed from Source/Platform/chromium/public/WebRTCSessionDescriptionDescriptor.h.

(WebCore):
(WebKit):
(WebRTCSessionDescription):
(WebKit::WebRTCSessionDescription::WebRTCSessionDescription):
(WebKit::WebRTCSessionDescription::~WebRTCSessionDescription):
(WebKit::WebRTCSessionDescription::operator=):
(WebKit::WebRTCSessionDescription::isNull):

  • chromium/public/WebRTCSessionDescriptionRequest.h:

(WebKit):
(WebRTCSessionDescriptionRequest):

Source/WebCore:

No code changes that affects functionality.

  • WebCore.gypi:
  • platform/chromium/support/WebRTCICECandidate.cpp: Renamed from Source/WebCore/platform/chromium/support/WebRTCICECandidateDescriptor.cpp.

(WebKit):
(WebKit::WebRTCICECandidate::WebRTCICECandidate):
(WebKit::WebRTCICECandidate::assign):
(WebKit::WebRTCICECandidate::reset):
(WebKit::WebRTCICECandidate::initialize):
(WebKit::WebRTCICECandidate::operator PassRefPtr<WebCore::RTCIceCandidateDescriptor>):
(WebKit::WebRTCICECandidate::candidate):
(WebKit::WebRTCICECandidate::sdpMid):
(WebKit::WebRTCICECandidate::sdpMLineIndex):

  • platform/chromium/support/WebRTCSessionDescription.cpp: Renamed from Source/WebCore/platform/chromium/support/WebRTCSessionDescriptionDescriptor.cpp.

(WebKit):
(WebKit::WebRTCSessionDescription::WebRTCSessionDescription):
(WebKit::WebRTCSessionDescription::assign):
(WebKit::WebRTCSessionDescription::reset):
(WebKit::WebRTCSessionDescription::operator WTF::PassRefPtr<WebCore::RTCSessionDescriptionDescriptor>):
(WebKit::WebRTCSessionDescription::initialize):
(WebKit::WebRTCSessionDescription::type):
(WebKit::WebRTCSessionDescription::setType):
(WebKit::WebRTCSessionDescription::sdp):
(WebKit::WebRTCSessionDescription::setSDP):

  • platform/chromium/support/WebRTCSessionDescriptionRequest.cpp:

(WebKit::WebRTCSessionDescriptionRequest::requestSucceeded):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::didGenerateICECandidate):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(WebKit):
(RTCPeerConnectionHandlerChromium):

Tools:

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:

(RTCSessionDescriptionRequestSuccededTask::RTCSessionDescriptionRequestSuccededTask):
(MockWebRTCPeerConnectionHandler::createOffer):
(MockWebRTCPeerConnectionHandler::createAnswer):
(MockWebRTCPeerConnectionHandler::setLocalDescription):
(MockWebRTCPeerConnectionHandler::setRemoteDescription):
(MockWebRTCPeerConnectionHandler::localDescription):
(MockWebRTCPeerConnectionHandler::remoteDescription):
(MockWebRTCPeerConnectionHandler::addICECandidate):

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h:

(MockWebRTCPeerConnectionHandler):

7:57 AM WebKitGTK/1.10.x edited by Carlos Garcia Campos
(diff)
7:53 AM Changeset in webkit [128063] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[SOUP] Don't convert to UTF-8 the suggestedFilename passed to Download::decideDestinationWithSuggestedFilename()
https://bugs.webkit.org/show_bug.cgi?id=96261

Reviewed by Martin Robinson.

  • WebProcess/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::didReceiveResponse):

7:52 AM Changeset in webkit [128062] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Gtk] failure to build jhbuild dependencies with cups 1.6
https://bugs.webkit.org/show_bug.cgi?id=95991

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2012-09-10
Reviewed by Gustavo Noronha Silva.

Bump gtk+ and gnome-themes-standard dependencies to 3.4.2 to allow
building with cups >= 1.6 [GNOME #670373].

  • gtk/jhbuild.modules:
7:50 AM Changeset in webkit [128061] by podivilov@chromium.org
  • 5 edits in trunk

Web Inspector: support empty entries in source maps.
https://bugs.webkit.org/show_bug.cgi?id=96088

Reviewed by Vsevolod Vlasov.

Empty entries should be mapped to the compiled script.

Source/WebCore:

  • inspector/front-end/CompilerScriptMapping.js:

(WebInspector.CompilerScriptMapping):
(WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
(WebInspector.CompilerScriptMapping.prototype._reset):
(WebInspector.SourceMapParser.prototype._parseMap):

LayoutTests:

  • http/tests/inspector/compiler-script-mapping.html:
  • http/tests/inspector/resources/source-map.json:
7:38 AM Changeset in webkit [128060] by mitz@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r128006): Three spatial navigation tests are failing
https://bugs.webkit.org/show_bug.cgi?id=96226

Added fast/spatial-navigation/snav-container-white-space.html,
fast/spatial-navigation/snav-div-overflow-scrol-hidden.html, and
fast/spatial-navigation/snav-imagemap-overlapped-areas.html to the mac skip list.

  • platform/mac/Skipped:
7:34 AM Changeset in webkit [128059] by mitz@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Added platform-specific results for this test from r128042.

  • platform/mac/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt: Added.
7:03 AM Changeset in webkit [128058] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

[chromium] Don't use WebGestureEvent.boundingBox for touch adjustment
https://bugs.webkit.org/show_bug.cgi?id=95996

Patch by Rick Byers <rbyers@chromium.org> on 2012-09-10
Reviewed by Adam Barth.

Switch from WebGestureEvent.boundingBox to new gesture-type specific
data fields.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::handleGestureEvent):

7:01 AM Changeset in webkit [128057] by caseq@chromium.org
  • 24 edits
    6 deletes in trunk

Web Inspector: only display heap size statistics for timeline records when it makes sense
https://bugs.webkit.org/show_bug.cgi?id=96119

Reviewed by Yury Semikhatsky.

Source/WebCore:

  • drop totalHeapSize from timeline records;
  • add usedHeapSizeDelta (not set if 0), for heap delta between start and end of the event;
  • only display memory details for events of scriping category or when delta is not 0;
  • English.lproj/localizedStrings.js:
  • inspector/InspectorTimelineAgent.cpp:

(WebCore::getUsedHeapSize):
(WebCore):
(WebCore::InspectorTimelineAgent::setHeapSizeStatistics):
(WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):

  • inspector/InspectorTimelineAgent.h:

(WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
(TimelineRecordEntry):

  • inspector/front-end/TimelinePresentationModel.js:

(WebInspector.TimelinePresentationModel.Record.prototype.get usedHeapSizeDelta):
(WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):

LayoutTests:

  • rebase timeline tests to drop totalHeapSize
  • add support for "skip" formatter, to handle cases where value is optionally present in the dumped object;
  • drop custom expectations that are identical to base;
  • http/tests/inspector/inspector-test.js:

(initialize_InspectorTest.InspectorTest.addObject):

  • inspector/timeline/timeline-animation-frame-expected.txt:
  • inspector/timeline/timeline-decode-resize-expected.txt:
  • inspector/timeline/timeline-dom-content-loaded-event-expected.txt:
  • inspector/timeline/timeline-event-dispatch-expected.txt:
  • inspector/timeline/timeline-injected-script-eval-expected.txt:
  • inspector/timeline/timeline-layout-expected.txt:
  • inspector/timeline/timeline-load-event-expected.txt:
  • inspector/timeline/timeline-mark-timeline-expected.txt:
  • inspector/timeline/timeline-network-resource-expected.txt:
  • inspector/timeline/timeline-paint-expected.txt:
  • inspector/timeline/timeline-parse-html-expected.txt:
  • inspector/timeline/timeline-recalculate-styles-expected.txt:
  • inspector/timeline/timeline-script-tag-1-expected.txt:
  • inspector/timeline/timeline-script-tag-2-expected.txt:
  • inspector/timeline/timeline-test.js:
  • inspector/timeline/timeline-time-stamp-expected.txt:
  • inspector/timeline/timeline-timer-expected.txt:
  • platform/chromium/inspector/timeline/timeline-animation-frame-expected.txt: Removed.
  • platform/chromium/inspector/timeline/timeline-event-dispatch-expected.txt: Removed.
  • platform/chromium/inspector/timeline/timeline-layout-expected.txt: Removed.
  • platform/chromium/inspector/timeline/timeline-network-resource-expected.txt: Removed.
  • platform/chromium/inspector/timeline/timeline-parse-html-expected.txt: Removed.
  • platform/chromium/inspector/timeline/timeline-timer-expected.txt: Removed.
6:54 AM Changeset in webkit [128056] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebKit2

[EFL][WK2] Add fullscreen enter / exit signals to the ewk_view API
https://bugs.webkit.org/show_bug.cgi?id=92362

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2012-09-10
Reviewed by Gyuyoung Kim.

Handle WebFullScreenManagerProxy::enterFullScreen and exitFullScreen
methods, so that ewk_view could enter and exit fullscreen mode when requested.
Also, two callbacks were added to ewk_view API, so that UI could customise
behavior when fullscreen mode is requested, e.g. show security dialog.

  • UIProcess/API/efl/ewk_settings.cpp:

(ewk_settings_fullscreen_enabled_set):
(ewk_settings_fullscreen_enabled_get):

  • UIProcess/API/efl/ewk_settings.h:
  • UIProcess/API/efl/ewk_view.cpp:

(_ewk_view_initialize):
(ewk_view_full_screen_enter):
(ewk_view_full_screen_exit):

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/ewk_view_private.h:
  • UIProcess/API/efl/tests/test_ewk2_settings.cpp:

(TEST_F):

  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(fullScreenCallback):
(checkFullScreenProperty):
(TEST_F):

  • UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:

(WebKit::WebFullScreenManagerProxy::enterFullScreen):
(WebKit::WebFullScreenManagerProxy::exitFullScreen):

6:34 AM Changeset in webkit [128055] by kkristof@inf.u-szeged.hu
  • 1 edit
    1 add in trunk/LayoutTests

[Qt] Gardening after r128042. Added baseline to newly added
http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii.html
https://bugs.webkit.org/show_bug.cgi?id=96061

Patch by János Badics <János Badics> on 2012-09-10
Reviewed by Csaba Osztrogonác.

  • platform/qt/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt: Added.
6:30 AM Changeset in webkit [128054] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Qt] Drastically shorten length of commandline needed for JS bindings generator
https://bugs.webkit.org/show_bug.cgi?id=96266

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-10
Reviewed by Kenneth Rohde Christiansen.

The generate-bindings script supports the SOURCE_ROOT environment variable for IDL include file
lookups, which allows specifying relative include search directories.

  • DerivedSources.pri:
6:29 AM Changeset in webkit [128053] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Unskip fast/forms/validation-message-in-relative-body.html
https://bugs.webkit.org/show_bug.cgi?id=96265

Unreviewed EFL gardening.

Unskip fast/forms/validation-message-in-relative-body.html as
it is passing after r128030. The test required interactive
form validation setting to be enabled in WebKitTestRunner.

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-10

  • platform/efl-wk2/TestExpectations:
6:18 AM WebKitGTK/1.10.x edited by Carlos Garcia Campos
(diff)
6:09 AM Changeset in webkit [128052] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][DRT] Encoding issue in printed console messages
https://bugs.webkit.org/show_bug.cgi?id=96263

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-10
Reviewed by Kenneth Rohde Christiansen.

Correctly handle CONSOLE messages that contain non-ascii
characters in EFL's DRT. We need to use String::fromUTF8()
to construct a WTF::String from a raw string.

  • DumpRenderTree/efl/DumpRenderTreeView.cpp:

(onConsoleMessage):

6:08 AM Changeset in webkit [128051] by commit-queue@webkit.org
  • 8 edits in trunk/Source

[Qt] Fix deprecation failures if QT_NO_DEPRECATED enabled
https://bugs.webkit.org/show_bug.cgi?id=96258

Patch by Kevin Funk <kevin.funk@kdab.com> on 2012-09-10
Reviewed by Simon Hausmann.

Sync with latest changes in Qt5.

Source/WebCore:

  • platform/qt/RenderThemeQt.cpp:
  • platform/qt/SharedTimerQt.cpp:

Source/WebKit2:

  • WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
  • WebProcess/qt/WebProcessQt.cpp:
6:07 AM WebKitGTK/1.10.x edited by Carlos Garcia Campos
(diff)
6:06 AM Changeset in webkit [128050] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Sanitize the suggested filename when building the download destination URI
https://bugs.webkit.org/show_bug.cgi?id=96260

Reviewed by Gustavo Noronha Silva.

The suggested filename returned by the server can contain
directory separators so that the filename would be interpreted as
a full path.

  • UIProcess/API/gtk/WebKitDownload.cpp:

(webkitDownloadDecideDestination): Convert any directory separator
contained in the suggested filename to an underscore.

5:57 AM Changeset in webkit [128049] by commit-queue@webkit.org
  • 11 edits
    4 adds in trunk

[EFL] Create a toggle button for closed captions
https://bugs.webkit.org/show_bug.cgi?id=96259

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-10
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Add toggle button for closed captions to EFL's
RenderTheme.

Test: media/video-controls-captions.html

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::edjeGroupFromFormType):
(WebCore::RenderThemeEfl::emitMediaButtonSignal):
(WebCore):
(WebCore::RenderThemeEfl::supportsClosedCaptioning):
(WebCore::RenderThemeEfl::paintMediaToggleClosedCaptionsButton):

  • platform/efl/RenderThemeEfl.h:

(RenderThemeEfl):

Source/WebKit/efl:

Add closed caption toggling button to default WebKitEFL
theme.

  • DefaultTheme/default.edc:
  • DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption.png: Added.
  • DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png: Added.
  • DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc: Added.

LayoutTests:

Unskip media/video-controls-captions.html test case
now that EFL has a toggle button for closed captions.

Rebaseline a few media track test cases that now
display the new closed caption toggling button.

  • platform/efl/TestExpectations:
  • platform/efl/media/track/track-cue-rendering-horizontal-expected.png:
  • platform/efl/media/track/track-cue-rendering-horizontal-expected.txt:
  • platform/efl/media/track/track-cue-rendering-vertical-expected.png:
  • platform/efl/media/track/track-cue-rendering-vertical-expected.txt:
5:48 AM Changeset in webkit [128048] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WK2][WTR] User style sheet location should be reset before each test
https://bugs.webkit.org/show_bug.cgi?id=96262

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-09-10
Reviewed by Kenneth Rohde Christiansen.

User style sheet location is reset before each test now.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

5:34 AM Changeset in webkit [128047] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[TexMap] Fix compilation on Windows
https://bugs.webkit.org/show_bug.cgi?id=96257

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-10
Reviewed by Noam Rosenthal.

TextureMapperGL uses near and far as variable names and unfortunately
WinDefs.h on Windows has the nasty habit of unconditionally(!) defining
near and far as empty macros. There's no way to prevent WinDefs.h from
doing so. Instead we rename the variables. (Another option would've been to
#undef)

  • platform/graphics/texmap/TextureMapperGL.cpp:
5:14 AM Changeset in webkit [128046] by allan.jensen@nokia.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening, unskip tests passing after r128040 landed.

  • platform/qt-5.0-wk2/Skipped:
4:40 AM Changeset in webkit [128045] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Qt] Fix generation of forward headers for generated files in WebCore on Windows
https://bugs.webkit.org/show_bug.cgi?id=96245

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-10
Reviewed by Tor Arne Vestbø.

We generate the forwarding header files of generated WebCore sources by using
mkdir to ensure the target directory exists, followed by
echo #include "..." > file.h. On Windows mkdir returns with an error if the
target directory exists. For us that is not an error, so work around it with

(mkdir path 2>nul
echo>nul)
  • DerivedSources.pri:
4:24 AM Changeset in webkit [128044] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Adding flaky crash expectation for editing/deleting/25322-2.html.

  • platform/gtk/TestExpectations:
4:09 AM Changeset in webkit [128043] by apavlov@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: [Elements] Poor performance upon continuous attribute changes
https://bugs.webkit.org/show_bug.cgi?id=96252

Reviewed by Vsevolod Vlasov.

The DOM tree is now updated after a non-zero timeout, and same node updates are coalesced rather than added into an array
as many times as the DOM node has been tampered with during the update interval.

  • inspector/front-end/ElementsTreeOutline.js:
  • inspector/front-end/utilities.js: Implement Map.prototype.size
4:07 AM Changeset in webkit [128042] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

Source/WebCore: Warn authors about CSP directives ignored due to non-ASCII values.
https://bugs.webkit.org/show_bug.cgi?id=96061

Patch by Mike West <mkwst@chromium.org> on 2012-09-10
Reviewed by Adam Barth.

CSP defines directive values as VCHAR minus ';' and ','. Currently, we
ignore these directives completely in CSPDirectiveList::parseDirective,
but we don't warn authors. We ought to set their expectations correctly,
and help them fix issues in their policy.

This patch adds a console warning for directives that are ignored, and
points authors to the wonderful world of percent-encoding for situations
where high-ASCII or Unicode (or whatever) characters are required.

Test: http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii.html

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPDirectiveList::parseDirective):

Call ContentSecurityPolicy::reportInvalidDirectiveValueCharacter in
order to report ignored directives.

(WebCore::ContentSecurityPolicy::reportInvalidDirectiveValueCharacter):
(WebCore):

  • page/ContentSecurityPolicy.h:

Add new error message.

LayoutTests: CSP parsing doesn't seem treat as invalid policies with a non-ASCII path
https://bugs.webkit.org/show_bug.cgi?id=96061

Patch by Mike West <mkwst@chromium.org> on 2012-09-10
Reviewed by Adam Barth.

  • http/tests/security/contentSecurityPolicy/resources/multiple-iframe-test.js:

(testPreescapedPolicy):
(test):
(testImpl):

To test non-ASCII characters, we need to ensure that we don't encode
them when testing.

  • http/tests/security/contentSecurityPolicy/source-list-parsing-04-expected.txt:

Adding a warning for the policy here that contains an invalid
character.

  • http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii.html: Added.

Test paths with invalid characters.

4:04 AM Changeset in webkit [128041] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

http/tests/security/contentSecurityPolicy/blob-urls-match-self.html fails on Windows port
https://bugs.webkit.org/show_bug.cgi?id=96133

Patch by Mike West <mkwst@chromium.org> on 2012-09-10
Reviewed by Jochen Eisinger.

Blob is indeed disabled on Windows. Moving this skipped test up with
the other ENABLE(BLOB) tests so that it can be reenabled when BLOB
rolls in.

  • platform/win/Skipped:
3:55 AM Changeset in webkit [128040] by allan.jensen@nokia.com
  • 3 edits in trunk/Source/WebKit2

[Qt][WK2] REGRESSION(r127861): It made one test fail and one test crash
https://bugs.webkit.org/show_bug.cgi?id=96243

Reviewed by Kenneth Rohde Christiansen.

Skip the code if QClipboard is not available, and give WebCore a chance to handle the event first.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::handleMouseEvent):

  • WebProcess/WebPage/qt/WebPageQt.cpp:

(WebKit::WebPage::handleMouseReleaseEvent):

3:30 AM Changeset in webkit [128039] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

[EFL] 2 fast/forms tests need rebaseline after r128032
https://bugs.webkit.org/show_bug.cgi?id=96253

Unreviewed EFL gardening.

Rebaseline 2 fast/forms tests due to r128032.

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-10

  • platform/efl/fast/forms/control-restrict-line-height-expected.png:
  • platform/efl/fast/forms/control-restrict-line-height-expected.txt:
  • platform/efl/fast/forms/menulist-restrict-line-height-expected.txt:
3:28 AM Changeset in webkit [128038] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[Qt] WK2 build fixes for MSVC
https://bugs.webkit.org/show_bug.cgi?id=96248

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-10
Reviewed by Tor Arne Vestbø.

MSVC is picky when it comes to the use of forward declaration and the use of
such forward declared types in templates. In these instances inline functions were
passed parameters in RefPtrs that were only forward declared, but at compile time
MSVC wants to know what type it is in order to completely instantiate RefPtr (which
needs to call the type destructor for example). Therefore this patch resolves a couple
of forward declarations with direct header file inclusions.

  • UIProcess/API/qt/raw/qrawwebview_p_p.h:
  • UIProcess/InspectorServer/WebSocketServerClient.h:
  • UIProcess/qt/QtPageClient.h:
2:46 AM Changeset in webkit [128037] by Carlos Garcia Campos
  • 4 edits in trunk/Source

Unreviewed. Fix make distcheck.

Source/JavaScriptCore:

  • GNUmakefile.list.am: Add missing files.

Source/WebCore:

  • GNUmakefile.list.am: Add missing header files.
2:35 AM Changeset in webkit [128036] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Qt] Fix linking of QtWebKit.dll on Windows
https://bugs.webkit.org/show_bug.cgi?id=96250

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-10
Reviewed by Kenneth Rohde Christiansen.

On Windows when using ANGLE, the DLL import library of EGL is called libEGL.lib instead of EGL.lib.
However as it turns out we do not need to explicitly link against EGL, because when Qt is configured with ANGLE
support it will do that automatically for us.

  • WebCore.pri:
2:27 AM Changeset in webkit [128035] by abecsi@webkit.org
  • 6 edits in trunk/Source/WebKit2

[Qt][WK2] QWebKitTest should retrieve the viewport state from the PageViewportController
https://bugs.webkit.org/show_bug.cgi?id=96106

Reviewed by Simon Hausmann.

The functions in PageViewportControllerClientQt proxying the
viewport state values can be removed if QWebKitTest uses the
PageViewportController to retrieve these values.

  • UIProcess/API/qt/qquickwebview_p_p.h:

(QQuickWebViewPrivate::viewportController):

  • UIProcess/API/qt/qwebkittest.cpp:

(QWebKitTest::viewport):
(QWebKitTest::devicePixelRatio):
(QWebKitTest::contentsScale):

  • UIProcess/PageViewportController.h:

(WebKit::PageViewportController::currentContentsScale):

  • UIProcess/qt/PageViewportControllerClientQt.cpp:
  • UIProcess/qt/PageViewportControllerClientQt.h:

(PageViewportControllerClientQt):

2:16 AM Changeset in webkit [128034] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix build of WTR with Qt on Windows
https://bugs.webkit.org/show_bug.cgi?id=96249

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-10
Reviewed by Kenneth Rohde Christiansen.

Windows loves to define min and max as macros, which beautifully
clashes in many places where min and max are used as variable or method
names. It can be convinced not to do this when min and max are already
define as macros (expanding to themselves). We have this kind of
workaround in config.h files all over WebKit and as it turns out when
building WTR with Qt on Windows we do end up with such a clash. Therefore
we need the same workaround.

  • WebKitTestRunner/config.h:
2:09 AM Changeset in webkit [128033] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[WK2] Make WK2 C API headers compile in the Qt build on Windows
https://bugs.webkit.org/show_bug.cgi?id=96246

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-10
Reviewed by Kenneth Rohde Christiansen.

WKBase.h and WKAPICast.h include files that are specific to the Safari/Windows
port if WIN32 or _WIN32 is defined. When building WebKit2 on Windows with Qt, we
do not want to include these files, as they define an API that is different to ours
(the view aspect differs). Therefore guard the inclusion with !defined(BUILDING_QT)

  • Shared/API/c/WKBase.h:
  • UIProcess/API/C/WKAPICast.h:
1:57 AM Changeset in webkit [128032] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

[EFL] fast/forms/menulist-restrict-line-height.html is failing
https://bugs.webkit.org/show_bug.cgi?id=94878

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-10
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

<select> element's text is no longer clipped when a CSS
line-height is specified. The fix is the same as for
Mac port in r24886.

Test: fast/forms/menulist-restrict-line-height.html

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::adjustMenuListStyle):

LayoutTests:

Generate baseline for fast/forms/menulist-restrict-line-height.html
and unskip the test now that <select> element's text is no longer
clipped when a CSS line-height is specified.

  • platform/efl/TestExpectations:
  • platform/efl/fast/forms/menulist-restrict-line-height-expected.png: Added.
  • platform/efl/fast/forms/menulist-restrict-line-height-expected.txt: Added.
1:31 AM Changeset in webkit [128031] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Replace calls to QString::fromAscii which is deprecated in Qt5
https://bugs.webkit.org/show_bug.cgi?id=96242

Patch by Kevin Funk <kevin.funk@kdab.com> on 2012-09-10
Reviewed by Simon Hausmann.

Replace with QString::fromLatin1 which does the same.

Source/WebCore:

  • bridge/qt/qt_runtime.cpp:

Source/WebKit2:

  • UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
1:16 AM Changeset in webkit [128030] by commit-queue@webkit.org
  • 10 edits in trunk

[WK2] New fast/forms/number/number-interactive-validation-required.html fails
https://bugs.webkit.org/show_bug.cgi?id=95936

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-10
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Add WKPreference private API for manipulate the interactive form
validation setting. This is now needed by WebKitTestRunner.

  • Shared/WebPreferencesStore.h:

(WebKit):

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetInteractiveFormValidationEnabled):
(WKPreferencesGetInteractiveFormValidationEnabled):

  • UIProcess/API/C/WKPreferencesPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Tools:

Enable interactive form validation setting in WebKitTestRunner as
we are currently doing in DumpRenderTree. This is needed for some
tests to pass.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues):

LayoutTests:

Unskip fast/forms/number/number-interactive-validation-required.html for
several WebKit2 ports now that the interactive form validation setting is
enabled in WebKitTestRunner.

  • platform/efl-wk2/TestExpectations:
  • platform/qt-5.0-wk2/Skipped:
1:09 AM Changeset in webkit [128029] by commit-queue@webkit.org
  • 8 edits
    1 add in trunk/LayoutTests

[EFL] Several CSS 2.1 need rebaseline after bug 93148
https://bugs.webkit.org/show_bug.cgi?id=96241

Unreviewed EFL gardening.

Rebaseline several CSS 2.1 due to bug 93148.

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-10

  • platform/efl/TestExpectations:
  • platform/efl/fast/css/nested-layers-with-hover-expected.txt: Added.
  • platform/efl/tables/mozilla_expected_failures/bugs/bug106966-expected.png:
  • platform/efl/tables/mozilla_expected_failures/bugs/bug106966-expected.txt:
  • platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.png:
  • platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.txt:
  • platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.png:
  • platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.txt:
1:02 AM Changeset in webkit [128028] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Unskip 2 test cases fixed in r127987
https://bugs.webkit.org/show_bug.cgi?id=96234

Unreviewed EFL gardening.

Unskip 2 test cases that are now passing consistently
after r127987.

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-10

  • platform/efl/TestExpectations:
1:00 AM Changeset in webkit [128027] by commit-queue@webkit.org
  • 7 edits
    1 add in trunk/LayoutTests

[EFL] Several test cases need rebaseline after bug 88171
https://bugs.webkit.org/show_bug.cgi?id=96240

Unreviewed EFL gardening.

Rebaseline 3 test cases due to bug 88171. The output
is much better now.

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-10

  • platform/efl/TestExpectations:
  • platform/efl/css1/formatting_model/floating_elements-expected.png: Added.
  • platform/efl/css1/formatting_model/floating_elements-expected.txt:
  • platform/efl/fast/block/float/010-expected.png:
  • platform/efl/fast/block/float/010-expected.txt:
  • platform/efl/fast/block/float/independent-align-positioning-expected.png:
  • platform/efl/fast/block/float/independent-align-positioning-expected.txt:
12:57 AM Changeset in webkit [128026] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][WK2] REGRESSION(r127861): It made one test fail and one test crash
https://bugs.webkit.org/show_bug.cgi?id=96243

Unreviewed gardening, skip new failing and crashing tests to paint the bot green.

  • platform/qt-5.0-wk2/Skipped:
12:56 AM Changeset in webkit [128025] by commit-queue@webkit.org
  • 8 edits in trunk/LayoutTests

[EFL] Several fast/block test cases need rebaseline after r127163
https://bugs.webkit.org/show_bug.cgi?id=96237

Unreviewed EFL gardening.

Rebaseline 4 fast/block test cases due to r127163.

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-10

  • platform/efl/TestExpectations:
  • platform/efl/fast/block/float/024-expected.png:
  • platform/efl/fast/block/float/024-expected.txt:
  • platform/efl/fast/block/margin-collapse/025-expected.txt:
  • platform/efl/fast/block/margin-collapse/block-inside-inline/025-expected.txt:
  • platform/efl/fast/block/margin-collapse/empty-clear-blocks-expected.png:
  • platform/efl/fast/block/margin-collapse/empty-clear-blocks-expected.txt:
12:54 AM Changeset in webkit [128024] by commit-queue@webkit.org
  • 2 edits
    21 adds in trunk/LayoutTests

[EFL] Add baseline for css3/masking test cases
https://bugs.webkit.org/show_bug.cgi?id=96235

Unreviewed EFL gardening.

Generate baselines for css3/masking test cases added
in r127608.

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-10

  • platform/efl/TestExpectations:
  • platform/efl/css3/masking/clip-path-circle-expected.png: Added.
  • platform/efl/css3/masking/clip-path-circle-expected.txt: Added.
  • platform/efl/css3/masking/clip-path-circle-filter-expected.png: Added.
  • platform/efl/css3/masking/clip-path-circle-filter-expected.txt: Added.
  • platform/efl/css3/masking/clip-path-circle-overflow-expected.png: Added.
  • platform/efl/css3/masking/clip-path-circle-overflow-expected.txt: Added.
  • platform/efl/css3/masking/clip-path-circle-overflow-hidden-expected.png: Added.
  • platform/efl/css3/masking/clip-path-circle-overflow-hidden-expected.txt: Added.
  • platform/efl/css3/masking/clip-path-circle-relative-overflow-expected.png: Added.
  • platform/efl/css3/masking/clip-path-circle-relative-overflow-expected.txt: Added.
  • platform/efl/css3/masking/clip-path-ellipse-expected.png: Added.
  • platform/efl/css3/masking/clip-path-ellipse-expected.txt: Added.
  • platform/efl/css3/masking/clip-path-polygon-evenodd-expected.png: Added.
  • platform/efl/css3/masking/clip-path-polygon-evenodd-expected.txt: Added.
  • platform/efl/css3/masking/clip-path-polygon-expected.png: Added.
  • platform/efl/css3/masking/clip-path-polygon-expected.txt: Added.
  • platform/efl/css3/masking/clip-path-polygon-nonzero-expected.png: Added.
  • platform/efl/css3/masking/clip-path-polygon-nonzero-expected.txt: Added.
  • platform/efl/css3/masking/clip-path-rectangle-expected.png: Added.
  • platform/efl/css3/masking/clip-path-rectangle-expected.txt: Added.
12:23 AM Changeset in webkit [128023] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Skip 3 spatial navigation test cases failing after r128006
https://bugs.webkit.org/show_bug.cgi?id=96233

Unreviewed EFL gardening.

Mark 3 spatial navigation test cases as expected to fail due
to a regression caused by r128006.

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-10

  • platform/efl/TestExpectations:
12:20 AM Changeset in webkit [128022] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Narrowing down flaky crash expectation for fast/js/random-array-gc-stress.html.
The test only crashes in release builds.

Removing flaky expectation for jquery/manipulation.html, the test is consistently
passing.

Removing failure expectation for fast/js/named-function-expression.html, the offending
commit was rolled out in r127987.

  • platform/gtk/TestExpectations:
12:05 AM Changeset in webkit [128021] by weinig@apple.com
  • 5 edits
    4 adds in trunk/Source/WebKit2

Simplify WebKit2 XPC service backend now that I know it doesn't need to soft link WebKit2.framework
https://bugs.webkit.org/show_bug.cgi?id=96228

Reviewed by Dan Bernstein.

We soft link the non-XPC service WebProcess backend to the WebKit2 framework to
ensure that we can close all the necessary file descriptors at launch, without
fear that we will be closing one we open while initializing WebKit2 or one of its
dependencies. Since we don't need to close file descriptors in the XPC service
backend, we don't need to soft link! While here, also do some cleanup and code
sharing.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::launchXPCService):
We don't need to send the framework executable path anymore (it was used for the
soft linking), but we do need the client identifier.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files. Link the XPC service to WebKit2.framework.

  • WebKit2Service/MainMacService.mm:

Now that we don't have to soft link, just make this a stub that calls immediately
into the WebKit2 framework.

  • WebProcess/mac/WebProcessInitialization.h: Added.
  • WebProcess/mac/WebProcessInitialization.mm: Added.

(WebKit::InitializeWebProcess):
Move initialization that is common between the XPC and non-XPC backends here.

  • WebProcess/mac/WebProcessMainMac.mm:

(WebKit::WebProcessMain):
Remove XPC backend related code. Use new shared InitializeWebProcess function.

  • WebProcess/mac/WebProcessXPCServiceMain.h: Added.
  • WebProcess/mac/WebProcessXPCServiceMain.mm: Added.

(WebKit::WebKit2ServiceEventHandler):
(WebProcessXPCServiceMain):
Move XPC service backend initialization here.

Sep 9, 2012:

11:54 PM Changeset in webkit [128020] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

Clean up the code in XvfbDriver
https://bugs.webkit.org/show_bug.cgi?id=96202

Reviewed by Philippe Normand.

Changes:

  • Remove unneeded imports,
  • assign the _lock_file member variable when the display number is determined,
  • no need for parentheses around a single string format argument,
  • use FileSystem.exists method when checking if lock file is present as it

makes the intention much more clearer.

  • Scripts/webkitpy/layout_tests/port/xvfbdriver.py:

(XvfbDriver._start):
(XvfbDriver.stop):

11:23 PM Changeset in webkit [128019] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Adding text failure expectations for three spatial navigation failures
that regressed after r128006.

  • platform/gtk/TestExpectations:
11:22 PM Changeset in webkit [128018] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

successCallback of ResolveLocalFileSystemURL should not be optional.
https://bugs.webkit.org/show_bug.cgi?id=94802

Patch by Taiju Tsuiki <tzik@chromium.org> on 2012-09-09
Reviewed by Kent Tamura.

Spec says it should not optional.
http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURL-void-DOMString-url-EntryCallback-successCallback-ErrorCallback-errorCallback

Source/WebCore:

Tests: fast/filesystem/entry-points-missing-arguments.html

  • Modules/filesystem/DOMWindowFileSystem.idl:
  • Modules/filesystem/WorkerContextFileSystem.idl:

LayoutTests:

  • fast/filesystem/entry-points-missing-arguments-expected.txt: Added.
  • fast/filesystem/entry-points-missing-arguments.html: Added.
  • fast/filesystem/filesystem-no-callback-null-ptr-crash.html:
10:53 PM Changeset in webkit [128017] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip new failing tests to paint the bots green.

  • platform/qt/Skipped:
10:25 PM Changeset in webkit [128016] by keishi@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

REGRESSION(r127558): Fix a crash in DateTimeChooserImpl::didClosePopup
https://bugs.webkit.org/show_bug.cgi?id=96222

Reviewed by Kent Tamura.

DateTimeChooserClient will delete DateTimeChooserImpl inside didEndChooser()
so we shouldn't be changing the members after that.

Testing covered by fast/forms/date/calendar-picker-appearance-pre-100.html.

  • src/DateTimeChooserImpl.cpp:

(WebKit::DateTimeChooserImpl::didClosePopup):

9:25 PM Changeset in webkit [128015] by commit-queue@webkit.org
  • 9 edits in trunk/Source

Source/JavaScriptCore: Fixed a few llint C++ interpreter bugs.
https://bugs.webkit.org/show_bug.cgi?id=96127.

Patch by Mark Lam <mark.lam@apple.com> on 2012-09-09
Reviewed by Geoffrey Garen.

  • llint/LLIntCLoop.h:

CLoop::execute()'s bootstrapOpcodeId does not need a default
value. There is no case when this function is called without
that parameter being specified.

  • llint/LowLevelInterpreter.asm:

Moved the dispatchAfterCall() call to where it is needed.
For the C_LOOP back-end, it generates unreachable code.

  • llint/LowLevelInterpreter.cpp:

#include <wtf/Assertions.h> because LLIntAssembly.h needs it.

(JSC):

Fixed bug in SIGN_BIT32() macro.
Placate a MSVC warning for t0, and t1 being uninitialized.

(JSC::CLoop::execute):

The bootstrapOpcodeId arg should always be specified.
MSVC doesn't like UNUSED_PARAM() for labels. Switch to using

the new UNUSED_LABEL() macro.

  • offlineasm/cloop.rb:
  • offlineasm/generate_offset_extractor.rb:

Resolved a compiler warning found via MSVC.

Source/WTF: Fixed ASSERT() and ASSERT_AT() macros so that they can be used in
comma expressions. Also, added UNUSED_LABEL().
https://bugs.webkit.org/show_bug.cgi?id=96127.

Patch by Mark Lam <mark.lam@apple.com> on 2012-09-09
Reviewed by Geoffrey Garen.

  • wtf/Assertions.h:
  • wtf/UnusedParam.h: Added UNUSED_LABEL(). Removed an obsolete comment.
9:19 PM Changeset in webkit [128014] by Patrick Gansterer
  • 26 edits in trunk/Source

Add StringBuilder::appendNumber() and use it
https://bugs.webkit.org/show_bug.cgi?id=96030

Reviewed by Eric Seidel.

Also fix a bunch of append() vs. appendLiteral() issues in the surrounding code.

Source/JavaScriptCore:

  • API/JSContextRef.cpp:

(JSContextCreateBacktrace):

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • interpreter/Interpreter.h:

(JSC::StackFrame::toString):

Source/WebCore:

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::hostName):

  • bindings/v8/ScriptController.cpp:

(WebCore::resourceString):

  • css/FontFeatureValue.cpp:

(WebCore::FontFeatureValue::customCssText):

  • dom/Position.cpp:

(WebCore::Position::formatForDebugger):

  • dom/Range.cpp:

(WebCore::Range::formatForDebugger):

  • html/FormController.cpp:

(WebCore::FormKeyGenerator::formKey):

  • html/HTMLAnchorElement.cpp:

(WebCore::appendServerMapMousePosition):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::font):

  • inspector/IdentifiersFactory.cpp:

(WebCore::IdentifiersFactory::addProcessIdPrefixTo):

  • page/FrameTree.cpp:

(WebCore::FrameTree::uniqueChildName):

  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::toRawString):

  • platform/Decimal.cpp:

(WebCore::Decimal::toString):

  • platform/network/ProxyServer.cpp:

(WebCore::appendProxyServerString):

  • platform/text/TextStream.cpp:

(WebCore::TextStream::operator<<):

  • platform/text/TextStream.h:
  • rendering/RenderTreeAsText.cpp:

(WebCore::nodePosition):

  • xml/XMLErrors.cpp:

(WebCore::XMLErrors::appendErrorMessage):

Source/WTF:

  • wtf/DateMath.cpp:

(WTF::makeRFC2822DateString):

  • wtf/text/StringBuilder.cpp:

(WTF::StringBuilder::appendNumber):

  • wtf/text/StringBuilder.h:

(StringBuilder):

8:34 PM Changeset in webkit [128013] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL] Wrong rendering results for square-button-appearance.html
https://bugs.webkit.org/show_bug.cgi?id=85493

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-09-09
Reviewed by Gyuyoung Kim.

Source/WebCore:

A square-button is an element that has '-webkit-appearance: square-button' style.

If it is a block element,
the RenderBlock::recomputeLogicalWidth recalculate the width from the padding values.

But the recalculated width became wrong because the RenderThemeEfl::adjustSizeConstraints
called from RenderThemeEfl::adjustButtonStyle adds padding values for a button.

So, the adjustSizeConstraints must not be called for a square-button(SquareButtonPart).

Test : fast/css/square-button-appearance.html

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::adjustButtonStyle): Call adjustSizeConstrains only for PushButtonPart and ButtonPart

LayoutTests:

Remove fast/css/square-button-appearance.html from TestExpectations because it became PASS.

  • platform/efl/TestExpectations:
7:44 PM Changeset in webkit [128012] by bashi@chromium.org
  • 1 edit
    1 copy
    1 move
    2 adds in trunk/LayoutTests

[Chromium] Unreviewed test expectations update after r128002

  • platform/chromium-mac/inspector/console/command-line-api-getEventListeners-expected.txt: Copied from LayoutTests/platform/chromium/inspector/console/command-line-api-getEventListeners-expected.txt.
  • platform/chromium-win/inspector/console/command-line-api-getEventListeners-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/console/command-line-api-getEventListeners-expected.txt.
7:33 PM Changeset in webkit [128011] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL][WK2] Minibrowser locks up when right clicking editable filed
https://bugs.webkit.org/show_bug.cgi?id=96074

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2012-09-09
Reviewed by Gyuyoung Kim.

WebProcess crashes when the context menu type is SubmenuType and non-CROSS_PLATFORM_CONTEXT_MENUS is used.
It is because platformSubMenu() in the ContextMenuItemEfl.cpp returns null. This patch implements the setSubMenu()
and platformSubMenu() to set and return the subMenuItems.

  • platform/efl/ContextMenuItemEfl.cpp:

(WebCore::ContextMenuItem::setSubMenu):
(WebCore::ContextMenuItem::platformSubMenu):
(WebCore):

7:08 PM Changeset in webkit [128010] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Pass full target idl file path to CodeGenerator as a constructor argument.
https://bugs.webkit.org/show_bug.cgi?id=96190

Patch by Kangil Han <kangil.han@samsung.com> on 2012-09-09
Reviewed by Kentaro Hara.

Passing idl file path to CodeGenerator would be useful because CodeGenerator* family could manipulate it when creating derived header and cpp files.

  • bindings/scripts/CodeGenerator.pm:

(new):
(ProcessDocument):

  • bindings/scripts/generate-bindings.pl:
6:09 PM Changeset in webkit [128009] by mitz@apple.com
  • 4 edits in trunk/Source/WebCore

Try to fix the build after r128006.

  • dom/Element.cpp:

(WebCore::Element::boundsInRootViewSpace): Updated for rename.
(WebCore::Element::getBoundingClientRect): Ditto.

  • svg/SVGElement.cpp:

(WebCore::SVGElement::getBoundingBox): Renamed boundingBox() to this, to avoid clashing
with the virtual function on Node. The 'get' prefix also indicates that the result is
returned in an out parameter.

  • svg/SVGElement.h:

(SVGElement):

5:45 PM Changeset in webkit [128008] by Patrick Gansterer
  • 3 edits in trunk/Source/WebCore

Replace WTF::numberToString() with String::numberToStringECMAScript()
https://bugs.webkit.org/show_bug.cgi?id=96130

Reviewed by Benjamin Poulain.

The String class provides a nice wrapper for this function
in the meantime, so just use it to avoid code duplication.

  • html/parser/HTMLParserIdioms.cpp:

(WebCore::serializeForNumberType):

  • platform/Decimal.cpp:

(WebCore::Decimal::fromDouble):

5:33 PM Changeset in webkit [128007] by bashi@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Unreviewed gardening after r127907

Fix CCRenderPassTest::copyShouldBeIdenticalExceptIdAndQuads

  • tests/CCRenderPassTest.cpp:

(CCRenderPassSize): Changed type of m_id

5:29 PM Changeset in webkit [128006] by eae@chromium.org
  • 27 edits in trunk/Source

Rename Node::getRect/getPixelSnappedRect and remove ContainerNode::getRect
https://bugs.webkit.org/show_bug.cgi?id=81413

Reviewed by David Hyatt.

Source/WebCore:

Rename Node::getRect and getPixelSnappedRect to boundingBox and
pixelSnappedBoundingBox respectively.

Remove overridden getRect method from ContainerNode as it calculates the
same rect as the Node implementation but in a more complicated and
error-prone way. Also remove the getUpperLeftCorner/getLowerRightCorner
support functions as they are no longer needed.

No new tests, no change in functionality.

  • accessibility/AccessibilitySlider.cpp:

(WebCore::AccessibilitySliderThumb::elementRect):
Update to call boundingBox.

  • dom/ContainerNode.cpp:
  • dom/ContainerNode.h:

Remove overridden getRect method and the getUpperLeftCorner/
getLowerRightCorner support methods .

  • dom/Element.cpp:

(WebCore::Element::scrollIntoView):
(WebCore::Element::scrollIntoViewIfNeeded):
(WebCore::Element::updateFocusAppearance):
Update to call boundingBox.

  • dom/Node.h:
  • dom/Node.cpp:

(WebCore::Node::boundingBox):
Rename getRect to boundingBox.

(WebCore::Node::pixelSnappedBoundingBox):
Rename getPixelSnappedRect to pixelSnappedBoundingBox.

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::elementRectRelativeToRootView):

  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::buildBubbleTree):

  • html/shadow/CalendarPickerElement.cpp:

(WebCore::CalendarPickerElement::openPopup):

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::InputFieldSpeechButtonElement::startSpeechInput):

  • page/FrameView.cpp:

(WebCore::FrameView::scrollElementToRect):
(WebCore::FrameView::scrollToAnchor):

  • page/SpatialNavigation.cpp:

(WebCore::nodeRectInAbsoluteCoordinates):
Update to call boundingBox/pixelSnappedBoundingBox.

Source/WebKit/chromium:

Update WebViewImpl to call boundingBox/pixelSnappedBoundingBox.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::computeBlockBounds):
(WebKit::WebViewImpl::applyAutofillSuggestions):
(WebKit::WebViewImpl::refreshAutofillPopup):

Source/WebKit/efl:

Update ewk_frame to call pixelSnappedBoundingBox.

  • ewk/ewk_frame.cpp:

(ewk_frame_focused_element_geometry_get):

Source/WebKit/gtk:

Update ChromeClientGtk and webkitwebview to call pixelSnappedBoundingBox.

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::ChromeClient::mouseDidMoveOverElement):

  • webkit/webkitwebview.cpp:

(getLocationForKeyboardGeneratedContextMenu):
(webkit_web_view_query_tooltip):

Source/WebKit/qt:

Update qwebelement and qwebpage to call pixelSnappedBoundingBox.

  • Api/qwebelement.cpp:

(QWebElement::geometry):
(QWebElement::render):

  • Api/qwebpage.cpp:

(QWebPagePrivate::TouchAdjuster::findCandidatePointForTouch):

Source/WebKit2:

Update WebPage to call pixelSnappedBoundingBox.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::editorState):

4:59 PM Changeset in webkit [128005] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

[chromium] Do not delete texture backing structures on the main thread
https://bugs.webkit.org/show_bug.cgi?id=96018

Patch by Christopher Cameron <ccameron@chromium.org> on 2012-09-09
Reviewed by James Robinson.

Do not delete CCPrioritizedTexture::Backing structures on the main
thread. Instead, unlink them from their owning CCPrioritizedTexture
in the main thread, and have the impl thread then delete all unlinked
textures.

This is towards having the main thread not access the m_backings set,
which will allow the impl thread to traverse that set when deleting
resources in response to GPU memory management events.

Tested by existing eviction tests (CCLayerTreeHostTest's
TestEvictTextures, LostContextAfterEvictTextures)

Fix a place where single thread proxy wasn't setting the main thread
blocked state correctly.

  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::unlinkAllContentTextures):
(WebCore):
(WebCore::CCLayerTreeHost::deleteUnlinkedTextures):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

(CCLayerTreeHost):

  • platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:

(WebCore::CCPrioritizedTextureManager::clearAllMemory):
(WebCore::CCPrioritizedTextureManager::unlinkAllBackings):
(WebCore):
(WebCore::CCPrioritizedTextureManager::deleteAllUnlinkedBackings):

  • platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:

(CCPrioritizedTextureManager):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:

(WebCore::CCSingleThreadProxy::commitAndComposite):

  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::beginFrame):
(WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):

3:49 PM Changeset in webkit [128004] by jamesr@google.com
  • 2 edits in trunk/LayoutTests

Rebaseline media/video-zoom-controls on chromium-mac for subpixel change.

  • platform/chromium-mac/media/video-zoom-controls-expected.txt:
3:48 PM Changeset in webkit [128003] by weinig@apple.com
  • 12 edits in trunk

Switch to entering the sandbox directly from main(), rather than waiting for the initialization message
https://bugs.webkit.org/show_bug.cgi?id=96194

Reviewed by Dan Bernstein.

Source/WebKit2:

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::ProcessLauncher::launchProcess):
Pass a client identifier to WebProcess as a command line argument
so that it can be used to create private temporary and cache directories.

  • WebProcess/WebProcess.h:

(WebProcess):

  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::initializeSandbox):
(WebKit::WebProcess::platformInitializeWebProcess):
Expose the initializeSandbox() function and stop calling it from platformInitializeWebProcess()
since it is now going to be called from WebProcessMain. Also, move changing the current working
directory to sandbox initialization function and replace use of creation parameters with just
the client identifier.

  • WebProcess/com.apple.WebProcess.sb.in:

Add some new exceptions that come from entering the sandbox earlier in the AppKit
initialization process. Don't allow access to com.apple.coreservices.appleevents.

  • WebProcess/mac/WebProcessMainMac.mm:

(WebKit::WebProcessMainXPC):
(WebKit::WebProcessMain):
Enter the sandbox explicitly, not waiting until the initialization message. Also,
since we now have an extra parameter for the client identifier, make the WebProcess
launches the UIProcess code path work by extracting a client identifier from the
client executable path.

WebKitLibraries:

Update WKSI with SPI for getting the bundle URL from an executable URL.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceLion.a:
  • libWebKitSystemInterfaceMountainLion.a:
  • libWebKitSystemInterfaceSnowLeopard.a:

Adds WKCopyBundleURLForExecutableURL().

3:26 PM Changeset in webkit [128002] by kling@webkit.org
  • 5 edits in trunk

EventListenerMap: Use Vector instead of HashMap as backend.
<http://webkit.org/b/77982>

Reviewed by Geoff Garen.

Source/WebCore:

Refactor EventListenerMap to store pair<AtomicString, EventListenerVector> in a Vector
instead of using key/value HashMap stores. This is much more space efficient and actually
faster since we were spending more time/effort managing the hash map than it costs us
to iterate over and compare a couple of pointers. (It's very rare to have more than
4 different event types registered in a single EventListenerMap.)

This gets rid of the slightly hacky optimization for nodes with listeners of a single type,
reducing the complexity of EventListenerMap greatly.

~1.1MB progression on Membuster. Also strong (20+ MB on larger patches) savings on WebKit
bugzilla review pages, though they don't necessarily represent a common usecase.

  • dom/EventListenerMap.cpp:

(WebCore::EventListenerMap::contains):
(WebCore::EventListenerMap::clear):
(WebCore::EventListenerMap::eventTypes):
(WebCore::EventListenerMap::add):
(WebCore::EventListenerMap::remove):
(WebCore::EventListenerMap::find):
(WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
(WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
(WebCore::EventListenerIterator::EventListenerIterator):
(WebCore::EventListenerIterator::nextListener):

  • dom/EventListenerMap.h:

(WebCore::EventListenerMap::isEmpty):
(WebCore::EventListenerMapEntry::EventListenerMapEntry):
(EventListenerMapEntry):
(EventListenerMap):
(EventListenerIterator):

LayoutTests:

Rebaseline inspector test whose output depended on the internal ordering of event
listeners (changed as listeners are no longer stored in an unordered HashMap.)

  • inspector/console/command-line-api-getEventListeners-expected.txt:
3:20 PM Changeset in webkit [128001] by Lucas Forschler
  • 2 edits in tags/Safari-537.9.1/Source/WebCore

Merged r127998.

3:16 PM Changeset in webkit [128000] by Lucas Forschler
  • 4 edits in tags/Safari-537.9.1/Source

Versioning.

3:14 PM Changeset in webkit [127999] by Lucas Forschler
  • 1 copy in tags/Safari-537.9.1

New Tag.

3:11 PM Changeset in webkit [127998] by Lucas Forschler
  • 2 edits in trunk/Source/WebCore

Build Fix. <rdar://problem/12260893>

  • platform/graphics/mac/WebGLLayer.mm:
2:21 PM Changeset in webkit [127997] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r127979.
http://trac.webkit.org/changeset/127979
https://bugs.webkit.org/show_bug.cgi?id=96217

Appears to have broken the windows and linux builds (Requested
by jamesr_ on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-09-09

  • bindings/scripts/CodeGeneratorV8.pm:

(NativeToJSValue):

  • bindings/v8/V8DOMWrapper.h:

(WebCore::V8DOMWrapper::convertEventTargetToV8Object):
(V8DOMWrapper):

2:05 PM Changeset in webkit [127996] by jamesr@google.com
  • 2 edits in trunk/Source/Platform

[chromium] Export WebFilterOperation(FilterType, SkScalar[20]) constructor
https://bugs.webkit.org/show_bug.cgi?id=96215

Reviewed by Adrienne Walker.

Unlike the other WebFilterOperation constructors this one is defined out-of-line and so must be exported to be
usable outside of WebKit.dll

  • chromium/public/WebFilterOperation.h:

(WebFilterOperation):

2:04 PM Changeset in webkit [127995] by jamesr@google.com
  • 4 edits in trunk/Source

[chromium] webkit_platform should only be linked into the webkit target
https://bugs.webkit.org/show_bug.cgi?id=96213

Reviewed by Adrienne Walker.

The Platform.gyp:webkit_platform target provides the implementation of several WEBKIT_EXPORTed symbols. It only
makes sense as a target of WebKit.gyp:webkit, other targets shouldn't directly depend on it.

Source/WebCore:

  • WebCore.gyp/WebCore.gyp:

Source/WebKit/chromium:

  • WebKit.gyp:
2:04 PM Changeset in webkit [127994] by jamesr@google.com
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Use WebCompositorSupport creation functions in GraphicsLayerChromiumTest
https://bugs.webkit.org/show_bug.cgi?id=96212

Reviewed by Adrienne Walker.

The static ::create()s the test references currently are going away soon.

  • tests/GraphicsLayerChromiumTest.cpp:

(WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
(WebKit::TEST_F):

2:02 PM Changeset in webkit [127993] by dmazzoni@google.com
  • 7 edits in trunk/LayoutTests

Unreviewed.\n\nRebaselining 5 mac accessibility tests, skipping one.\n\nhttps://bugs.webkit.org/show_bug.cgi?id=96173

1:52 PM Changeset in webkit [127992] by dmazzoni@google.com
  • 7 edits in trunk/LayoutTests

Unreviewed, rolling out r127963.
http://trac.webkit.org/changeset/127963
https://bugs.webkit.org/show_bug.cgi?id=96173

Inappropriately modified test, and not just expectations,
without review. Will land changes to expectations only, and then
upload a patch to modify the test for review.

  • accessibility/transformed-element-expected.txt:
  • platform/mac/accessibility/image-map2-expected.txt:
  • platform/mac/accessibility/internal-link-anchors2-expected.txt:
  • platform/mac/accessibility/table-detection-expected.txt:
  • platform/mac/accessibility/table-one-cell-expected.txt:
  • platform/mac/accessibility/update-children-when-aria-role-changes.html:
1:48 PM Changeset in webkit [127991] by Patrick Gansterer
  • 17 edits
    1 delete in trunk

Make the String initialization on the function side of String::number()
https://bugs.webkit.org/show_bug.cgi?id=95940

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Source/WebKit2:

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:

Source/WTF:

Un-Inline String::number() to make the String initialization done on the function side
instead of being on the caller side.

  • GNUmakefile.list.am:
  • WTF.gypi:
  • WTF.pro:
  • WTF.vcproj/WTF.vcproj:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/text/IntegerToStringConversion.cpp: Removed.
  • wtf/text/IntegerToStringConversion.h:

(WTF::numberToStringImpl):
(WTF::numberToStringSigned):
(WTF::numberToStringUnsigned):

  • wtf/text/WTFString.cpp:

(WTF::String::number):

  • wtf/text/WTFString.h:

Tools:

  • TestWebKitAPI/Tests/WTF/IntegerToStringConversion.cpp:

(testBoundaries):
(testNumbers):

10:40 AM Changeset in webkit [127990] by rakuco@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][WK2] Mark sputnik/Conformance/07_Lexical_Conventions/7.4_Comments/S7.4_A5.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=96210

Unreviewed EFL gardening.

Mark additional sputnik test as flaky on WK2 EFL build bot.

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-09

  • platform/efl-wk2/TestExpectations:
10:34 AM Changeset in webkit [127989] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Mark fast/innerHTML/innerHTML-iframe.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=96209

Unreviewed EFL gardening.

Mark fast/innerHTML/innerHTML-iframe.html as flaky for
both WK1 and WK2 EFL.

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-09

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
10:22 AM Changeset in webkit [127988] by pierre.rossi@gmail.com
  • 22 edits in trunk

[WK2] expose element rect for color input type
https://bugs.webkit.org/show_bug.cgi?id=91664

Reviewed by Simon Hausmann.

Source/WebKit2:

In the same way we do for select elements already. This allows placing the picker
in a sensible location.

  • UIProcess/API/efl/PageClientImpl.cpp: Update the function's signature.

(WebKit::PageClientImpl::createColorChooserProxy): Ditto.

  • UIProcess/API/efl/PageClientImpl.h: Ditto.

(PageClientImpl):

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::createColorChooserProxy): Ditto.

  • UIProcess/API/gtk/PageClientImpl.h: Ditto.

(PageClientImpl):

  • UIProcess/API/mac/PageClientImpl.h: Ditto.

(PageClientImpl):

  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::createColorChooserProxy): Ditto.

  • UIProcess/API/qt/raw/qrawwebview.cpp:

(QRawWebViewPrivate::createColorChooserProxy): Ditto.

  • UIProcess/API/qt/raw/qrawwebview_p_p.h: Ditto.

(QRawWebViewPrivate):

  • UIProcess/PageClient.h: Ditto.

(PageClient):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::showColorChooser): Compute the rect mapped to the current view's transform.

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/qt/QtPageClient.cpp:

(WebKit::QtPageClient::createColorChooserProxy):

  • UIProcess/qt/QtPageClient.h:

(QtPageClient):

  • UIProcess/qt/WebColorChooserProxyQt.cpp:

(ColorChooserContextObject):
(WebKit::ColorChooserContextObject::ColorChooserContextObject):
(WebKit::ColorChooserContextObject::elementRect):
(WebKit::ColorChooserContextObject::accept):
(WebKit::WebColorChooserProxyQt::WebColorChooserProxyQt):

  • UIProcess/qt/WebColorChooserProxyQt.h:

(WebKit::WebColorChooserProxyQt::create):
(WebColorChooserProxyQt):

  • UIProcess/win/WebView.cpp:

(WebKit::WebView::createColorChooserProxy): Update the function's signature.

  • UIProcess/win/WebView.h:

(WebView): Ditto.

  • WebProcess/WebCoreSupport/WebColorChooser.cpp:

(WebKit::WebColorChooser::WebColorChooser):

Tools:

Update the QML logic in MiniBrowser to take advantage of this.
The picker size is now hardcoded and we try to place it below the
input element if possible.

  • MiniBrowser/qt/qml/ColorChooser.qml:
10:10 AM Changeset in webkit [127987] by ggaren@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Rolled out <http://trac.webkit.org/changeset/127939> because it broke
fast/js/named-function-expression.html.

Refactored bytecode generator initialization to support moving captured vars around
https://bugs.webkit.org/show_bug.cgi?id=96159

Reviewed by Gavin Barraclough.

9:46 AM Changeset in webkit [127986] by Simon Hausmann
  • 2 edits in trunk/Source/WebKit2

[Qt] Add missing files to the WebKit2 build on Windows
https://bugs.webkit.org/show_bug.cgi?id=96177

Reviewed by Kenneth Rohde Christiansen.

For the build on Windows we can re-use existing functionality from the Safari/Windows
build, such as the IPC implementation.

  • Target.pri:
9:44 AM Changeset in webkit [127985] by rakuco@webkit.org
  • 2 edits
    3 adds in trunk/LayoutTests

[EFL][WK2] Gardening to make the bot green
https://bugs.webkit.org/show_bug.cgi?id=96208

Unreviewed EFL gardening.

Update TestExpectations to make the EFL WK2 bot green.

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-09

  • platform/efl-wk2/TestExpectations:
  • platform/efl-wk2/fast/events/mouseup-from-button2-expected.txt: Added. Test

needs baseline for wk2 (better output).

9:34 AM Changeset in webkit [127984] by anilsson@rim.com
  • 5 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Fix flicker due to introduction of the fence extension.
https://bugs.webkit.org/show_bug.cgi?id=96207

Reviewed by George Staikos.

Don't immediately add fence to garbage list, so it is destroyed
after only one swap, for a set of tiles just because one tile in
the set gets a new fence, the old fence may still not be signalled
and before rendering the other tiles in the set we have to wait for it.

  • WebKitSupport/BackingStoreTile.cpp:

(BlackBerry::WebKit::Fence::~Fence):
(WebKit):

  • WebKitSupport/BackingStoreTile.h:

(WebKit):
(Fence):

  • WebKitSupport/SurfacePool.cpp:

(BlackBerry::WebKit::SurfacePool::initialize):
(BlackBerry::WebKit::SurfacePool::notifyBuffersComposited):
(WebKit):
(BlackBerry::WebKit::SurfacePool::destroyPlatformSync):

  • WebKitSupport/SurfacePool.h:

(SurfacePool):

7:46 AM Changeset in webkit [127983] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[WK2] Fix PLATFORM(WIN) vs. OS(WINDOWS) in various files
https://bugs.webkit.org/show_bug.cgi?id=96178

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-09
Reviewed by Kenneth Rohde Christiansen.

PLATFORM(WIN) is used in various places, where it is safe to use OS(WINDOWS) to allow
the re-use of that code path in ports beyond Safari/Windows.

  • Platform/CoreIPC/BinarySemaphore.h:

(BinarySemaphore):

  • Platform/CoreIPC/Connection.h:

(Connection):

  • Platform/SharedMemory.h:

(Handle):
(SharedMemory):

  • Platform/WorkQueue.h:
7:37 AM Changeset in webkit [127982] by rakuco@webkit.org
  • 4 edits in trunk/LayoutTests

[EFL] Unskip test cases passing reliably on the bots
https://bugs.webkit.org/show_bug.cgi?id=96204

Unreviewed EFL gardening.

Unskip test cases that are passing reliably on the
EFL build bots.

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-09

  • platform/efl-wk1/TestExpectations:
  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
3:57 AM Changeset in webkit [127981] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

[EFL] Fix build break when MEDIA_STREAM is enabled.
https://bugs.webkit.org/show_bug.cgi?id=96063

Unreviewed. Fix build break when MEDIA_STREAM is enabled.

  • CMakeLists.txt:
1:00 AM Changeset in webkit [127980] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Adding expectations for two crashing tests and two regressions.

  • platform/gtk/TestExpectations:
12:47 AM Changeset in webkit [127979] by abarth@webkit.org
  • 3 edits in trunk/Source/WebCore

[V8] convertEventTargetToV8Object doesn't need to be overloaded
https://bugs.webkit.org/show_bug.cgi?id=96195

Reviewed by Kentaro Hara.

WTF::getPtr solves this problem for us.

  • bindings/scripts/CodeGeneratorV8.pm:

(NativeToJSValue):

  • bindings/v8/V8DOMWrapper.h:

(V8DOMWrapper):

12:39 AM Changeset in webkit [127978] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

[V8] V8PerContextData holds m_context using a v8::Handle rather than a v8::Persistent
https://bugs.webkit.org/show_bug.cgi?id=96193

Reviewed by Kentaro Hara.

There are two types of handles in V8: Local and Persistent. We are now
permitted to keep Local handles in the heap because they get
deallocated when the C++ stack unwinds and v8::HandleScope objects are
destructed.

V8PerContextData holds its m_context using the non-specific v8::Handle
type. If we used a Local handle here, we'd have a memory safety
problem. Thankfully, we use a Persistent handle, which need to be
allocated and freed manually.

This patch makes the type of V8PerContextData::m_context more specific
to ensure that we never try to store a local handle in this variable.
This patch should not have any behavior change because we were already
storing a Persistent handle.

  • bindings/v8/V8PerContextData.h:

(WebCore::V8PerContextData::create):
(WebCore::V8PerContextData::V8PerContextData):
(V8PerContextData):

12:27 AM Changeset in webkit [127977] by abarth@webkit.org
  • 4 edits in trunk/Source/WebCore

[V8] V8DOMWindowShell does not need to be RefCounted
https://bugs.webkit.org/show_bug.cgi?id=96192

Reviewed by Kentaro Hara.

V8DOMWindowShell holds a raw Frame pointer, which would point to
unallocated memory if any object that wasn't owned by the frame took a
reference to a V8DOMWindowShell. Thankfully, the only object that takes
a reference to the V8DOMWindowShell is ScriptController, which is owned
by the Frame.

This patch stops V8DOMWindowShell from being RefCounted so that no
other objects are tempted to take a reference to it in the future.

  • bindings/v8/ScriptController.h:

(ScriptController):

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::create):

  • bindings/v8/V8DOMWindowShell.h:

(V8DOMWindowShell):

Note: See TracTimeline for information about the timeline view.