[WK2] Remove incorrect use of preprocessor macro in API headers.
https://bugs.webkit.org/show_bug.cgi?id=100722

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

Remove the preprocessor macro ENABLE(INSPECTOR) from the WKAPICast.h
and WKInspector.h.

* UIProcess/API/C/WKAPICast.h:
(WebKit):
* UIProcess/API/C/WKInspector.cpp:
(WKInspectorGetTypeID):
(WKInspectorGetPage):
(WKInspectorIsVisible):
(WKInspectorIsFront):
(WKInspectorShow):
(WKInspectorClose):
(WKInspectorShowConsole):
(WKInspectorShowResources):
(WKInspectorShowMainResourceForFrame):
(WKInspectorIsAttached):
(WKInspectorAttach):
(WKInspectorDetach):
(WKInspectorIsDebuggingJavaScript):
(WKInspectorToggleJavaScriptDebugging):
(WKInspectorIsProfilingJavaScript):
(WKInspectorToggleJavaScriptProfiling):
(WKInspectorIsProfilingPage):
(WKInspectorTogglePageProfiling):
* UIProcess/API/C/WKInspector.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Add a configure option to build with -g1
https://bugs.webkit.org/show_bug.cgi?id=100670

Reviewed by Martin Robinson.

Add min and full options to the --enable-debug-symbols configure
option. Using --enable-debug-symbols=min will use -g1 instead of
-g (which is actually -g2). The first level is enough for most of
the cases, like getting a backtrace, and it's the only way to
build WebKit with debug symbols in a 32 bit system. The option
full is actually the same than yes for backwards compatibility.

* configure.ac:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a test for reading exif orientation off image documents
https://bugs.webkit.org/show_bug.cgi?id=100698

Reviewed by Eric Seidel.

fast/images/exif-orientation.html tests <img> elements, but image documents were untested previously.

* fast/images/exif-orientation-image-document.html: Added.
* platform/chromium/TestExpectations:
* platform/chromium/fast/images/exif-orientation-image-document-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add files generated by Windows to ignore list for git repository
https://bugs.webkit.org/show_bug.cgi?id=100729

Patch by Vivek Galatage <vivekgalatage@gmail.com> on 2012-10-30
Reviewed by Gyuyoung Kim.

Adding the additional files generated by windows port to the ignore list

* .gitignore:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132878 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Simplify getting impl from ewk_view evas object instance
https://bugs.webkit.org/show_bug.cgi?id=100505

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

Macros are removed from EwkViewImpl.h. New macro added to EwkViewImpl.cpp
so that it's possible to get impl directly from ewk view.

* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::displayTimerFired):
* UIProcess/API/efl/EwkViewImpl.h:
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_focus_in):
(_ewk_view_smart_focus_out):
(mapToWebContent):
(_ewk_view_smart_mouse_wheel):
(_ewk_view_smart_mouse_down):
(_ewk_view_smart_mouse_up):
(_ewk_view_smart_mouse_move):
(_ewk_view_smart_key_down):
(_ewk_view_smart_key_up):
(_ewk_view_on_show):
(_ewk_view_on_hide):
(_ewk_view_smart_calculate):
(_ewk_view_smart_color_set):
(ewk_view_context_get):
(ewk_view_url_set):
(ewk_view_url_get):
(ewk_view_icon_url_get):
(ewk_view_reload):
(ewk_view_reload_bypass_cache):
(ewk_view_stop):
(ewk_view_settings_get):
(ewk_view_title_get):
(ewk_view_load_progress_get):
(ewk_view_scale_set):
(ewk_view_scale_get):
(ewk_view_device_pixel_ratio_set):
(ewk_view_device_pixel_ratio_get):
(ewk_view_theme_set):
(ewk_view_theme_get):
(ewk_view_back):
(ewk_view_forward):
(ewk_view_intent_deliver):
(ewk_view_back_possible):
(ewk_view_forward_possible):
(ewk_view_back_forward_list_get):
(ewk_view_html_string_load):
(ewk_view_setting_encoding_custom_get):
(ewk_view_setting_encoding_custom_set):
(ewk_view_text_find):
(ewk_view_text_find_highlight_clear):
(ewk_view_text_matches_count):
(ewk_view_mouse_events_enabled_set):
(ewk_view_mouse_events_enabled_get):
(ewk_view_feed_touch_event):
(ewk_view_touch_events_enabled_set):
(ewk_view_touch_events_enabled_get):
(ewk_view_inspector_show):
(ewk_view_inspector_close):
(ewk_view_pagination_mode_set):
(ewk_view_pagination_mode_get):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132879 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Let Ecore_Evas own the cursor object
https://bugs.webkit.org/show_bug.cgi?id=100731

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-30
Reviewed by Kenneth Rohde Christiansen.

