[CMake] Add notifications path to the WebKit2/CMakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=95843

Patch by Kihong Kwon <kihong.kwon@samsung.com> on 2012-09-06
Reviewed by Laszlo Gombos.

Add WebCore/Modules/Notifications to the WebKit2_INCLUDE_DIRECTORIES of WebKit2/CMakeLists.txt.
There are some build errors when ENABLE_NOTIFICATIONS feature is enabled.

* CMakeLists.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127731 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove String::operator+=() from windows platform code
https://bugs.webkit.org/show_bug.cgi?id=95904

Reviewed by Benjamin Poulain.

Use StringBuilder and operator+() to concatenate strings instead of operator+=().

Source/WebCore:

* platform/win/ClipboardWin.cpp:
(WebCore::filesystemPathFromUrlOrTitle):

Source/WebKit/win:

* AccessibleBase.cpp:
(AccessibleBase::get_accKeyboardShortcut):
* WebDownload.cpp:
(WebDownload::bundlePathForTargetPath):
* WebView.cpp:
(imeCompositionArgumentNames):

Source/WebKit2:

* UIProcess/win/WebView.cpp:
(WebKit::imeCompositionArgumentNames):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127732 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Provide implementation for WebPage::performDefaultBehaviorForKeyEvent()
https://bugs.webkit.org/show_bug.cgi?id=95943

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

Source/WebKit2:

Provide implementation for WebPage::performDefaultBehaviorForKeyEvent()
in EFL WK2.

* WebProcess/WebPage/efl/WebPageEfl.cpp:
(WebKit::WebPage::performDefaultBehaviorForKeyEvent):

LayoutTests:

Unskip several test cases that are passing now that EFL WK2
has a proper implementation for
WebPage::performDefaultBehaviorForKeyEvent().

* platform/efl-wk2/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127733 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[nrwt] Harden against empty stdout/stderr after stopping a crashed/timed out driver
https://bugs.webkit.org/show_bug.cgi?id=95710

Reviewed by Dirk Pranke.

The stdout / stderr output can be None so make sure
we won't raise an exception in this case.

* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.run_test):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127734 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Update TestExpectations for fast/events/tab-focus-link-in-canvas.html
https://bugs.webkit.org/show_bug.cgi?id=95970

Unreviewed EFL gardening.

Update WK2-EFL TestExpectations to add bug number for:
fast/events/tab-focus-link-in-canvas.html

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-06

* platform/efl-wk2/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127735 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Always log shader compilation failure
https://bugs.webkit.org/show_bug.cgi?id=95948

Reviewed by George Staikos.

Also add shader source to the logs. In addition, don't bail on the
first failure, run through all shaders so we get a complete set of
logs.

No new tests: no change in functionality.

* platform/graphics/blackberry/LayerRenderer.cpp:
(WebCore::LayerRenderer::loadShader):
(WebCore::LayerRenderer::initializeSharedGLObjects):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127736 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CSS 3 'overflow-wrap' property implementation
https://bugs.webkit.org/show_bug.cgi?id=94475

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-09-06
Reviewed by Ojan Vafai.

Source/WebCore:

Added 'overflow-wrap' property implementation according to
http://www.w3.org/TR/2012/WD-css3-text-20120814/#overflow-wrap.
The specification declares that 'word-wrap' as a shorthand
for the 'overflow-wrap' property. So what was basically done
is declaring of new 'overflow-wrap' property and renaming
of the internal data structures from 'WordWrap' to 'OverflowWrap'.
Both 'overflow-wrap' and 'word-wrap' properties share the same
handlers and thus have the same behaviour.

Test: fast/text/overflow-wrap.html

* WebCore.order: Rename exported setWordWrap to setOverflowWrap.
* css/CSSComputedStyleDeclaration.cpp:  Add CSSPropertyOverflowWrap to computedProperties.
(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp: Validation for the 'overflow-wrap' property.
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EOverflowWrap):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty): CSSPropertyOverflowWrap is inherited.
* css/CSSPropertyNames.in: Declare new 'overflow-wrap' property.
* css/StyleBuilder.cpp: Assign property handler (same as for 'word-wrap').
(WebCore::StyleBuilder::StyleBuilder):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList): Renaming.
* rendering/RenderTextControl.cpp: Ditto.
(WebCore::RenderTextControl::computeLogicalHeight):
* rendering/RenderTextControlSingleLine.cpp: Ditto.
(WebCore::RenderTextControlSingleLine::createInnerTextStyle):
* rendering/style/RenderStyle.cpp: Ditto.
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h: Ditto.
* rendering/style/RenderStyleConstants.h: Ditto.
* rendering/style/StyleRareInheritedData.cpp: Ditto.
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h: Ditto.
(StyleRareInheritedData):

