Unreviewed gardening. Marking the deferred version of
fast/images/zoomed-offset-size.html as slow.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139748 268f45cc-cd09-0410-ab3c-d52691b4dbfc
RenderView does not need to override computePreferredLogicalWidth
https://bugs.webkit.org/show_bug.cgi?id=106852

Reviewed by Levi Weintraub.

Calling minPreferredLogicalWidth calls computePreferredLogicalWidth,
which happens a few lines later in layoutWithFlattening. No need
to call it explicitly.

* rendering/RenderFrameBase.cpp:
(WebCore::RenderFrameBase::layoutWithFlattening):
* rendering/RenderView.cpp:
* rendering/RenderView.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Allow tiled WKViews to have transparent backgrounds
https://bugs.webkit.org/show_bug.cgi?id=106400

Source/WebCore:

Reviewed by Anders Carlsson.

When WKViews were set to have transparent backgrounds, they still
obscured content behind the view, for several reasons.

First, when in tiled scrolling mode, WKView set the background
of its layer to opaque white. Fix by using the clearColor (effectively
removing the background color) if the view has a non-opaque background.

Second, RenderLayerBacking just looked at FrameViews's isTransparent()
when deciding to make TileCache tiles non-opaque, but it also needs to
consider FrameViews with a non-opaque base background color. The
same logic was necessary to avoid setting an opaque white background
color on the TileCache layer.

Finally, for views with non-opaque backgrounds, we don't want to display
linen, so RenderLayerCompositor::requiresOverhangAreasLayer() was changed
to return false in that case.

View transparency is not testable in layout tests.

* page/FrameView.cpp:
(WebCore::FrameView::hasOpaqueBackground):
* page/FrameView.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateBackgroundColor):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):

Source/WebKit2:

Reviewed by Anders Carlsson.

When WKViews were set to have transparent backgrounds, they still
obscured content behind the view, for several reasons.

First, when in tiled scrolling mode, WKView set the background
of its layer to opaque white. Fix by using the clearColor (effectively
removing the background color) if the view has a non-opaque background.

Second, RenderLayerBacking just looked at FrameViews's isTransparent()
when deciding to make TileCache tiles non-opaque, but it also needs to
consider FrameViews with a non-opaque base background color. The
same logic was necessary to avoid setting an opaque white background
color on the TileCache layer.

Finally, for views with non-opaque backgrounds, we don't want to display
linen, so RenderLayerCompositor::requiresOverhangAreasLayer() was changed
to return false in that case.

* UIProcess/API/mac/WKView.mm:
(-[WKView updateLayer]):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139750 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move parent pointer from TreeShared to subclass
https://bugs.webkit.org/show_bug.cgi?id=106910

Reviewed by Darin Adler.

This simplifies both TreeShared and clients, and makes code dealing with parents more understandable in general.

* dom/Document.h:
(WebCore::Node::Node):
* dom/Node.cpp:
(WebCore::Node::reportMemoryUsage):
* dom/Node.h:
    
    Add m_parentOrHostNode variable (matching the accessor names).

(Node):
(WebCore::Node::hasTreeSharedParent):
(WebCore::Node::parentNode):
(WebCore::Node::setParentOrHostNode):
(WebCore::Node::parentOrHostNode):
* platform/TreeShared.h:
(WebCore):
(WebCore::TreeShared::TreeShared):
(WebCore::TreeShared::deref):
        
    Call subclass hasTreeSharedParent() to figure out if it is time to delete.

(TreeShared):

    Remove parent pointer and accessors.
    Remove ParentNodeType template parameter.
    Remove now unnecessay reportMemoryUsage().

(WebCore::adopted):
* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::SVGElementInstance):
* svg/SVGElementInstance.h:
        
    Add m_parentInstance variable.

(WebCore::SVGElementInstance::setParentOrHostNode):
(WebCore::SVGElementInstance::parentNode):
(SVGElementInstance):
(WebCore::SVGElementInstance::hasTreeSharedParent):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139751 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=106855
https://bugs.webkit.org/show_bug.cgi?id=106855