Ecore_Evas takes care of calling evas_object_del() on
the cursor object when it is no longer used (e.g. when
it is replaced by another cursor object). Therefore,
we don't need to keep a RefPtr to the cursor Evas
Object as a data member of EwkViewImpl. We pass
ownership of the cursor object to Ecore_Evas.

* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::setCursor):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132880 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Refactor tooltip callback signal in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=100571

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

Separate tooltip callback signal into 'tooltip,text,set'
and 'tooltip,text,unset' to be consistent with WebKit2.

Source/WebKit/efl:

* ewk/ewk_view.cpp:
(ewk_view_tooltip_text_set):
* ewk/ewk_view.h:

Tools:

* EWebLauncher/main.c:
(on_tooltip_text_set):
(on_tooltip_text_unset):
(browserCreate):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Unskip sputnik flaky tests.
https://bugs.webkit.org/show_bug.cgi?id=100732

Unreviewed, EFL gardening.

These tests are always passing now.

sputnik/Conformance/07_Lexical_Conventions/7.4_Comments/S7.4_A5.html
sputnik/Conformance/07_Lexical_Conventions/7.4_Comments/S7.4_A6.html
sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.1_T2.html
sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.4_T2.html
sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.1_T2.html
sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.4_T2.html

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-10-30

* platform/efl-wk2/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132882 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Coordinated Graphics: Unrelease adopted images
https://bugs.webkit.org/show_bug.cgi?id=100671

Reviewed by Kenneth Rohde Christiansen.

Reloading could cause a crash since r132640 where the directly composited
image would be re-adopted with the same key before it was properly released
in the UI process.
Cancel the release when this happens rather than creating a new image.

* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::adoptImageBackingStore):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Memory instrumentation: report actual object address for CachedResourceClients
https://bugs.webkit.org/show_bug.cgi?id=100659

Reviewed by Alexander Pavlov.

Skipped pointers to objects that are not allocated on the heap directly.

To test this we need to compare addresses of objects traversed by the memory
insrumentation with those allocated by the memory allocator. The latter set
should include the former one.

* css/StyleResolver.cpp:
(WTF): skip pointers to RuleData structures as they are stored by value in RuleSet
objects and should not be reported separately.
* loader/cache/CachedResource.cpp:
(WTF): do not report memory occupied by CachedResourceClients as objects implementing
the interface may have address which differ from CachedResourceClient*. The clients
should be reachable from their instrumented owners where we know exact type of the
clients and hence can figure correct address.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132884 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][DRT] Bitmap should show whole view area.
https://bugs.webkit.org/show_bug.cgi?id=100642

Patch by Kangil Han <kangil.han@samsung.com> on 2012-10-30
Reviewed by Gyuyoung Kim.

Tools:

css sticky position test cases haven't been passed even though implementation has been landed by BUG 95182.
This is because current create bitmap implementation refers to geometry position that considers scroll movement even though
paint does it. Therefore, this patch always reflects current view size and remove duplicated graphic operation to dump correct bitmap image.

* DumpRenderTree/efl/PixelDumpSupportEfl.cpp:
(createBitmapContextFromWebView):

LayoutTests:

Unskip css sticky position as well as scroll and fixed position related test cases.

* platform/efl-wk1/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
3d rotation with [0, 0, 0] direction vector should not be applied
https://bugs.webkit.org/show_bug.cgi?id=100733