LayoutTests:

Added 'overflow-wrap' property implementation according to
http://www.w3.org/TR/2012/WD-css3-text-20120814/#overflow-wrap.
New ref-test is added to check the simularity
in behaviour of 'overflow-wrap' and 'word-wrap' properties.

* fast/text/overflow-wrap-expected.html: Added.
* fast/text/overflow-wrap.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127737 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: NMI: switch to hierarchical identifiers of MemoryBlockTypes and use these identifiers in protocol.
https://bugs.webkit.org/show_bug.cgi?id=95957

Reviewed by Yury Semikhatsky.

Source/WebCore:

Now when we use string identifiers as MemoryObjectType we can use them as the identifiers for the protocol
instead of MemoryBlockNames hardcoded in InspectorMemoryAgent..
At a later stage, when each type of memory will be counted in MemoryInstrumentation
we will build the blocks hierarchy for the front-end automatically.

* dom/MemoryInstrumentation.cpp:
(WebCore):
* dom/MemoryInstrumentation.h:
(GenericMemoryTypes):
(WebCore::MemoryInstrumentation::addRootObject):
(WebCore::MemoryObjectInfo::reportObjectInfo):
(WebCoreMemoryTypes):
* inspector/InspectorMemoryAgent.cpp:
(MemoryBlockName):
(WebCore):
* inspector/MemoryInstrumentationImpl.cpp:
(WebCore::MemoryInstrumentationImpl::countObjectSize):
* inspector/front-end/NativeMemorySnapshotView.js:
(WebInspector.MemoryBlockViewProperties._initialize):
* loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::reportMemoryUsage):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::reportMemoryUsage):
* loader/cache/CachedResourceHandle.cpp:
(WebCore::CachedResourceHandleBase::reportMemoryUsage):
* platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::reportMemoryUsage):

Source/WebKit/chromium:

Now when we use string identifiers as MemoryObjectType we can use them as the identifiers for the protocol
instead of MemoryBlockNames hardcoded in InspectorMemoryAgent..
At a later stage, when each memory type is counted in MemoryInstrumentation
we will build the blocks hierarchy for the front-end automatically.

* tests/MemoryInstrumentationTest.cpp:
(WebCore::InstrumentedUndefined::InstrumentedUndefined):
(WebCore::InstrumentedUndefined::reportMemoryUsage):
(WebCore::InstrumentedDOM::InstrumentedDOM):
(WebCore::InstrumentedDOM::reportMemoryUsage):
(InstrumentedDOM):
(WebCore::TEST):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127738 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WKTR] addSelectionKey should be mapped to "Control" modifiers on other OSes than Mac
https://bugs.webkit.org/show_bug.cgi?id=95973

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

Tools:

Correctly map "addSelectionKey" to "Control" modifier
in WKTR's EventSender on other OSes than Mac OS X,
instead of mapping it to the "Meta" modifier.

* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::parseModifier):

LayoutTests:

Unskip several test cases that are passing on WebKit2
now that "addSelectionKey" is properly mapped to
"Control" modifier on other OSes than Mac OS X, in
WKTR's EventSender.

* platform/efl-wk2/TestExpectations:
* platform/gtk-wk2/Skipped:
* platform/win-wk2/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127739 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Remove unnecessary logic in ewk_frame_source_get.
https://bugs.webkit.org/show_bug.cgi?id=95828

Patch by Kangil Han <kangil.han@samsung.com> on 2012-09-06
Reviewed by Kenneth Rohde Christiansen.

Removed unnecessary logic that checks if <html> tag exists in document.
WebKit automatically fill out <html></html> tags if they are not existed.

* ewk/ewk_frame.cpp:
(ewk_frame_source_get):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127740 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed Web Inspector: test fix.

* tests/MemoryInstrumentationTest.cpp:
(StringOwnerInstrumented):
(WebCore::StringOwnerInstrumented::StringOwnerInstrumented):
(WebCore::StringOwnerInstrumented::reportMemoryUsage):
(WebCore):
(WebCore::TEST):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127741 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Fix build on Mac OS X 10.6
https://bugs.webkit.org/show_bug.cgi?id=95200

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