Reviewed by Levi Weintraub.
        
Speed up zoomed-offset-size.html test and remove SLOW modifier
from TestExpectations.

* fast/images/zoomed-offset-size-expected.txt:
* fast/images/zoomed-offset-size.html:
* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Fix build after r139665
https://bugs.webkit.org/show_bug.cgi?id=106917

Patch by Michael Pruett <michael@68k.org> on 2013-01-15
Reviewed by Dean Jackson.

* GNUmakefile.list.am:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139755 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Microdata: propertiesCollection[name] should return undefined if item doesn't have a property named 'name'
https://bugs.webkit.org/show_bug.cgi?id=106849

Reviewed by Kentaro Hara.

Source/WebCore:

We should return undefined if hasNamedItem() is false.

Test: fast/dom/MicroData/properties-collection-namedgetter-with-invalid-name.html

* bindings/v8/custom/V8HTMLCollectionCustom.cpp:
(WebCore::V8HTMLCollection::namedPropertyGetter):

LayoutTests:

* fast/dom/MicroData/properties-collection-namedgetter-with-invalid-name-expected.txt: Added.
* fast/dom/MicroData/properties-collection-namedgetter-with-invalid-name.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139756 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening.

Adding failure/crash/missing expectations for accessibility tests after
r139444, r139534 and r139663.
Adding platform-specific baselines for two scrolling coordinator tests that are
required after r139686.

* platform/gtk/TestExpectations:
* platform/gtk/scrollingcoordinator: Added.
* platform/gtk/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt: Added.
* platform/gtk/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139757 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ANGLE should build with -Wshorten-64-to-32
<http://webkit.org/b/106798>
<http://code.google.com/p/angleproject/issues/detail?id=396>

Reviewed by Kenneth Russell.

Most changes below are simply to document issues with #pragma
statements per request by upstream.  The change to osinclude.h
is the only bug fix, which defines OS_TLSIndex in terms of
pthread_key_t instead of unsigned int since pthread_key_t is a
64-bit value on 64-bit Mac OS X.

* Configurations/Base.xcconfig: Enable -Wshorten-64-to-32 by
setting GCC_WARN_64_TO_32_BIT_CONVERSION to YES.
* src/compiler/Intermediate.cpp:
(TIntermTraverser::hash): Add #pragmas for clang to ignore
-Wshorten-64-to-32 warning.
* src/compiler/MapLongVariableNames.cpp:
(LongNameMap::Size): Ditto.
* src/compiler/ShaderLang.cpp:
(getVariableInfo): Ditto.
(ShGetInfo): Ditto.
* src/compiler/ValidateLimitations.cpp:
(ValidateLimitations::validateFunctionCall): Ditto.
* src/compiler/glslang.l: Ditto.
* src/compiler/glslang_lex.cpp: Ditto.
* src/compiler/osinclude.h: Change type of OS_TLSIndex to
pthread_key_t.  Define OS_INVALID_TLS_INDEX by using
static_cast<OS_TLSIndex>(-1).
* src/compiler/preprocessor/Input.cpp:
(pp::Input::Input): Add #pragmas for clang to ignore
-Wshorten-64-to-32 warning.
* src/compiler/preprocessor/Tokenizer.cpp: Ditto.
* src/compiler/preprocessor/Tokenizer.l: Ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139758 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Manual zoom propagates to next page load
https://bugs.webkit.org/show_bug.cgi?id=106914

Patch by Jacky Jiang <zhajiang@rim.com>.
Reviewed by Yong Li.
Internally reviewed by Eli Fidler and Jakob Petsovits.

PR: 280481
During load committed, the web page scale was reset. However, UI thread
still kept the old scale in UserInterfaceViewportAccessor so that it
blitted the contents at the old scale although WebKit thread could
update the UI thread scale later when finished the load.
We should update the scale of the UI thread right after we reset it in
WebKit thread to keep them in sync.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::resetScales):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139759 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make AtomicMarkupTokenBase use a bare UChar* for external characters
https://bugs.webkit.org/show_bug.cgi?id=106919