Patch by Zoltan Nyul <zoltan.nyul@intel.com> on 2012-10-30
Reviewed by Levi Weintraub.

Source/WebCore:

As stated in the specification (http://dev.w3.org/csswg/css3-3d-transforms/#transform-functions),
a direction vector that cannot be normalized, such as [0, 0, 0], will cause the rotation to not be applied,
but webkit applies it with [1, 0, 0] direction vector.

Test: transforms/3d/general/3dtransform-values.html

* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::rotate3d):

LayoutTests:

Add test for 3d rotation with [0, 0, 0] direction vector.

* transforms/3d/general/3dtransform-values-expected.txt:
* transforms/3d/general/3dtransform-values.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Simplify signal emitting API in EwkViewImpl
https://bugs.webkit.org/show_bug.cgi?id=100506

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

Now signal emitting API in EwkViewImpl is simplified so that
there is one EwkViewImpl::smartCallback template method
returning EwkViewCallbacks::CallBack class instance
which encapsulates Ewk_view callback info and also provide
arguments type checking.

* UIProcess/API/efl/EwkViewCallbacks.h: Added.
(EwkViewCallbacks):
(CallBackInfo):
(EwkViewCallbacks::CallBackInfo::name):
(EwkViewCallbacks::CallBackInfo::hasArguments):
(CallBack):
(EwkViewCallbacks::CallBack::CallBack):
(EwkViewCallbacks::CallBack::call):
* UIProcess/API/efl/EwkViewImpl.cpp:
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
(EwkViewImpl::smartCallback):
* UIProcess/efl/DownloadManagerEfl.cpp:
(WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
(WebKit::DownloadManagerEfl::didFail):
(WebKit::DownloadManagerEfl::didCancel):
(WebKit::DownloadManagerEfl::didFinish):
* UIProcess/efl/FindClientEfl.cpp:
(WebKit::FindClientEfl::didFindString):
(WebKit::FindClientEfl::didFailToFindString):
* UIProcess/efl/FormClientEfl.cpp:
(WebKit::FormClientEfl::willSubmitForm):
* UIProcess/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::processDidCrash):
(WebKit::PageClientImpl::toolTipChanged):
* UIProcess/efl/PageLoadClientEfl.cpp:
(WebKit::PageLoadClientEfl::didReceiveTitleForFrame):
(WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
(WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
(WebKit::PageLoadClientEfl::didChangeProgress):
(WebKit::PageLoadClientEfl::didFinishLoadForFrame):
(WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
(WebKit::PageLoadClientEfl::didStartProvisionalLoadForFrame):
(WebKit::PageLoadClientEfl::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
(WebKit::PageLoadClientEfl::didCommitLoadForFrame):
(WebKit::PageLoadClientEfl::didChangeBackForwardList):
* UIProcess/efl/PagePolicyClientEfl.cpp:
(WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
(WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
* UIProcess/efl/ResourceLoadClientEfl.cpp:
(WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
(WebKit::ResourceLoadClientEfl::didSendRequestForResource):
(WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
(WebKit::ResourceLoadClientEfl::didFinishLoadForResource):
(WebKit::ResourceLoadClientEfl::didFailLoadForResource):
(WebKit::ResourceLoadClientEfl::ResourceLoadClientEfl):
(WebKit::ResourceLoadClientEfl::~ResourceLoadClientEfl):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132887 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Implement native memory snapshot grid view
https://bugs.webkit.org/show_bug.cgi?id=100656

Native memory snapshots are now shown as an expandable tree form
using the grid control.

Patch by Alexei Filippov <alph@chromium.org> on 2012-10-30
Reviewed by Yury Semikhatsky.

* inspector/front-end/NativeMemorySnapshotView.js:
(WebInspector.NativeMemorySnapshotView):
(WebInspector.NativeSnapshotDataGrid):
(WebInspector.NativeSnapshotNode):
(WebInspector.NativeSnapshotNode.prototype.createCell):
(WebInspector.NativeSnapshotNode.prototype._createSizeCell):
(WebInspector.NativeSnapshotNode.prototype._populate):
(WebInspector.MemoryBlockViewProperties._initialize):
(WebInspector.MemoryBlockViewProperties._forMemoryBlock):
* inspector/front-end/dataGrid.css:
(.data-grid td):
* inspector/front-end/nativeMemoryProfiler.css:
(.memory-bar-chart-bar):
(.native-snapshot-view):
(.native-snapshot-view.visible):
(.native-snapshot-view .data-grid):
(.native-snapshot-view .data-grid table):
(.native-snapshot-view .data-grid div.size-text):
(.native-snapshot-view .data-grid div.size-bar):
(.native-snapshot-view .data-grid div.percent-text):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132888 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shaders] Software and composited filters should have a common path
https://bugs.webkit.org/show_bug.cgi?id=100532

Reviewed by Dean Jackson.

Added computeFilterOperations as a common method between the software filters
and hardware composited ones. The method rejects custom filters that are not
loaded yet. In bug 100533 it will also convert the CustomFilterOperation to a
ValidatedCustomFilterOperation. That will help us keep the loading and verification
code for the custom filters common across all the ports.

No new tests, just refactoring existing code.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::computeFilterOperations):
(WebCore):
(WebCore::RenderLayer::updateOrRemoveFilterEffect):
* rendering/RenderLayer.h:
(WebCore):
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateFilters):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132889 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Optimize vclip for NEON in VectorMath
https://bugs.webkit.org/show_bug.cgi?id=100737

Reviewed by Zoltan Herczeg.

Speed up vclip in VectorMath with NEON intrinsics.

* platform/audio/VectorMath.cpp:
(WebCore::VectorMath::vclip):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132890 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt][Mac] Unreviewed build fix.
https://bugs.webkit.org/show_bug.cgi?id=100727.

Speculative build fix after 132858. Include missing CoreFoundation/CoreFoundation.h header.

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-10-30

* platform/text/cf/AtomicStringCF.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132891 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shaders] Change the default compositing mode and the default CSS value for <fragmentShader>
https://bugs.webkit.org/show_bug.cgi?id=94020

Reviewed by Dean Jackson.

Source/WebCore:

The default compositing mode has been changed from "normal source-over" to
"normal source-atop". This applies to the default fragment shader that will
kick in when there is no explicit fragment shader or mix function defined.

This has required to update all the existing tests; the dummy empty fragment
shader has also been removed because not needed.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::valueForFilter): An existence check
for the fragment shader has been added.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::createCustomFilterOperation): The default program
has been updated: PROGRAM_TYPE_BLENDS_TEXTURE (compositing enabled) now is
the default.
* platform/graphics/filters/CustomFilterProgramInfo.h:
(WebCore::CustomFilterProgramMixSettings::CustomFilterProgramMixSettings):
New CustomFilterProgramMixSettings defaults to "source-atop" composite
operator.

LayoutTests:

Existing tests have been modified to update them to the new default
compositing values (normal source-atop).

Also, the dummy empty shader has been removed: not needed.

* css3/filters/custom/custom-filter-property-computed-style-expected.txt:
* css3/filters/custom/custom-filter-shader-cache.html:
* css3/filters/custom/effect-custom-transform-parameters.html:
* css3/filters/custom/effect-custom.html:
* css3/filters/custom/filter-fallback-to-software.html:
* css3/filters/resources/empty-shader.fs: Removed.
* css3/filters/script-tests/custom-filter-property-computed-style.js:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix WTF to not install a few header files in bogus locations.

* WTF.xcodeproj/project.pbxproj:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Timeline: promote "cpu activity" out of experiment
https://bugs.webkit.org/show_bug.cgi?id=100726

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-10-30
Reviewed by Pavel Feldman.

1. CPU actibity bars redesigned
2. Experiment setting removed
3. Feature setting added

* English.lproj/localizedStrings.js: Updated setting label.
* inspector/front-end/Settings.js: Replaced experiment with setting.
* inspector/front-end/SettingsScreen.js: Added new setting.
* inspector/front-end/TimelinePanel.js: Update cpu bars appearance.
* inspector/front-end/timelinePanel.css: Ditto.

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