The build on Mac OS X 10.6 is broken when using QuickTime. Enable it only for
10.7 and newer.

* qmake/mkspecs/features/features.prf:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127742 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed rebaseline for Web Inspector NMI test. It was broken at r127738.

* inspector/profiler/memory-instrumentation-cached-images-expected.txt:
* inspector/profiler/memory-instrumentation-cached-images.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Gardening after r127728, r127534
https://bugs.webkit.org/show_bug.cgi?id=95975

Unreviewed gardening.

Following tests were added to TestExpectations:
http/tests/xmlhttprequest/basic-auth.html fails after r127728.
fast/innerHTML/innerHTML-iframe.html fails after r127534.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-09-06

* platform/efl/fast/innerHTML/innerHTML-iframe-expected.txt: Removed.
* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127744 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] Crash in WebPageProxy::showPopupMenu if PageClient does not implement createPopupMenuProxy
https://bugs.webkit.org/show_bug.cgi?id=95862

Reviewed by Simon Hausmann.

Bail out early if the PageClient does not create a PopupMenuProxy for us.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::showPopupMenu):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127745 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Timeline: cache "filteredRecords" for better scrolling performance.
https://bugs.webkit.org/show_bug.cgi?id=95731

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-09-06
Reviewed by Yury Semikhatsky.

Now scrolling is sluggish on large datasets.
Performance degrades, because each refresh causes DFS on all recorded items.
Solution: caching/invalidation of DFS (filtering) results.

Also fixed "truncate selected record range on mode change" glitch.

* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype._scheduleRefresh):
Add flag for cache invalidation.
* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.prototype.invalidateFilteredRecords):
Added.
(WebInspector.TimelinePresentationModel.prototype.filteredRecords):
Caching/using cached results.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127746 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[ANGLE] Fix the build with gcc 4.7
https://bugs.webkit.org/show_bug.cgi?id=95989

Reviewed by Csaba Osztrogonác.

The build fails because of a bogus warning about the auto-generated
pplval variable. Unfortunately the warning is called -Wuninitialized
in gcc 4.6 and -Wmaybe-uninitialized in gcc 4.7 thus we also need to
ignore unknown pragmas not to break the build with compilers that do
not recognize these options.

* src/compiler/preprocessor/new/ExpressionParser.y:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use native function bind in page popups
https://bugs.webkit.org/show_bug.cgi?id=95976

Reviewed by Kent Tamura.

We should be using Function.prototype.bind instead of our own bind implementation.

No new tests. No behavior change.

* Resources/pagepopups/calendarPicker.js:
(CalendarPicker):
(CalendarPicker.prototype._layoutButtons):
(YearMonthController.prototype.attachTo):
(YearMonthController.prototype._attachLeftButtonsTo):
(YearMonthController.prototype._attachRightButtonsTo):
(DaysTable.prototype.attachTo):
* Resources/pagepopups/colorSuggestionPicker.js:
(ColorPicker):
(ColorPicker.prototype._layout):
* Resources/pagepopups/pickerCommon.js:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127748 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Add API to get/set the security policy of a given URI scheme
https://bugs.webkit.org/show_bug.cgi?id=95549

Reviewed by Martin Robinson.

Add WebKitSecurityPolicy enum with flags that represent the
security policy of a URI scheme. Add methods to get and set the
security policy flags for a given URI scheme.

* docs/webkitgtk-sections.txt: Add new symbols.
* tests/testglobals.c:
(test_globals_security_policy):
(main):
* webkit/webkitglobals.cpp:
(webkit_set_security_policy_for_uri_scheme):
(webkit_get_security_policy_for_uri_scheme):
* webkit/webkitglobals.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] [WK2] Crash when navigating between pages
https://bugs.webkit.org/show_bug.cgi?id=95949

Reviewed by Martin Robinson.

Do not trust isMainResource parameter in
webkitWebViewResourceLoadStarted(), because it's always true for
all subresources of pages loaded from the history cache. We can
simply assume that the first resource loaded for the main frame
is the main web view resource.

* UIProcess/API/gtk/WebKitResourceLoadClient.cpp:
(didInitiateLoadForResource):
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewResourceLoadStarted):
* UIProcess/API/gtk/WebKitWebViewPrivate.h:

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