Reviewed by Eric Seidel.

This allows an arbitrary backing for external characters which is necessary for the threaded HTML parser.

No new tests because no new functionality.

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
(WebCore::HTMLTreeBuilder::processTokenInForeignContent):
* xml/parser/MarkupTokenBase.h:
(WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
(WebCore::AtomicMarkupTokenBase::characters):
(AtomicMarkupTokenBase):
(WebCore::AtomicMarkupTokenBase::charactersLength):
(WebCore::AtomicMarkupTokenBase::clearExternalCharacters):
* xml/parser/XMLTreeBuilder.cpp:
(WebCore::XMLTreeBuilder::processCharacter):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139760 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Upstream iOS changes for ANGLE project
<http://webkit.org/b/106913>

Reviewed by Joseph Pecoraro.

* ANGLE.xcodeproj/project.pbxproj:
- Use $(INSTALL_PATH_PREFIX) with CopyFiles build phase paths.
- Add iOS.xcconfig to project.
* Configurations/ANGLE.xcconfig:
- Use INSTALL_PATH_ACTUAL instead of INSTALL_PATH.  (See below.)
- Use $(INSTALL_PATH_PREFIX) with PUBLIC_HEADERS_FOLDER_PATH.
* Configurations/Base.xcconfig:
- Include iOS.xcconfig.
- Add per-platform values for GCC_ENABLE_OBJC_GC and
  GCC_MODEL_TUNING.
- Define INSTALL_PATH when building for macosx SDK.
* Configurations/iOS.xcconfig: Add.  Note that missing include
files are simply ignored without an error by Xcode.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139761 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unprefixed transitionend event doesn't seem to be implemented, which breaks many sites
https://bugs.webkit.org/show_bug.cgi?id=105647

Reviewed by Julien Chaffraix.

Source/WebCore:

Add support for transitionend event delivery as part as the unprefixing
work on CSS Transitions. This patch adds some code in EventTarget to
figure out if the current event to dispatch has a prefixed version or
not. Then from the list of listeners we deduce which event should be delivered
(prefixed or unprefixed).

In the case of the CSS Transitions, WebKit will now behave as follow :
if an event listener is attached to the prefixed version of the
transition end event then only the prefixed event will be send.
If an event listener is attached to the unprefixed version
of the transition end event then only the unprefixed event will be
send. If there are event listeners on both unprefixed and prefixed
events then only the unprefixed event will be send.

The behavior was discussed here :
http://lists.webkit.org/pipermail/webkit-dev/2013-January/023301.html.

Tests: transitions/transition-end-event-unprefixed-01.html
       transitions/transition-end-event-unprefixed-02.html

* dom/Document.cpp:
(WebCore::Document::addListenerTypeIfNeeded): Register the prefixed
listener too as transitionend listeners so that we properly dispatch
events for them.
* dom/EventNames.h:
(WebCore): Add the new transitionend name.
* dom/EventTarget.cpp:
(WebCore::createMatchingPrefixedEvent):
(WebCore::prefixedType):
(WebCore::EventTarget::fireEventListeners): Find out if somebody is
listening for unprefixed events, if so we always send the unprefixed
event, if not then we create a prefixed event and send it.
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::sendTransitionEvent): Always create by
default unprefixed events.

LayoutTests:

Cover that event delivery is correct : we received unprefixed events.

* transitions/transition-end-event-helpers.js:
(recordTransitionEndEvent):
* transitions/transition-end-event-unprefixed-01-expected.txt: Added.
* transitions/transition-end-event-unprefixed-01.html: Added.
* transitions/transition-end-event-unprefixed-02-expected.txt: Added.
* transitions/transition-end-event-unprefixed-02.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening.

Remove a few failure expectations for tests that now pass.

* platform/gtk/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139763 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Unreviewed, fix a bug where we don't properly shutdown lighttpd.

* Scripts/webkitpy/layout_tests/servers/http_server.py:
(Lighttpd._check_and_kill): Pass /pid so taskkill.exe doesn't error out on us.
* Scripts/webkitpy/layout_tests/servers/http_server_unittest.py:
(TestHttpServer.test_win32_start_and_stop):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Autotools] Unify JavaScriptCore sources list, regardless of target OS
https://bugs.webkit.org/show_bug.cgi?id=106007

Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-01-15
Reviewed by Gustavo Noronha Silva.

Include the Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp target
in the general sources list as it is guarded by the ENABLE_EXECUTABLE_ALLOCATOR_FIXED
feature define. This define is only used on 64-bit architecture and indirectly depends
on enabling either JIT or YARR JIT feature. Both of these defines are disabled on
Windows OS when using 64-bit architecture so there's no need to add this target to
sources only when the target OS is Windows.

* GNUmakefile.list.am:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139765 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Stop passing the unstable features flag to configure script when using build-webkit
https://bugs.webkit.org/show_bug.cgi?id=106579

Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-01-15
Reviewed by Gustavo Noronha Silva.

The --enable-unstable-features flag is not required to be passed anymore
to the configure script as it was removed in r138252.

* Scripts/webkitdirs.pm:
(buildAutotoolsProject):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139766 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Enable CSS Image Resolution feature
https://bugs.webkit.org/show_bug.cgi?id=99038

Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-01-15
Reviewed by Gustavo Noronha Silva.

Tools: 

Enable the CSS Image Resolution feature for the development
builds of the GTK port.

* Scripts/webkitperl/FeatureList.pm:

LayoutTests: 

Remove the failure expectation for the fast/css/image-resolution directory,
the single layout test inside it now passes.

* platform/gtk/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139767 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Enable Performance Timeline, Resource Timing, Navigation Timing features
https://bugs.webkit.org/show_bug.cgi?id=106197

Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-01-15
Reviewed by Martin Robinson.

Source/WebCore: 

No new tests - existing layout tests are being unskipped, only a few fail
(but their failures are of cross-platform nature).

* GNUmakefile.features.am.in: Add feature defines for all three features.
They are disabled by default for now.
* GNUmakefile.list.am: Add missing build targets.
* bindings/gobject/GNUmakefile.am: Ditto.
* bindings/js/JSPerformanceEntryCustom.cpp: Added the necessary custom bindings.
Mimics the custom V8 bindings.
(WebCore):
(WebCore::toJS):

Tools: 

* Scripts/webkitperl/FeatureList.pm: Add the configuration options for all three
features. Enable them on GTK, meaning they will be enabled in development builds
(i.e. when building with build-webkit).

LayoutTests: 

Unskip related tests, add a few expectations for still-failing tests.

* platform/gtk/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139768 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Autotools] Add support for WebKit2-only builds
https://bugs.webkit.org/show_bug.cgi?id=106889

Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-01-15
Reviewed by Gustavo Noronha Silva.

.: 

* GNUmakefile.am: Only copy the WebKit1 documentation into the destination
directory if building WebKit1.
* configure.ac: Add a configuration option for disabling the WebKit1 build.
Only conditionally copy WebKit1-specific targets from the input files. Some
small style changes to the WebKit2 configuration flag included as well.

Source/WebKit/gtk: 

* GNUmakefile.am: Only build the WebKit1-specific targets if actually
building WebKit1. This puts the libwebkitgtk library, the pkg-config file
and the WebKit1-specific unit tests under the ENABLE_WEBKIT1 Automake
conditional.

Tools: 

* GNUmakefile.am: Only build the GtkLauncher and DumpRenderTree if building WebKit1.
* Scripts/build-webkit: Pass along the information on whether to build WebKit1 when
building the GTK port through build-webkit.
* Scripts/webkitdirs.pm:
(buildAutotoolsProject): Add the --disable-webkit1 configuration flag to the build
arguments when not building WebKit1.
(buildGtkProject): Pass along the information on whether to build WebKit1 when building
through the Autotools build system.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139769 268f45cc-cd09-0410-ab3c-d52691b4dbfc